February 15, 2005

entries_kache プラグイン

以前も書きましたが、blosxom はウェブログに新規エントリを追加する場合、エントリ内容を記述したテキスト ファイルを FTP でアップロードすることにより行います。

通常 blog ツールはエントリを表示する場合、各エントリを日付順にソートして表示します。これは blosxom も同様なのですが、では blosxom の場合、ソートの基準となる日付情報をどのように取得するのでしょうか。

blosxom はこの処理を、ファイルのタイム スタンプを基準に行います。つまり各エントリが作成された (FTP された) 日時が、エントリの日付となるのです。単純ですが、エントリ 1 つを 1 ファイルとして管理する blosxom の場合、これは理にかなった方法と言えます。

しかし、この方法には致命的な欠点があります。それはタイム スタンプが変わってしまうと、エントリの表示順も変わってしまうことです…つまり、一度掲載したエントリを後日編集すると、そのエントリは更新した日が掲載日となってしまうのです。これでは後からエントリの修正などができず、非常に不便です。

そこで登場するのが、entries_index というプラグインです。このプラグインを導入すると、blosxom は各エントリが最初に掲載された日時をインデックス化します。そしてエントリを表示する際はファイルのタイム スタンプの代わりに、このインデックス情報をエントリの日時として使用するようになります。これによりユーザーは後から自由にエントリの編集が可能となり、blosxom の利便性は大幅に向上します。

一般的なユーザーなら、URI や誤字の修正などの必要から、一度掲載したエントリを再編集することは必ずあると思います。ですから entries_index の機能は blosxom ユーザーになくてはならない存在と言えます。しかし entries_index はエントリの日時を作成日に固定するだけであり、エントリの日時そのものを操作することはできません。

ウェブログを続けていると、何らかの理由でエントリの日付を変更したくなる場合があります。たとえば昨日の出来事だったけれども、その日は忙しくて掲載できなかったとき。あるいはせっかくエントリを書いたのに、掲載するのを忘れてしまったとき。こんなとき、エントリを過去の日付で掲載するにはどうすればいいでしょうか。

entries_index を使用している場合、インデックス情報ファイルを書き換えれば、そのエントリを過去の日付に変更することは可能です。しかし entries_index の生成するインデックス情報に含まれる日時は 1970-01-01T00:00:00Z からの経過秒数 (エポック秒、いわゆる UNIX タイム スタンプ) で記録されているため、ユーザーが手動で書き換えるのはかなり面倒です。

そんなとき便利なのが entries_cache です。このプラグインは entries_index に代わるもので、エントリのファイル中にメタ情報として日時を記入することにより、そのエントリの日時を自由に変更することが可能になります。メタ情報の記入は、次のような 1 行をエントリ ファイルの 2 行目 (エントリ タイトルと本文の間) に加えるだけです。

meta-creation_date: 02/15/2005 21:30:00

このように指定すると、そのエントリは2005年2月15日21時30分0秒に掲載したものと見なされます。ちなみにこの記述を行った場合、メタ情報と本文の間には空行を入れるのが好ましいようです。また、この記述を省略した場合は entries_cache プラグインに自動挿入させることも可能で、entries_index 同様エントリの日付固定も行えます。

entries_index の機能に加え、エントリの日時が自由自在に変更可能になる entries_cache プラグイン。私もこれは愛用していたのですが、1 つだけ不満点がありました。それはメタ情報として使用する日付を米国式の表記 (月/日/年の形式) で指定する必要があり、年/月/日の形式を一般的に利用する日本人には違和感がある点です。どうせなら W3CDTF で指定できればよかったのに。

…と思っていたら、どうやら世の中には私と同じように考えた方がいらっしゃるようで、entries_cache を改造した entries_kache というプラグインを発見しました。これを使うとメタ情報を W3CDTF で指定でき、さらにバグっぽいのも修正され動作の安全性も向上しているようです。しかも entries_cache から乗り換える場合にも適切に設定すれば、過去のエントリのメタ情報を自動で W3CDTF にしてくれるという親切設計。

さっそくダウンロードしてきて、昨日より使ってみました。今まで納得いかなかった日付の表記も自分の好みのものになり、精神衛生上も非常にいい感じです。

ところで、entries_kache ってなんて読むの? エントリーズ・カッシュ? 教えて曉に死すの中の人!

TrackBacks

  • トラックバック内容 (excerpt) には必ずひらがなを含めてください。入っていない場合は拒否します。
  • このエントリの URI を含まない (リンクしていない) トラックバック元からは受信しません。

Comments

投稿フォーム

  • コメント以外の入力は任意です。
  • コメント文中には必ずひらがなを含めてください。入っていない場合は拒否します。
  • メール アドレスは公開されませんが、URI を入力した場合は名前がリンクとなります。なお、いずれもコメント欄への入力についてはリンクされます。
  • このページの URI をリファラとして送信しない UA からの投稿は受け付けません。