RSSリーダといえば
そういえば、いま手元には何種類のRSSリーダがインストールされているのだっけ。
ということで再確認。
3種類使い分けていることが一般的かどうかは不明。
で、今回はnewsticker.elを紹介。
特徴
newsticker.elはemacsで動作するRSSリーダ。
バックグラウンドで非同期読み込み可能。すげー。
インストール
必要なもの
emacsはversion 22.0.50.1で動作を確認している。
このバージョンだとMule-UCSは不要。
あとは、xml.elとwgetが必要。xml.elは最新のemacsなら多分入ってる。
動作が不安定ならgnusからもらってくること。
wgetは変更可能(具体的にはnewsticker-wget-nameをsetqする)。
ダウンロード
newsticker.elのダウンロードは上記サイトで、2005/08/30 15:57:50 JST現在はnewsticker.el-1.7が安定版の最新。
設定
~/.emacsに
(autoload 'newsticker-start "newsticker" "Start Newsticker" t)
(autoload 'newsticker-show-news "newsticker" "Goto Newsticker buffer" t)
(add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
あとはフィードしたいURLを設定。
(setq newsticker-url-list
'(("more-functional" "http://quasiquote.org/log2/?c=rss")
...
))
で最低限のセットアップはおっけー。
起動
M-x newsticker-show-newsで起動。
起動直後からデフォルトで3600sec毎にバックグラウンドの巡回を開始する。
使用
とりあえず
- u(newsticker-buffer-update)
- m(newsticker-mark-all-items-at-point-as-read)
だけ覚えておけば困らない。初心者向けにメニューも用意されているし。
エントリーの上でキーボードでEnterするかマウスで中クリックすると、
browse-urlが動きだすのも便利。
M-x newsticker-start-tickerも試してみるといいと思う(私は使ってない)。
問題点と回避法
上の設定だけで快適RSSライフ(何それ)が送れるのけど、
多コードセット環境では少し問題があって、
ここのページみたいにEUC-JPのRSSが存在すると、
キャッシュファイルの書き込みに失敗するんだな。
プロンプトが出るエラーなので、auto-save-buffersが効いているとうるさくてかなわない。
で、パッチ(newsticker.el-compound-text-20050830.diff)。
何が問題かというと、
保存するときにfetchしてきたRSSの文字列を実際にUTF-8へ文字を変換しないにもかわらず、
キャッシュファイルのトップに
-*- coding: utf-8 -*-
を指定している点。
パッチでは、これをcompound-textに変更し、実際にキャッシュファイルをcompound-textで保存することで、壊れたUTF-8文書と誤認識されることを回避する。
これがelispプログラミングとして正道かどうかは知らない。
ちょっとだけ嬉しいTips
~/.emacsに
(autoload 'w3m-region "w3m"
"Render region in current buffer and replace with result." t)
(setq newsticker-html-renderer 'w3m-region)
を入れておくといいことがあるかもね。
まとめ
良い点
ログインしてからログアウトするまでemacs立ち上げっぱなしの人にはいいかも。
SageがMozilla立ち上げっぱなし環境で便利な点と何ら違いはない。
良くない点
emacs好きじゃないと使ってらんない。
でもemacs好きなら一度でもいいから試して欲しい。
emacsらしい作りが実感できる。