Blosxom
半静的レンダリングプラグイン
Blosxom の静的レンダリングはいまいち不安定な感じで使いたくないんだけど、 アクセスの多いページを毎回動的に生成するのもいまいちです。 なので、 動的にページを生成するときに、 ついでに同じ内容を静的なファイルに書き出す semi_static プラグインを作りました。
フレーバーを隔離するプラグイン
フレーバーファイルをテキストのファイルと一緒に $datadir に置いておくとごちゃごちゃになるので、 フレーバーだけ別のディレクトリに入れておくプラグインです。
日記用プラグイン
日記って大抵夜に書くけれど、 真夜中を過ぎてしまうと次の日の日付がついてしまって困るので、 そうならないようにするプラグインです。
Blosxom のデータ取得処理のクロージャ化
Blosxom をファイルシステムから解放して、 エントリーのデータを DB にしまっておいたり出来るようにするための、 基本的な拡張です。
itex プラグイン
Itex2MML というツールを使って、 エントリー内に手軽に MathML による数式を書けるようにする itex プラグイン を作りました。
ここの Blosxom の構成。
ここの Blosxom は、 ブログというよりは簡易 CMS 的に使っているので、 あんまりほかの人の参考にはならないかもしれませんが、 現時点での構成をちょっとまとめてみます。
Blosxom の動作の概要
Blosxom やそのプラグインの動作を理解するために、 クロージャを格納するグローバル変数や、 Blosxom 本体から呼び出されるプラグインのサブルーチンなどについて、 簡単にまとめてみます。
RWiki プラグイン
RWiki の記述フォーマットである RD を扱う rwiki プラグイン を作りました。 このエントリーのソース も RD で書いています。
遅延評価と story 単位のレンダー結果キャッシュ。
いろいろいじりました。 なんかもう大変なことになっているので、 diff を見ながらまとめてみたいと思います。
.txt 以外のサフィックスも扱うプラグイン
Blosxom では普通は、 エントリーのデータはすべて .txt というサフィックス(拡張子)をつけたファイルに書きますが、 それ以外のサフィックスのデータも扱いたいと思って、 others プラグイン を作りました。