2004/11/05(金)
blosxom導入覚え書き・6 〜 過去エントリ登録時の日付修正
blosxomでは一つのエントリに対し、一つのファイルが作成されます。そのファイルの作成日(最終更新日)がエントリの日付になります。でもこの仕様では過去のエントリを登録したい時に不便なので、filedateプラグインを入れてエントリファイル名の先頭部分"YYYYMMDD〜"を作成日付と見なすようにします。
エントリと、作成日の関連付けはblosxom starter kitの初期設定ではentries_index.datファイル内に格納されています。
しかし、何らかの理由でこのファイルが壊れると、各エントリの日付がファイルの作成日に戻ってしまいます。
そこで、またentries_index.datが壊れても良いように、各エントリファイル自体の作成日を変更する事にしました。
とりあえず以下のようなシェルスクリプトを書いてみました。
作成日を変更したいファイルをひたすら羅列して、touchコマンドで更新していきます。#!/bin/csh touch -t 変更日付1 エントリファイルパス1 touch -t 変更日付2 エントリファイルパス2 ‥‥ ‥‥ set msg = `date +"%Y/%m/%d %H:%M:%S"`" Change OK." printf "Content-Type: text/html\n\n" printf "<html><body>$msg</body></html>\n" exit(0)
これを「touch.cgi」というファイル名で保存し、サーバにアップロードしてパーミッションを実行形式に変更します。
最後にWebブラウザからtouch.cgiへのURLを指定(http://www.m-fo.com/〜/touch.cgi)してスクリプトを実行します。
これで各エントリファイルの作成日を変更する事が出来ました。
Powered by blosxom 2.0