くっつき BBS[Chalow]

このエントリーをはてなブックマークに追加


2006-02-08


この日記のコメントには、くっつきBBSを利用させて頂いているわけですが、これがホスティング先のサービスと相性がいまいち。
どういまいちかというと、くっつきBBSではコメント欄は外部ファイルとして生成される*.js という Javascriptファイルを読み込むことで表示させる仕組みになってます。コメントがないページは Not found になり、なにも表示されません。しかし、ホスティング先のロリポップ!さんでは、404 error になると広告ページを兼ねるエラーページが表示されます。つまりは、裏では、エントリーが増えれば増えるだけ、大量の無駄なトラフィックが生まれているらしく……

あまり精神的にもよろしくないので、既存のページに関しては

$ cd $SOMEWHERE/chalow
$ grep "kblog" *.html | cut -d\" -f2 | xargs touch


として、空の *.js ページを生成。これで解決かと思ったんですが、新規エントリー分からが問題。これを毎回すると、せっかくコメントを頂き、*.js ファイルが生成されたとしても、ローカルにあるダミーで同名の *.js ファイルを touch してしまうと、そのダミーのファイルが最新版と認識され、空のファイルでサーバのコンテンツが上書きされてしまうことになります( sitecopy とかでミラーしてた場合とか)

ということで、chalow に手を加えて、各アイテムに対応する js ファイルがない場合には、空のファイルを生成することに。ad-hoc だけど、こんな感じ?

--- chalow~ 2006-01-29 14:59:28.000000000 +0900
+++ chalow 2006-02-08 23:40:18.000000000 +0900
@@ -52,6 +52,9 @@
 # 月ページで、日付を降順 (新しい日付が上) で表示するか (1:yes or 0:no)
 my $reverse_order_days = 0;

+# くっつきBBSのコメントログファイル格納ディレクトリ
+my $kuttsuki_log_dir = '/home/kunitake/public_html/chalow/kblog';
+
 # for emacs image
 my $homedir = '/home/kunitake';
 my $local_image_dir = '/home/kunitake/public_html/chalow/images';
@@ -577,6 +580,11 @@
     ### item の基礎情報
     my $item_url = datestr2url("$ymd-$i");
     my $item_ymdi = $ymd."-".$i;
+
+ ### くっつき BBS 用のダミー $ymd-$i.js ファイルを生成
+ my $dummy_js = "$kuttsuki_log_dir/$item_ymdi.js";
+ system("touch $dummy_js") if !-e $dummy_js;
+
     (my $item_id = $ymd.$i) =~ s/-//g; # Ex. "200309241"

   ### item の組み上げ


すでにいじっちゃってる chalowを元にしたので、実際に上記 patch を当てようとすると、きれいに当たらないと思いますが……

ともあれ、ローカルの kblogディレクトリ(くっつきBBSの設定ファイルでいうところの$log_dir) に、すでにコメントがあって生成されている *.js ファイルをダウンロードしておけば、あとは通常通り chalow を実行して問題ないはず。

#相変わらずわかりずらい説明だ......



IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ