RSSを利用して、サイトの新着情報を表示できるようにした。
元ネタは、RSS feed を JavaScript で HTML に埋め込む
RSSって、この間までほとんど興味なかったのだけど、知れば知るほど面白くなってきた。世の中、どんどん進んでいっているって感じだ。
そういうわけで、オーナーズクラブ関連のRSSをcronを使って30分毎にjavascriptに変換するようにした。RSSも、見渡してみれば、トップページはMovableTypeが出力しているし、FAQで使っているpukiwikiも掲示板のc-boardも。いつの間にやらRSSを利用する環境は整っていたというわけだ。
おまけにこれを使えば、リンクしてくれる人にも、最新の記事情報を提供できる。
で、実際の設置なのだが、このプログラム、Perl5.8以降を想定して書かれているらしい。残念ながらうちのは5.6。
しかたないのでちょっと改造。というか、5.8以降でしかサポートされていない、「use Encode;」をコメントアウト。「binmode STDOUT, “:encoding($encoding)”;」も「binmode STDOUT;」に変更。好きな文字コードで出力する機能は無くなってしまったけど、まあいいでしょ。
これで手持ちのRSSを変換しまくっていたら、c-boardのRSSで問題発生。どうやら元のRSSの文字コードがshift_jisだったらしく、「Couldn’t open encmap shift_jis.enc:」なんてエラーが出ている。Parserのところで発生したらしい。
Perl XMLでencoding=’Shift_JIS’や’euc-jp’を使うを参考に、shift_jis.encを作成。無事変換できるようになった。
そういうわけで、現在試験的に左側に適当な新着情報が表示されるようになっている。しばらく様子見て、オーナーズクラブのほうにも反映するかな。
ちなみに、ひできち日記の新着情報を自分のサイトに表示させたいという奇特な方向けのコードは、
<script language=”JavaScript” src=”http://maje.jp/rss/hidekichi.js” charset=”utf-8″></script>
貼り付けると、
こんな感じに。rssChannel、rssTitle、rssItemのクラスが指定されているので、スタイルシートでお好みに表示可能です。