Emacs org-modeを使ってみる: (22) RSSフィードを取り込む
今回は,RSSフィードを取り込む方法についてまとめてみる.
なおUbuntu 8.04 LTSとEmacs22上で, org-6.34c (2010年1月10日リリース)の利用を前提にしている.
リンク
インストールと設定
まず,デフォールトの設定で利用する url-retrieve-synchronously 関数だと文字化けしたので,以下のように curl をインストールする(wgetでも良い).
$ sudo apt-get install curl
org-feed.el でRSSフィードを取り込む関数が用意されているが, RSS 2.0とATOMのみへの対応のようで, RSS 1.0 (RDF)はそのままでは取り込めなかった.
そこで,以下のように設定した.
(defun org-feed-parse-rdf-feed (buffer) "Parse BUFFER for RDF feed entries. Returns a list of entries, with each entry a property list, containing the properties `:guid' and `:item-full-text'." (let (entries beg end item guid entry) (with-current-buffer buffer (widen) (goto-char (point-min)) (while (re-search-forward "<item[> ]" nil t) (setq beg (point) end (and (re-search-forward "</item>" nil t) (match-beginning 0))) (setq item (buffer-substring beg end) guid (if (string-match "<link\\>.*?>\\(.*?\\)</link>" item) (org-match-string-no-properties 1 item))) (setq entry (list :guid guid :item-full-text item)) (push entry entries) (widen) (goto-char end)) (nreverse entries)))) ; (setq org-feed-retrieve-method 'wget) (setq org-feed-retrieve-method 'curl) (setq org-feed-default-template "\n* %h\n - %U\n - %a - %description")
次に,RSSフィードを取得するURLなどを以下のように指定する.
(setq org-feed-alist nil) (add-to-list 'org-feed-alist '("hatena" "http://feeds.feedburner.com/hatena/b/hotentry" "~/org/rss.org" "はてな" :parse-feed org-feed-parse-rdf-feed)) (add-to-list 'org-feed-alist '("tamura70" "http://d.hatena.ne.jp/tamura70/rss" "~/org2/rss.org" "屯遁" :parse-feed org-feed-parse-rdf-feed))
- 名前: hatena
- URL: http://feeds.feedburner.com/hatena/b/hotentry
- 保存するorgファイル: ~/org/rss.org
- 保存する見出し: はてな
利用方法
~/org/rss.org ファイルの最初には以下のように記述しておく.
#+DRAWERS: PROPERTIES CLOCK LOGBOOK FEEDSTATUS #+TODO: TOREAD | DONE #+COLUMNS: %60ITEM %TAGS
「C-c C-x g」とタイプすると,以下のようにRSSフィードが取得され,タイトルが表示される.
* はてな ** Firebugで元のJavaScriptのコードに手を入れずにdebug用のconsole出力を入れる方法 - 文殊堂 ** 「これまでに人を傷つけたことがないのが我々の誇りだ」とシーシェパードが声明を発表 - GIGAZINE (中略) * 屯遁 ** [emacs][org-mode][latex]Emacs org-modeを使ってみる: (17) orgの表を埋め込む ** [emacs][org-mode]Emacs org-modeを使ってみる: (18) 計時 (以下略)
見出しの所で「TAB」をタイプすると,日付,URL,内容が表示される.
FEEDSTATUS ドローワ中に,取得状況が保存されているので,再度「C-c C-x g」をタイプした場合,新しいものだけが追加される.
整理方法
- 読まないものは,「C-k」で削除する.
- 読もうと思ったものは「S-RIGHT」で「TOREAD」としておく.
- 読んだものは削除するか,あるいは「S-RIGHT」で「DONE」として残しておく.
子見出しを作成して整理する,「C-c C-x A」でアーカイブ見出し中に整理するなども可能である.
タグの利用
- 「C-c C-c」でタグを付ける
- 「C-c / m」でタグを検索
- 「C-c C-x C-c」で列表示 (「q」で終了)
「Emacs org-modeを使ってみる」の目次
- (1) インストール
- (2) 見出しと項目の編集
- (3) 表の編集
- (4) 表計算
- (5) TODOリスト
- (6) アジェンダ表示
- (7) ハイパーリンク
- (8) メモを取る
- (9) キーバインド1/3
- (10) キーバインド2/3
- (11) キーバインド3/3
- (12) GTDツールとして
- (13) HTMLにエクスポート
- (14) LaTeXにエクスポート
- (15) Beamerにエクスポート
- (16) エクスポート結果
- (17) orgの表を埋め込む
- (18) 計時
- (19) graphvizとditaaの図を埋め込む
- (20) gnuplotを呼び出す
- (21) LaTeX数式のインライン画像表示
- (22) RSSフィードを取り込む
- (23) エクスポート時に利用できるLaTeX記号
- (24) 繰り返し行動の記録
- (25) iCalendarにエクスポート
- (26) タグとプロパティ
- (27) ドローワとアーカイブ
- (28) バッファ内設定一覧
- (29) エクスポートオプション一覧
- (30) CSSクラス名一覧
- (31) Emacs Lispの実行
- (32) HTML表のスタイル設定
- (33) 脚注と参考文献の利用
- (34) 短縮形リンクの利用
- (35) org-babel-perlを使う1/4
- (36) org-babel-perlを使う2/4
- (37) org-babel-perlを使う3/4
- (38) org-babel-perlを使う4/4
- (39) speedbarを使う
- (40) org-babel-Rを使う1/2
- (41) org-babel-Rを使う2/2
- (42) 日本語化ditaaの利用
- (43) mhcをインポート
- (44) 再びHTMLにエクスポート
- (45) Firefoxからブックマーク