うどんとHTMLは手打ちに限るてなもんでCMSも使わず、DreamweaverのコードエディタでペコペコWebページを作成している私だが、やはり機械的に処理できるところはコンピューターにやってもらいたい。RSSの作成もその一つだ。
Windows用のアプリケーションはいくつかあるみたい。Web上で、HTML文書のURLを入力するとRSS Feedを自動的に生成するサービスもある。でもマック用でローカルディスク内のHTMLをまとめてくれるものは見つからない。ので、RSSを自動生成するRubyスクリプトを書いてみた。
(Mac OS X v10.5.6, ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]で動作を確認している。)
前記のスクリプトを自サイトのローカルコピーのルート(トップレベルのindex.htmlがある場所)にファイル保存して実行権限を与えておく。ファイル名はmakerss.commandとでもしよう(ダブルクリックでも実行できて便利)。
makerss.commandを実行すると、スクリプトの置かれたディレクトリを起点に再起的にHTMLファイルがスキャンされ、RSSファイル「rss.xml」ができあがる。サマリーの自動抽出ルールは次のようなもの。
つまり、RSSに載せたいHTMLファイルにはtitle要素をきちんと書いておき、ページの要旨をまとめた文章を<span class="lead"> ... </span>で囲って入れておくという決まりだ。
自分のサイトのRSSをこのスクリプトで作成したいという奇特な方のために注意点を。このままコピペではサマリー内のリンクがwww.zone0.ne.jp用になってしまうのでカスタマイズしなくてはならない。
といっても別に難しいことではなく、base_url = "http://www.zone0.ne.jp"の部分を自分のサイトに置き換えればよい。
feeds〜が現れる部分は他のRSSフィードを読み込んで混ぜ込む処理なので必要なければ削除するか、open('http://www.zone0.ne.jp/〜の部分を適切なフィードのURLに置き換える。
出力されるRSSファイルの名前を変えたい場合は、rss_file = "rss.xml"の部分を好きなファイル名に変更する。必要ならRSSの出力形式を変えることもできる。RSS 2.0フォーマットを使っているが、RSS 1.0あるいはRSS 0.9xで出力することも可能だ。
(2006-11-28)
ページの要約として切り出す部分を、<p class="lead"> ... </p>から<span class="lead"> ... </span>で囲まれた部分に仕様変更。
(2007-04-09)
他のWikiやBlogシステムのRSSフィードをリモート取得して合成する機能を付け加えてみた。
(2009-03-13)
©2006 "TAKAHASHI Ryoji" @zone0.ne.jp