writebackプラグインのASCII判定(平仮名判定)がなんだかうまくいかないので修正してみました。
修正するのは以下の部分。
# block: No Hiragana my $temp = param('comment') . param('excerpt'); $temp = Jcode->new($temp)->utf8 if param('excerpt');
この後に以下の1行を追加します。Perl5.8の仕様でUTF-8のフラグを立ててあげないとうまくいかない模様。
utf8::decode($temp);
結構手抜きだったりします。とりあえずうまくいくみたいなので良しとします。
same_topicプラグインが該当トピックがない場合にエラーになるのと、同一トピックでないトピックもヒットしてしまうのを修正してみました。
2005/06/04の時点で下記部分が修正されたものを公開されているみたいです。
修正するのは以下の部分。
foreach (keys %$files){ $_ =~ /$topic/i and $files_of_topic->{$_} = $files->{$_}; } %$files = %$files_of_topic;
ここを以下のように修正します。
foreach (keys %$files){ $_ =~ /$topic/i and $' !~ /^[^\.\d]/ and $files_of_topic->{$_} = $files->{$_}; } if ($files_of_topic) { %$files = %$files_of_topic; } else { %$files = (); }
なお、pagingプラグインとの兼ね合いで、sub sort の部分を丸ごと削除しています。また、ファイル名も same_topic プラグインが archives と categories プラグインより後に、なおかつ paging プラグインより前に来るように変更しています。
recentwritebacks_treeプラグインの修正の続き。トラックバックの時刻を表示しないように修正してみました。
修正箇所は85行目あたりの以下の部分。
if($url ne '') { push(@names, "<li>$date from <a href=\"$url\">$name</a></li>\n"); }else { push(@names, "<li>$date by $name</li>\n"); }
ここに1行追加して以下のようにするだけです。
if($url ne '') { $date =~ s/(\d{2}\/\d{2}) \d{2}:\d{2}/$1/; push(@names, "<li>$date from <a href=\"$url\">$name</a></li>\n"); }else { push(@names, "<li>$date by $name</li>\n"); }
コメントの時刻を表示しないようにする場合は、下側の push の方に追加してあげればOK。
recentwritebacks_treeプラグインで、コメントやトラックバックがない場合は非表示に出来るように(interpolate_fancyプラグインを併用)、それぞれの数をフレーバーで取得できるように修正してみました。あとはKYOKURON_STADIUMを参考にコメントの投稿者名が表示されるようにしてみました。
コメントやトラックバックの数を取得するために修正したのは
のあたりになります。例によって修正箇所は現在使用中のものを参考にしてください。sub start でカウンタの初期化、sub getwritebacks でカウンタがサブルーチンの外でも保持されるようにしているのがポイントです。
paging(Version: 2004-08-25)プラグインになにやらバグが潜んでいるようなので、いろいろ修正してみました。また、page indicators は奇数か0のみ対応と書かれているので、偶数も対応させてみました。
修正点は以下の通り。
というわけでかなり手を加えたので、今回も現在使用中のものを参考にしてください。
Version: 2004-09-11のほうも似ている部分が多いようなので参考になるかもしれません。