RSSプラグインの改造

RSSプラグインの改造 #

ひとことどうぞ 」で、下記の質問を頂いた

お世話になってます.ちとお聞きしますが,RSS フィードで “日記2007-3-12” とかでなく," [Perl] 何か作らないと" と表示させるには,どのような細工をしているでしょうか?

えー、RSSプラグインはオリジナルからかけ離れてしまってるので、そのまま公開できません(^^; よって、ポイントだけ。

オリジナルの RSSMaker10.pm では、get_head_line に次のようなロジックが入っていて、タイトル行(! 、!!、!で始まる行)が見つかったら、最初に見つかった行のみ処理してます。

 if ($page_body =~ m/\!{1,3}\s*(.+)/mo) {
     return $1;
 }

ここをどういう風に改造してるかというと、

  • 一つのページに複数のタイトルがある場合は、それぞれ別々のエントリと決めつける
  • 複数タイトルがある場合は、タイトルとタイトルの間の文章を description に

という感じです

 my @titles;
 my @lines = split /\n/, $page_body;
 for my $line (@lines) {
     if ( $line =~ m/\!{1,3}\s*(.+)/mo ) {
         push @titles, $1;
     }
 }

これだけだと、日記以外のページの時に不都合が出る場合もあるので、category プラグインと組み合わせて条件分岐させたり、日記書く時のタイトル行の使い方ルールを決めたり、色々やってます。ちょっと「俺ルール」過ぎて公開できない、という感じです。参考になり。。。。ました? (^^;

今後は、BugTrack-plugin/325 の「RSS関連(RSS1.0、RSS2.0、Atom0.3)プラグイン」が発展していきそうな気がするので、そのうち入れ替えるかもしれません。

[KG] (2007年03月14日 22時14分26秒)
私の日記のところで利用しているRSSCALENDARプラグインを公開してみました。出力結果はこんな感じになります。多少は「俺ルール」があるかもしれませんが・・・(笑)。

[髭。] (2007年03月14日 22時38分57秒)
おー、すばらし

See Also

Copyright © 髭。/ Hugo + hugo-book