[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: emacs-lynx



Hideyuki SHIRAI (白井秀行) <shirai@xxxxxxxxxxx> writes:

> From: jidanni@xxxxxxxxxxx said
> Subject: [emacs-w3m:10602] Re: emacs-lynx
> Message-ID: <87priq4os6.fsf@xxxxxxxxxxx>
> Date: Wed, 14 Jan 2009 10:14:33 +0800
>
>> Well for lazy me maybe waiting for the authors to give a way to
>> disable something (tables) might be shorter than waiting for a way to
>> enable something.
>
> I think up a crazy idea as the following code.
> But this is a very dirty method. Uum...

I think it is better to use only w3m-filter's feature, if this is for
*some* pages.

First, replace w3m-filter-replace-regexp() with this.

(defun w3m-filter-replace-regexp (url regexp to-string)
  "Replace all occurrences of REGEXP with TO-STRING."
  (goto-char (point-min))
  (while (re-search-forward regexp nil t)
    (replace-match 
         (if (functionp to-string)
	     (funcall to-string
		      (match-string 0))
	   to-string)
	 nil nil)))

;; I believe it would be convenient to apply this change in emacs-w3m
;; CVS.

Then one can put some codes like this in his/her ~/.emacs-w3m

(let ((urls '("http://www.ehponline.org/docs/2009/117-1/toc.html")))
  (setq w3m-filter-rules 
	(cons (list (apply 'regexp-opt urls)
		    'w3m-filter-replace-regexp 
		    "</?\\(table\\|tr\\)[ \t\r\f\n>]"
		    (lambda (x)
		      (let ((pos (if (eq (aref x 1) ?/) 2 1)))
			(concat (if (eq (aref x 2) ?r) "<br>" "")
				(substring x 0 pos)
				"NO_"
				(substring x pos)))))
	      w3m-filter-rules)))

Regards,

> 試してみると、確かに特定のブログとか読みやすくなりますね。

;; 上でも書きましたが一応

特定のブログで使うだけであって(かつ、 w3m-filter に依存してしまうのであれ
ば) w3m-filter だけで閉じたほうがいいような気がします。
 
> ここに付けた一時的な表示(M-t)ではなくて、"Cc" などと同じ扱いで
> "Cr" とかいうキーバインドでテーブルレンダリング抹消をできるよう
> にしてその URL を覚えておければ便利そうです。

確かにこうするといちいち手で URL を追加しなくてもよくなります。しかし、
w3m-filter は regexp も使えますし、どうしても one column でなければ我慢で
きないというサイトならきっと日常的に使うものでしょうから、手で追加するコ
ストもあまり問題にならないかなと思います。

;; 一時的に filter を適応する機能を追加する、という解もありかも?

--
青田