same_topicプラグイン

ブログ形式でウェブサイトを作っていると、ひとつのトピックが複数のエントリに分かれてしまうケースがよくあると思います。この様なトピックは、最初から、逐一更新がある度に読んでいる人にとっては特に問題はないのですが、そのトピックの存在を途中から知った人にとっては、最初から読みたいと思っても、最初のエントリがどこにあるのかが見つけづらいのではないでしょうか。また、最初のエントリを見つけたとしても、関連する次のエントリへきちんと導いてあげないと、今度は続きがどこにあるのかがわからん、ということになってしまいます。

「最初のエントリがどこにあるか分からん」という問題については、2回目以降のエントリは必ず最初のエントリへリンクするようにすればいいのですが、めんどくさいっすよね。「続きがどこにあるかわからん」という問題についても、次のエントリへリンクすればいいわけですが、エントリを書いてる時点では、まだ次のエントリは存在しないわけなので、次のエントリを書いた後に、ひとつ前のエントリを修正してリンクするという作業が発生するので、これもまためんどくさいです。

めんどくさがりな俺はこんなことはしたくないので、same_topicプラグインというものを作ってみました。 これは、ひとつのトピックについて書かれた複数のエントリを抽出して、古い順に並べるというものです。

同一トピックかどうかの判断は、エントリのパス名でおこなっています。例えば、あるエントリのパスがprogram/blosxomWithRast.txtだった場合、program/blosxomWithRast[0-9]*.txtというパスのエントリは、すべて同一トピックであるとみなします。

各エントリの下部にある「同じトピックのエントリをすべて見る」というリンクは、このプラグインを利用したものです。

実際にどんな風に見えるかは、blosxom + Rastに関するエントリ一覧をご覧下さい。

2005/08/13追記
使い方の記述を忘れてました…strotyフレーバ中で、

<a href="/?topic=$path/$fn">同じトピックのエントリをすべて見る</a>

といった感じで記述して下さい。