rNote では最初から RSS のフォードの生成機能が備わっている。そのバージョンは RSS1.0 だ。
これまでは特に問題を感じていなかったのだが、 KDE のフィードリーダ Akregator に当サイトのフィードを追加してみたところ、記事一覧の作者の表示がされなかった。
各記事に dc:creator を追加してみるなどいろいろやってみたのだがだめだったので、多分 RSS2.0 形式なら作者も表示されるだろうと推測し、 rNote に RSS2.0 のフィード生成機能を追加した。
プラグインとして実装できるかな、と思ったのだが、 RSS の生成時に RSS 用のスキンが使用され、 RSS 用スキンのための置換文字列の処理が rNote 本体に実装されているので、この部分をプラグイン化して外部に出さない限り無理だと分かった。なので、とりあえず rNote 本体に処理を追加する形で実現した。
追加したファイル:
rss2_body.skin, rss2_item.skin
修正したファイル:
rnote_config.php( FNAME_RSS2, MAX_DESCRIPTION_RSS2, FNAME_SKIN_RSS2 の3つの定数を追加した。)
rnote.php( CreateRSS2() を追加し、AdminMode() 内で CreateRSS() に続き CreateRSS2() を呼ぶようにした。 CreateHTML() 内に、スキン用のタグとして rss2_url を置換する処理を追加した。)
html_side.skin( RSS2 のフィードへのリンクを追加した。)
RSS2.0 の記述の仕方やフィードのファイル名の付け方については、「RSSのフォーマット・仕様・構造 - RSS1.0、RSS2.0、Content-Type」や「横着者のRSS 2.0 配信ページの作成方法」が参考になった。
試したところ、 Akregaror で問題なく作者が表示されるようになった。
この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/works/software/20190818_160607538729.htm