iso tank - blosxom - plugins 2006年 11月

writeback_updateプラグイン作成してみた

最近blosxomいじりばっかりです。楽しい? チョー楽しい。

Writeback、つまりblosxom語では「コメント&トラックバック」のことを「Writeback(ライトバック)」と言うわけなんですけれど、 blosxomのシステム上、あとWriteback(プラグイン)のシステム上、投稿データは記事単位に分割されて保存されており、 スパム投稿があった場合は、基本的にはFTPにアクセスしてファイルの内容を手動で削除する方法が主流 (と思っています。少なくともWeb上で削除を行うようなインターフェースは標準では実装されてないので)。

しかし、これを行うとつまり、[単純にテキストファイルを開く→問題の行を削除する→ 上書き保存したテキストファイルをFTPに上書きアップロード]しているだけの事になるので、 もちろんの事ながら「ファイルの更新日時」が変更される。これが変更されると、ある種のプラグイン、 具体的にはrecentwritebacks_treeプラグインで ちょっとした問題が発生する。

このrecentwritebacks_treeプラグインは、ファイルのModify-Timeを直接取得してファイルに順位をつけ、 最も新しいコメントが投稿されたファイルの順に「最新のWriteback」を表示する仕組みになっている。 つまり編集したファイルが先頭に来てしまい、なんというか困るのです。

そういう経緯もあり、先述のrecentwritebacks_treeのコードを一部利用したりなんかしながら、 必要な時に任意で動作させてファイルの更新日時を半ば強引に”正常化”する writeback_updateプラグインというものを作ってみた。 URLの後ろに”?update=1”で動作。ファイル内の投稿日時を取得してそれを”ファイルの更新日時”として書き換えてしまう。

大雑把に作ってみただけなので改良の余地がありまくりんぐ。

List Title at Year & Month プラグイン導入

all about of blosxomさんトコの List Title at YearプラグインList Title at Monthプラグインを導入してみましたよ。 右のメニューの「Log」の各日付をクリックしていただけるとわかりますが、その年/月ごとの記事を、 タイトルだけリストしてズラーーッと並べます。以前は記事が延々と下の下のさらに最下層のコキュートスを超越した先ぐらいまで表示されまくるもんで困ってました。

List Title at YearもMonthも、ソックリのコードを持つプラグインで、 Yearは年ごと表示だけ、Monthは月ごと表示だけに対応してたもようだったので、 せっかくだから年にも月にも対応した一個のプラグインにまとめちゃいました。 はいはいおもちゃ遊びおもちゃ遊び。Kyoさんマジでごめんなさい。

おもちゃ遊びついでに、昇順表示・降順表示を設定できるようにしてみました。 しかしまだまだ勉強不足であることを痛感するKONOZAMA。とはいえこうやってPerlとかいじってる時間が 一番ウキウキしてるんですよね、自分。はー仕事したくないわ。

追記:結局消しました。