« Thank you Bob. | Main | 1.0.3 がリリースされた »
先日、iBlog の出力を補正したりカスタマイズを加えるツール iblogPatcher を使って個々のエントリについてコメントやトラックバックを disable にする方法について書いた。iBlog + iblogPatcher の組み合わせはこういうことが楽に行えるところが魅力だ。
しかし Thingamalog の場合そうはいかない。iBlog と比べると格段にテンプレートが自由に書ける反面、それ以上のことをしようとするとソースを弄って、機能と UI を付けなければならないからだ。そこで Thingamablog にどんな機能があれば自由度が増すかを考えてみた。
最も欲しいのはこれだ。Perl 程度の柔軟な正規表現で各ページの内容を置換できるようにするもの。
これはページの種類毎に正規表現による置換を記述するのではなく、正規表現による置換に対してページの種類を割り当てるようにしたほうがよい。というのは同じ置換が複数種類のページで使えることが多いからだ。
これがあるとエントリに特別な記述を加えることによってコメントを表示させないというようなこと、つまり条件毎にタグ付けを制御したりすることが容易になる。そういうことをいちいちソースに手を加えて UI を作っていると切りがないし UI も複雑になってしまう。
Thingamablog が生成するファイルを置くディレクトリには次の四種類がある。
このそれぞれについて複数の拡張ファイルを生成する機能とその UI があるとよい。そして、それぞれのディレクトリのページ(例えば Entry Page とか)と同じコンテナーがその拡張ファイルのテンプレートの中で使えるようにする。
そうすると例えば各標準ページに対応した XML ファイルを生成しておいて JavaScript で様々な処理が行えたりするようになる。特に Front Page が置かれるところは全エントリを総嘗めするようなコンテナがあると便利だ。
テンプレートが XHTML になっていればページをそのまま読み込んでもよさそうだが、拡張子が html だと Content-Type が text/html になるサーバが多いのであまり汎用性がない。