« Meadow + Wanderlust で、添付ファイルを一発で開く | メイン | Vine3.1 + postfix で SMTP AUTHする。 »

2005年02月09日

Wanderlust で rss を読む [ カテゴリ : memo - Wanderlust ]

Vine Linux な Wanderlust でうちのMovableType blog の rss を読むついでに flim を limit にする。

つまり、
・utf-8 対応
・limit 化(日本語添付ファイル名に強くする)
・shimbun フォルダとしての sb-rss.el の使用
ってことだ。

これによって Movable Type な blog を IMAP な MUA である Wanderlust で一緒に未読チェックとか閲覧とかしちゃえということだ。遅いんだけどさ。
かなりいい加減な記載なので、後で補足するかもしないかも。


1.(utf-8対応/古いw3m-el は sb-rss.el がないので入れ替え)
emacs/apel/flim/semi/wl/w3m-el が rpm (or apt) で入っているなら
# rpm --erase flim semi w3m-el wl
(emacs/apel は変えなくてよさげ)

emacs 入ってないなら、、、、 ~/.emacs の手配とか面倒だからパス(爆)

2.(utf-8対応)
Mule-UCS が入ってなかったら入れる。万が一 apel が入ってなければご一緒に。
# apt-get install Mule-UCS apel
main か plus か seed かなんて俺の知ったこっちゃない。
必要あれば /etc/apt/sources.list (だっけ?)を書き換える。

ちなみに ftp://ftp.m17n.org/pub/mule/Mule-UCS/ に tarball。

--ハマり報告--
el のほうが byte compiled file より新しいぞとか言われるのは二重で入っているからだろう。apt だと /usr/share/emacs/site-lisp/ 以下に入るが、/usr/share/emacs/20.7/以下に入る場合もある(たぶん tarball からやったとき入った)

あと emacs 上で M-0 M-x byte-recompile-directory ってのを知っておくといいらしい(ディレクトリ内一括バイトコンパイル)
--激ヘボハマり報告おわり--

3..emacs.el の最後か .wl の最後かにでも書き足す(utf-8対応)
(require 'un-define) ;; for utf-8, requiring Mule-UCS
(require 'jisx0213) ;; for utf-8, requiring Mule-UCS

残念ながら、これやると起動がかなり遅くなる。
でも、utf-8 なメールが読みたければ必要らし。

4.1で消した奴を入れるが flim の代わりに limit にする。
limit, semi, w3m-el(emacs-w3m), wl の順番で tarball から入れる。
詳細略。limit 入れて semi 以降は --force とかで入れるのもいいかも。
w3m-el とかは最新じゃないと sb-rss.el が無かったりするかもしないかも。
入れ替え激しそうだから apt 使わずソースからやるんでいいんでないの?

で、まぁ、tar zxvf とか cd とか ./configure とか make とか make install とか適当にやれば入る。

--ハマり報告--
なぜか site-lisp/wl/utils/* がはいらんかった。この件では無関係だが、ssl 使いたいときにはまる。
make のパラメータがなんかいるんだろうが、調べるの面倒なので cp した(爆)
きちんと説明書き読んでやらんとあかんね。
--激ヘボハマり報告おわり--

5. /usr/share/emacs/site-lisp/w3m/shimbun/sb-om-rss.el とかってことで下記ファイルを置く。(shimbun対応)
日本語メモとかつけるなら euc とかにしておこう。

;-------------------------------------------------------------------------------------
;; sb-om-rss.el
;; 別blogで使いたい場合
;; om は適宜違う単語にフル置換。ファイル名が sb-hoe-rss.el なら、hoe
;; あとは、以下を直す
;; section1 でrdf の url、メアド
;; section2 の"" 内
;; Movable Type なら常にこれか?
;; とにかく、rdf の中で content の開始/終了行がひっかかるように
;; section3 の"" 内の正規表現(?)
;; 個別アーカイブ(1つの投稿とコメント等が表示されるhtml)の
;; ファイル名の中の一意な番号がひっかかるようにする。
;; 数字部分を \\([0-9]+\\) と書くらしい。MT 以外の例はしらん。
;; section3 の"" 内の @ の後ろは、MessageID になるので一意性が必要だ。
;; 例えば、http://some-isp.commm/~username/blogname/ とかの
;; blog であれば、 %%rss.username.blogname@some-isp.commm とかにしとけば?

;; section1
(require 'shimbun)
(require 'sb-rss)

(luna-define-class shimbun-om-rss (shimbun-rss) ())

(defvar shimbun-om-rss-url "http://om.pizzica.to/index.rdf") ;; rdf のurl
(defvar shimbun-om-rss-groups '("blog")) ;; wanderlust で表示される名前
(defvar shimbun-om-rss-from-address "メアド") ;; blog な人のアドなり自分アドなり

;; section2
;; MSIE などで rdf 見て、どういうタグで区切られているか確認しつつ2行書く
(defvar shimbun-om-rss-content-start "")
(defvar shimbun-om-rss-content-end "<\/item>")

;; section3
(luna-define-method shimbun-index-url ((shimbun shimbun-om-rss))
shimbun-om-rss-url)

;; 下は仮の Message-Id 付けのルール指定。下記だと
;; Message-Id: メッセージ番号%%rss@om.pizzica.to となる
(luna-define-method shimbun-rss-build-message-id
((shimbun shimbun-om-rss) url date)
(unless (string-match "http://om.pizzica.to/archives/\\([0-9]+\\)" url)
(error "Cannot find message-id base"))
(concat (match-string-no-properties 1 url) "%%rss@om.pizzica.to"))
(provide 'sb-om-rss)
;-------------------------------------------------------------------------------------

人のところからパクってきたので、luna って何?って状態だから、詳細は書けない(爆)

6. ~/.folders には(shimbun対応)
@om-rss/
とかいう行をかく。もちろん、.el ファイルにあわせて @hoe-rss/ になったりするのだ。

7.これで、Folders 表示で rdf が出てきて、開けば日本語で表示されるはずなのだが、なんか一覧表示がバケバケバ~。本文表示はばっちりなんだが・・・
とおもったら壊れキャッシュが残っていただけであった( s all すりゃ直った )
よって終了。

その他:
途中 md5-el がねーよ!とか言われた。(どこで言われたか忘れた(爆))
limit の中に md5-el.el が入っているのだが、なぜか site-lisp のほうに移らない。
調べるの面倒なので cp した(そればっか)

投稿者 JK : 2005年02月09日 00:01