- モルツ (5% × 700ml)
- Jonnie Walker Black (40% × 100ml)
CSS の修正と、blosxom のプラグインで機能追加。
とりあえずプラグインは、calendar
と categorylist を入れてみる。
calendar の曜日表示を日本語表記にしたり、categorylist の出力する html に class="category"
という属性をつけてやるために、直接プラグインのソースを修正してしまったのだが。
こんなことしていいのかなあ、と思いながら。
しかし、それ以外に方法が見当たらない。
旧・酒日記にあって、新・酒日記にない主要機能。それは酒量の計算。
# 検索もか
酒量を適当なフォーマットで記述しておくと、アルコール度数に換算してグラフを書いてくれるプラグインでも自作すべきか?
blosxom はデフォルトのままで使うと、CGI.pm が Content-Type ヘッダに charset=ISO-8859-1 をつけてしまうため、
euc-jp なテキストを書いていると文字化けする。
ぱっと見た感じで、blosxom.cgi の末尾、テンプレートになっている部分に
html content_type text/html
# (略)
rss content_type text/xml
という部分がある。これを
html content_type text/html; charset=euc-jp
rss content_type text/xml; charset=euc-jp
としてやればよさそうな気がする。
しかし、HTML についてはそれで OK なのだが、RSS (xml) については問題が起きる(ことがある)。
具体的には、Version: 2.0 では 380行目あたりで
if ($content_type =~ m{\Wxml$}) {
# Escape <, >, and &, and to produce valid RSS
として、$content_type が xml で終わる ときだけ内容を escape しているため、
content_type text/xml; charset=euc-jp
としてしまうと上記の正規表現にマッチせず、XML内に escape されない生の文字列が出力されてしまい、
結果、XMLのパースエラーを引き起こす。
結局、CGI.pm の charset メソッドを使って、
CGI::charset('euc-jp');
として、charset を出力してやることで解決してみた。
blosxom starter kit なんてのもあるのね…