categories plug-in †
どうも blosxom のホームページ からダウンロードできる categories プラグイン では、ディレクトリ名が直接カテゴリ名となってしまうため、カテゴリ名を日本語にすることが一筋縄ではいきそうにありません。そこで Ellinikonblue.com Weblog では、hail2u.net で公開されているエイリアス(別名)が使える改良版 categories プラグイン を使用しています。
ここでは、この二つのプラグインについて説明しています。
導入 †
元祖(?) categories プラグイン †
blosxom のホームページ のプラグインレジストリに登録されているプラグインで、元祖といってもいいものかどうかは疑問ですが、とりあえず後述するhail2u.net 版 categories プラグイン もこれを基に手を加えているようです。
この categories プラグイン の導入は ごく単純、blosxom 導入時に設定したプラグインディレクトリに放り込むだけ。 データ保存ディレクトリ以下にあるディレクトリ名を(その下にエントリがあれば)カテゴリ名として分類してくれるようになります。
このプラグインを導入すると フレーバー で以下の変数が使えるようになります。
| $categories::categories | カテゴリの箇条書きリスト |
hail2u.net 版 categories プラグイン †
hail2u.net で公開されているデータ保存ディレクトリ以下のディレクトリ(元祖 categories プラグインでは =カテゴリ名)に対して、(もちろん日本語で)エイリアスを定義できる先述 categories プラグイン の改良版です。
ただし、問題点があります。
- カテゴリ一覧の表示で、トップディレクトリ(=データ保存ディレクトリ)を表示しない
- トップディレクトリにエイリアスを定義できない
このプラグインを導入すると フレーバー で以下の変数が使えるようになります。
| $categories::title | カテゴリ名 |
| $categories::name | カテゴリ名( story フレーバーでのみ使用可) |
| $categories::categories | カテゴリの箇条書きリスト |
このプラグインの本体ファイルで以下の部分を編集することによって、エイリアスを定義することができます。
my %friendly_name = ( 'alt-shell' => 'Alternative Shell', 'blog' => 'blog', 'blosxom' => 'blosxom', 'coding' => 'Coding', 'foaf' => 'FOAF', 'gadget' => 'Gadget', 'game' => 'Game', 'internet' => 'Internet', 'media' => 'Media', 'misc' => 'Misc', 'rss' => 'RSS', 'software' => 'Software', 'sports' => 'Sports', 'webdesign' => 'Web Design', );
もとのプラグイン本体の中身では、上記のように別名も英字になっていますが、日本語標記にすれば、カテゴリ名は日本語になります。
プラグイン本体の記述を見ればわかるとおり、このプラグインは元祖 categories プラグインが「ディレクトリ名をカテゴリ名とする」のに対して、そのカテゴリ名となるディレクトリ名の 「文字列に対してエイリアスで定義した文字列に置き換える」 のであって、「ディレクトリ名に対して定義したエイリアスで置き換える」のではないことに注意してください。
例えば、データ保存ディレクトリが以下のような構造になっているとします。
data/ +- blosxom/ | +- etc/ +- etc/
これに対して、
my %friendly_name = ( 'blosxom' => 'blosxom', 'etc' => 'その他', );
としてしまうと、ディレクトリ data/blosxom/etc/ に保存されるエントリも、data/etc/ に保存されるエントリもカテゴリ名は「その他」に置き換えられてしまいます *1 。
ですので、カテゴリ名をタブらないようにしたい場合は、保存するディレクトリ名の文字列も明確に違うものとして、別名を定義する必要があります。
最後の注意点としては、日本語で別名を定義する場合、フレーバー で指定する文字コードと同じ文字コードで、編集後のプラグイン本体を保存する必要があります。
*1 正確には data/blosxom/etc/ 以下のエントリは「 blosxom 」カテゴリ以下の「その他」カテゴリに、data/etc/ 以下のエントリは「その他」カテゴリに分類されるようになります