Apr 15, 2004

recentwritebacks_treeプラグイン

C-WWWのFukazawaさんが、recentwritebacks_treeプラグインというものが紹介されていました。
typesterさんのUnknownPlace.で公開されているrecentwritebacks_treeプラグインというのがそれです。
これは、コメントやトラックバックをリストにして表示することができるものです(右側のRecent Writebacks参照)。

使い方は、ソース中の16~21行目で、リスト化するエントリ数とライトバック数(コメント/トラックバック別なので2×2で4変数)を指定し、プラグインフォルダへ。 フレーバーの表示させたいところに、$recentwritebacks_tree::cm_list(コメントリスト)、$recentwritebacks_tree::tb_list(ライトバックリスト)を挿入してやればOK。

リスト化する動作としては、エントリ単位にリスト化されます。 ライトバックの中に古いライトバックと新しいライトバックが混在している場合、エントリそのものが浮上して、古いライトバックも一緒に浮上して(指定した範囲内で)リスト化されるということになります。

なお、私の環境で使用するにあたり、ソースの以下の点を改変しました。

9行目
my $data_dir = "$blosxom::plugin_state_dir/writeback";
 ↓
my $data_dir = "$blosxom::plugin_state_dir/writebacks";

72行目
if($_ =~ /^name:(.+)/ ……
 ↓
if($_ =~ /[¥r¥n]+name:(.+) /……

122行目
$file =~ s/txt$/html/;
 ↓
$file =~ s/txt$/htm/;

一番目はStart Kitの環境に合わせる変更。
三番目はwriteback込でを表示するフレーバーが.htmであるための処置。
二番目は、おそらく、ライトバックを保存するファイル内で若干の形式の違いがあるためと思われます(「日付はwritebackプラグインを改造してwbファイルにdate:セクションを追加してないとでません」とありますが、start kitでは元々そうなっている筈)

あと、ついでに不具合(?)にも気づいてしまいました。
分まで同じタイムスタンプのファイルが複数あると、@wb_listに同じファイル名を何度も拾ってしまうようです。従って、リスト表示も同じものが何度も表示されてしまいます。
まあ、通常の運用ならほとんどありえないでしょうが、サイトの引越しでFTPで一括UPLOADなどすると、現象が発生する可能性があります。

とはいえ、これまた非常に便利なプラグインです。ありがたし。

Posted at 00:18 in blosxom | WriteBacks ()
Edit this entry...

wikieditish message: Ready to edit a entry.