作りかけのblosxom 3.0プラグイン

blosxom 3.0のプラグインを作りかけた奴。まぁリファレンス・プラグインがもうあるのでいらなそうですが、とりあえず放置してみる。無保証というか動くかすら保証しません。とりあえず動いてそうな感じはしないでもない。

  • 404.pm
  • headとfootが繋がった形、すなわちなにもエントリがなさそうな時に404を返してやるプラグイン。3.0からHTTPヘッダも置き換えることができるので、プラグインで実現できます。flowハンドラからoutput_headerを削除しなければなりません。そうしないと二重にヘッダが出力されます。
  • Archives.pm
  • archivesと同じ機能に加えて、date_titleの機能もマージしたもの。適当過ぎ。
  • Categories.pm
  • 僕が改造したcategoriesと同じ機能。
  • EntryTitle.pm
  • entry_titleと同じ機能。
  • Excerpt.pm
  • excerptと同じ機能。
  • BackAndForth.pm
  • back_and_forthと同じ機能。
  • Feed.pm
  • RSS 1.0/RSS 2.0/Atomを全て吐ける機能になる予定のプラグイン。現在は絶対URL化する機能とchannnelのdc:dateを生成する機能だけ。ていうかグローバル変数になんでもぶち込めるので、あまり凝ったフィードを吐こうとしなければflavourのみでいけそう。
  • Listing.pm
  • list_title_at_monthと同じ機能っぽいもの。3.0では月ごとの閲覧でもmax_entriesによるエントリ数の制限が効くと思うので、あんまり意味無いかもしれない。無理やりmax_entriesを10000に設定して、2.0っぽい感じにしてみました。listという名前のflavourを作っておく必要があるなど、list_title_at_monthとは微妙に仕様が違います。
  • Paging.pm
  • paginate_simpleと同じ機能。だいたいうまく動いている気がしますが、確認しきれていないとかいう。月ごとや年ごとの閲覧の場合にバグがあるような気がする。Listingで誤魔化すとかいう手・・・が。
  • Dump.pm
  • Data::Dumperでdumpするもの。Blosxom::dumpと同じですが、ファイルに吐いてくれ、パラメータにdebug=1とすることでいつでも呼び出せる・・・だけ。
  • AMIP
  • 自分専用イエー。
  • Similarity
  • とりあえずね。無駄にflavour対応してみる。独自のflavourを利用するプラグインはずいぶんと書きやすくなった気がします。

使い方は・・・勘で!きっとなんとなくわかるはず。

けっこう適当には作れます。2.0からコンバートするのも、感覚つかめばそれなりに簡単。blosxom 2.0のプラグインで参照しているblosxomの変数がblosxom 3.0ではハッシュのどのノードに当たるかさえ理解できれば。

追記@2004/05/06

これでココで使っているプラグインの3.0バージョンはほぼ作り終えた気がします。残りはentries_indexとwritebackなので、Raelさんが作ってくれるはず。とか期待。メンドウだからではないですよ、多分。後は、intepolate()が変更され、プラグインの変数の格納先がはっきりしたらそれに合わせるくらいで済みそうな気がする。いろいろ作った感触では、細かなところで環境依存のバグや微妙な仕様の至らなさもありますが、挙動が大幅には変わることはなさそうな気はしますね。