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秒)
おー、すばらし