all about blosxom
Table of Contents
blosxomのフレーバー(テンプレート・システム)についてのページです。
フレーバーとはテンプレート・システムのことです。blosxomの場合はHTMLに限らず、RSSなどもフレーバーを利用して出力します。ここでは主にHTMLのフレーバーを作ることを念頭において説明します。
あるひとつのフレーバーを完成させるためには、
以上、5つのフレーバーを$datadirに作成する必要があります。".flavour"とした部分がフレーバーの名前になります。つまり、htmlというフレーバーを作成するためには$datadirに、
を用意してやるということになります。".flavour"の部分はそのままURLに出て来るので、なるべくなら小文字の方が良いと思います。
出力の際に送信するContent-Typeヘッダのためのフレーバーです。HTMLの場合は、
text/html; charset=UTF-8
などで、RSSの場合は、
application/xml; charset=UTF-8
などとなります。blosxomが内部で使用しているPerlのCGIモジュールの仕様により、charsetを明示しないとISO-8859-1になってしまうので、忘れずにcharsetも含めて記述しましょう。
エントリの日付けやエントリ本文(の繰り返し)が始まる前までの部分のためのフレーバーです。HTMLの場合、ここでHTMLのhead要素やサイトのタイトルなどを記述するフレーバーということになります。
日付け(と時刻)が変わった時に日付け(と時刻)を挿入するためのフレーバーです。このフレーバーはちょっと特殊で、必ずしも日付けが変わった時だけに使われるというわけではなく、date.flavournameで生成される出力が変化した時に使われます。つまり、
$yr/$mo_num_$da $ti
と、date.flavourに記述した場合は、エントリの時刻が変わる度(大抵はエントリごと)に使われることになるということです。
各エントリのためのフレーバーです。トップ・ページやカテゴリごとのページでは、$num_entriesで設定した回数だけ繰り返されることになります。
各エントリの出力以降のためのフレーバーです。HTMLの場合、body要素やhtml要素の終了タグやを記述するフレーバーということになります。
content_type.flavour以外のフレーバーでは変数を利用してポータビリティの高いフレーバーを作成することが出来ます。
変数には、
以上の三種類があります。
グローバル変数はどのフレーバーでも使えます。
設定で指定したblogのタイトルにする文字列に置き換わります。
設定で指定したblogの説明に当たる文字列に置き換わります。
設定で指定したblogで使用する言語を示すコードに置き換わります。
設定で指定した実際に設置するURLに置き換わります。
blosxomに渡されたパスや年月などの引数に置き換わります。
表示に使用しているフレーバー名に置き換わります。
いくつかの変数は特定のフレーバーでしか利用できません。
各エントリの日時の年(2004など4桁の数字)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の月(Jan, Feb, Marなど英語3文字の文字列)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の月(01~12の2桁の数字)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の日(01~31の2桁の数字)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の曜日(Sun, Mon, Tueなど英語3文字の文字列)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の24時間表示の時(00~23の2桁の数字)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の分(00~59の2桁の数字)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の12時間表示の時(00~11の2桁の数字)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の午前・午後を示すamまたはpmという文字列に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリの日時の24時間表示の時と分の組み合わせ($hr:$minと同じになる)に置き換わります。date.flavourとstory.flavourのみで利用できます。
各エントリのタイトルに置き換わります。story.flavourのみで利用できます。
各エントリの本文に置き換わります。story.flavourのみで利用できます。
各エントリのパスに置き換わります。story.flavourのみで利用できます。
各エントリの拡張子を除いたファイル名に置き換わります。story.flavourのみで利用できます。
fooという名前のプラグインのbarという変数は、
$foo::bar
というように参照するということになります。Perlに慣れている人にはなんでもないことなのだが、そうでない人にはわかりにくいかもしれません。
プラグインによっては、ドキュメントが不備でわかりづらいことも多いですが、きっとなんとかなります。もしかしたらPluginListに誰かが説明を書いておいてくれたりするかもしれません。
Last-Modified: 2009-05-10T08:15:45+09:00