lmdk の仕様

May, 14 2007 (Mon)

これは何か?

bloxsomのruby版であるlilyの改造版である。 lilyもどきを縮めて lmdkとうい事で。

機能

flavour で、表示をコントロールする。 plugin で、挙動をコントロールする。 tDiary のプラグインが簡単に移植出来るようにする。 style で、記述フォーマットを変更出来るようにする。 データのアップデートは他に任せる。 静的なファイルの書き出し。

基本仕様

設定ファイル

本体、及びプラグイン、フレーバー、スタイルの 初期設定情報。 tDiaryでは、web上で更新出来るようになっているが、 lmdkはrubyで好きなように設定出来ることが目標なので、 単純に初期設定ファイルに記述する仕様とする。 (誰かが、作ってくれると嬉しい…)

読込みパスの解析

フレーバーの決定 読み込むデータの決定 引数の例

@url = http://www.artif.org/lmdk.cgi
@path_info = /lily/plugin/categories.html/2007/05

形式は、

(/dir)*(/filename.flavour)(/yyyy)(/mm)(/dd)
  • dir --- ディレクトリ部分
  • filename --- 記事のファイル名(拡張子を除いた部分)
  • flavour --- 出力に使用するフレーバー名
  • yyyy mm dd --- 記事を絞り込む日付データ

出力対象の記事の決定

読込みパスの解析結果に従って、出力対象の記事を決定する

プラグインのロード

プラグインディレクトリ内に有る .rb ファイルを読込み (インスタンス eval)、そのファイルのベース名と 同じ関数を実行する。

contets-type 出力

現在のところ、html 形式と rss 形式の出力を実行する。

header 出力

フレーバーの head 部を、erubis で整形し出力する。

entry 出力

出力対象の記事毎に、以下の処理を実行する。

date 出力

フレーバーの date 部を、erubis で整形し出力する。

story 出力

対象記事を style で形式変換後、フレーバーの story 部を erubis で整形し出力する。

foot 出力

フレーバーの foot 部を、erubis で整形し出力する。

フレーバー

バラバラである必要は無いので、単体の rhtml ファイルとする。 但し、content-type は、コメントで埋め込む。

拡張子がフレーバー名というのはちょっと使いにくいしね。

<!--Start: head --> <!--End --> <!--Start: date --> <!--End --> <!--Start: story --> <!--End --> <!--Start: foot --> <!--End -->

の形式で、<!-- content-type: xxxxx --> の行から、 content-type を取得する事にする。

プラグイン

やはり、tDiary のプラグインが使えた方が便利。 ただ、あくまで個人がカスタマイズして使い倒すというのが 主眼なので、こだわらない方がいいかも。

スタイル

とりあえず、RDスタイルのみ対応予定