このサイトにRSSの機能をつけた

Sun Nov 17 20:35:30 JST 2024 (modified: Sun Nov 17 20:42:35 JST 2024)
views: 423, keywords:自作シェル

 なんとなくついったーとかSNSの拡散能力が弱まってきたっぽいので、SNS以前のいにしえの機能であるRSSを自分のサイトに装備しました。 URLは https://b.ueda.tech/rss/rss20.xml です。RSS関係のなんらかのツールを使っている人はぜひご登録ください。更新頻度は低いのであまり目障りにはならんはずです。

技術的なこと

 このサイトがbashcms2というBash製のCMSでできていることは一部界隈で有名な話ですが、RSSもBashのバッチ処理で吐き出しています。GitHubに記事をpushすると、GitHubに登録してあるCGIのBashスクリプトがリポジトリの中身をpullしに行き、そのあとにバッチ処理がまわって上記URLのRSSファイルができます。

 RSSのファイルはこのページのトップにある「最近の記事」のHTMLデータをsedでグリグリしてXMLにしています。コードは超やっつけなので見せたくありませんが、いちおうbashcms2のリポジトリのueda_siteブランチのfetchというスクリプトの一番下に書いてあります。超絶適当なので見ないでください。

 ちょっと面白かったのは、RSSや各記事につけるタイムスタンプの時刻がGMTしかダメで、独自フォーマットでしかも一字一句間違えてはいけないという クソ 仕様だったので、各記事の作成日時のファイルのデータをこんな感じで変換しなければならなくなりました。

mtime=$(date -d "$(cat $datadir/$d/created_time) 9 hours ago" "+%a, %d %b %Y %H:%M:%S GMT")
                            #↑このファイルに記事の作成日付がJSTで入ってる

全然パイプつかってないのに長いワンライナーになってしまいました。 それから、副作用(+ものぐさ)で、「最近の記事」の各項目の下に、GMTの時刻が中途半端なフォーマットで出るようになりました。直すのめんどくさい。

現場からは以上です。

ノート   このエントリーをはてなブックマークに追加 
 

prev:Vimを使っているところの動画撮った next:いろいろ報告

やり散らかし一覧

記事いろいろ