Weblog

blosxom plugin template

Posted at 2004-08-19T05:17:00+09:00 in Blosxom

blosxomのプラグイン・アーキテクチャは結構わかりやすいと思うので、書きやすいとは思うのですけど、プラグインのドキュメントがひたすら読みづらく、「このサブルーチンはどんな変数を渡してくれるんだっけ?」とか忘れると読むのが非常にメンドウです。しかも、一部間違ってたりする。なので、僕はあまり考えずにプラグインを書き始めることができる様に、テンプレートを作ってます(本当はもっと日本語でコメントを入れてあったりする)。

こんなものを作っておくときっとプラグインの生産性が上がるでしょう。英語ばっかでわかりづらい場合は、それぞれのサブルーチンの各変数がどんなデータを参照しているリファレンスなのかを日本語で書いておくと良いと思います(日本語でコメントを入れておき、blosxomで使っている文字コードで保存しておくと、プラグイン・ファイルの文字コードにまつわるトラブルも避けやすかったりします)。

sub head {
  my($pkg, $currentdir, $head_ref) = @_;
  # $currentdir: $blosxom::path_infoと等価
  # $head_ref:   head.flavourの生成結果

  return 1;
}

とか、こんな感じ。

見通しが悪くなるのと、書き換えづらくなるので僕はやっていませんが、blosxomのグローバル変数の説明なんかもまとめて書いておいたりしても良いかもしれない。

プラグインのドキュメントで間違ってるところは、dateサブルーチンの例とか。第二引数の$currentdirが無いので、この例をコピペするとうまく動きません。他にもentriesサブルーチンの例で、\%othersを返していないところとかも。あと、endlastという順番でドキュメントには記載されていますが、呼ばれる順序的にはlastendです。Blog HacksのHack #65にはそんな感じで書いてありますね。

それぞれのサブルーチンの利用例などは、blosxom plugin registryで探しても良いですけど、Googleblosxom "sub entries"などと全言語のページから検索したりすると見つけやすいかと。

あとはもう経験則的なblosxomプラグインの書き方とか、Perlのお話なので、そこらへんはまぁ数をこなしてどうよ?とかそんな感じで。

Recent entries from same category

同じカテゴリに分類された最近10件のエントリです。

  1. 不明なflavour回避パッチの問題点
  2. 使用しているプラグイン
  3. はてなブックマークでつけられたコメントをblosxomにインクルード
  4. blosxomサイトの日本語訳
  5. interpolate_fancyプラグインの使い方
  6. blosxom plugin: ufyu
  7. SourceForge.netで開発されているblosxomはv2.0.2に
  8. push_if_first plugin
  9. paging plugin更新 #8
  10. エントリの日付と時刻をW3CDTFで

Comments

JavaScriptに対応または有効な環境の場合、ここにはてなブックマークでのこのエントリに対するコメントが表示されます。

Weblog archives

by Category

This page was last modified on 2004-08-19T09:21:58+09:00 (in 0.221 secs).