日々の日記を書く日記ファイル(以下 tdf)の書式を説明します。
基本的に一日一ファイル形式で、 CCYY 年 MM 月 DD 日の日記は、 diary_dir*/CCYY/MM/DD.tdf というファイルに書きます ( 月別にまとめることもできます) 。 月と日は必ず二桁にしてください。
存在しない日付のファイルを作っても(1999/11/31.tdf など) 無視されます。
基本的に、 その日の tdf ファイル*にメモ帳感覚で書いていくだけです。
突然料理をしたくなったので、 野菜炒めを作って食った。
しかし、いくつかの別の話題を書きたい場合は、 それぞれに見出しを書いてあげると分かりやすいですね。
NEW お料理 突然料理をしたくなったので、 野菜炒めを作って食った。 NEW ショパン 革命の練習をする。 全然うまくならないよー。
'NEW' という(後で述べる)tdf コマンド*を作ってあげると、 ある話題(トピック*)の見出し(トピック*タイトル)をつける事が出来ます。 小見出しをつけたいのなら、
NEW お料理 突然料理をしたくなったので、 野菜炒めを作って食った。 SUB お味の方 はなかなか。 でもちょっと味が薄かったかな?
のように、SUB という tdf コマンド*を使います。
せっかく web を使っているのだからリンクを張りたい、というならば、
NEW お料理 突然料理をしたくなったので、 野菜炒めを作って食った。 できあがりは LINK image/yasai_itame.gif こんな感じよ。 SUB お味の方 はなかなか。 でもちょっと味が薄かったかな?
と LINK コマンドをつかいます。
箇条書きをしたいー、のなら、
NEW お料理 突然料理をしたくなったので、 野菜炒めを作って食った。 できあがりは LINK image/yasai_itame.gif こんな感じよ。 SUB お味の方 はなかなか。 でもちょっと味が薄かったかな? ポイントは、 UL
LI 塩と砂糖を間違えない LI 人参にちゃんと火を通す LI ちゃんと味見をする /UL ことですな。
と、LI コマンドを使って箇条書きを作り、それらを UL コマンドで囲ってあげます。
段落分けについては、単に空行をいれてあげればいいです。 上の例だと、「できあがりは」の所で自動的に新しい段落が始まってくれます。
このぐらいだけ分かっていれば、 大体の日記は書けます。 もっと細かい指定をしたければ、 下の節を読んでください。
日記ファイルは最終的に HTML に変換されますが、 日記ファイルを記述するにあたり、 tdf コマンド*というものを使用することが出来ます。 これを使うことにより、 ユーザが HTML についてよく知らなくとも、 それに代替されるいくつかのコマンドを使用すれば、 簡単に日記を作成することができます。
HTMLに熟知している使用者でも、 tdf コマンド*を使えば、 タグで囲む作業から解放されますし、 URL, FN など便利な機能を使うことが出来ます。 また、裸のテキストは段落で囲みますので、 HTML 4.0 valid* な HTML を作成することができます。
<,>,&," はエスケープされますので、 直接 HTML を記述する事はできません。 直接 HTML を記述する場合は、 VERBATIMコマンドを使用してください。
tdf コマンド*を用いる場合は、 必ずコマンドを大文字で、 なおかつ行頭に書かねばなりません。 また、行頭から大文字で始まりスペースが続くものは、 将来 tdf コマンド*として採用される可能性がありますので、 な るべくそのような形式で記述しないようにして下さい。 もし使用した場合は、警告がでます。
この tdf コマンド*のアイデアは、 hns から翻案しました。 感謝いたします。
コマンドには、以下のようなものがあります。
筆者しか読めないトピック*を開始します。 自分以外がアクセスしたときは、 このトピック*は表示されませんので、 プライベートなことがかけます。 ただし tdf が httpd reachable な場所に置いてある場合は意味をもちません。 ~/diary など httpd request が届かない場所に日記ファイルをおきましょう。
この機能は、"conf/authors_id.txt" に普段使用するブラウザのクッキーを記述し、 なおかつ動的モードの時に有効になります。 それ以外の時は、このトピック*は表示されません。 この機能には多少問題がありますので、 日記ファイルの安全性を御覧ください。そのトピック*のカテゴリーを指定します
サブトピック*を開始します。
作者しか読めないサブトピック*を開始します。
説明文章とともに、url も表示します。 <a href="url" > 説明文章(url)</a> に変換します。 説明文書が記述されていない時は、 <a href="url"> url</a> に変換します。
<a href=" url">説明文章</a> に変換します。
<a href="mailto: mail_address">説明文章</a> に変換します。
バナーを張る
画像を表示します。 srcは画像ファイル名、 align は配置位置、 altは説明文章です。 width, height は画像の幅、高さで、 0 を指定すると自動的に算出しますが、 警告メッセージが出ます。
src としてURIを指定することもできますが、 サイズは自動的に検出されません。 囲い込みをクリアするには、 BR clear=all を使用します。文字を大きくします
文字を小さくします
文章を指定した色(color)で表示します。 #FFFFFF などの16進数、あるいは red, blue などの既定値で指定します。 HTML変換の際は、<font> ではなく <span style="color:.."> を使用しているので、 スタイルシートが有効になっていなければ効果がありません(ポリシーです)。
文章を強調(EMphasis)します
文章を最強調します
文章に打ち消し線を引きます。 <span style="text-decoration: line-through">
文章に下線を引きます。 <span style="text-decoration: underline">
文章を斜体にします。 <i>
文章を subscript にします。 <sub>
文章を superscript にします。 <sup>
インラインコンテナ(<span>)で囲みます。 class-name を指定することに より、 CSS での装飾が可能になります。
脚注を書きます。 脚注の入れ子は許されません。
改行(<br>)を挿入します。 IMGコマンドの囲い込みをクリアしたい時に、 BR clear=all と使うとよいでしょう。
指定したテキストは、一切のコマンド解析、コメントアウト処理、 実体参照変換*をしません。 HTMLを直接書きたい場合などに使用します。
/CMDが記述してある場合は、必ずそれでブロック閉じなければなりません。 閉じ忘れがあると、システムは警告し自動的に補完します。 記述してない場合は、省略可能です。
要素としてテキストと書かれているものは、 文章とインラインコマンドを表します。
文章を段落として囲みます。 前後を空行かコマンドに挟まれた生のテキストは、自動的に P で囲まれます。
ブロック系で唯一終了コマンドが省略できます。段落をセンタリングします。 (未実装)
ブロックコンテナ(<div>)で囲みます。 extend attribute により属性を追加することができます。
preformated なブロックを囲みます。
ブロックレベルの引用部分を囲みます。 <blockquote>
ソースコードを囲みます。 <blockquote><cite><code>
このコマンドに含まれた部分は、 コマンド認識をしません。箇条書きを囲みます。
番号つきの箇条書きを囲みます。
リストアイテムを生成します。
定義の箇条書きを囲みます。 次の行にすぐに DT を持ってこなければなりません。 空行も置いてはいけません。
定義
定義の説明文
また,文頭に '・' があると自動的に番号なしリストに変換します。 実際には UL, LI, /UL に置き換えます。
この機能は customize.pl で使用の制御が可能です。
表を囲みます。
行を生成します
見出しのセルを生成します
通常のセルを生成します。
行頭に '#' があると、 その行はコメントアウトされます。 行頭に空白を置けば(' #') 通常の文章と認識されます。 行頭に '##' があると、 その行は何の出力もされません。 行頭に空白を置けば(' ##')、 通常の文章と認識されま す。
ただし VERBATIM, NOPARSE, CODE コマンドの中ではそのまま表示されます。
STRONG, LINK など一行で完結するコマンドを ブロックで囲むよう変更することができます。
STRONG+ COLOR+ red hoge LINK foo.bar /COLOR /STRONG
CMD+ と '+' を付加することにより、 終了コマンドを必要とするようになります。 この機能によって、 「リンクを張った赤い強調」 などが可能になります。
CMD* href content とすることで、 href を参照先として content をリンクで囲む事ができます。
例:
STRONG* http://www.foo.com/ foo.com UL LI* http://www.bar.com/ bar.com /UL
上記は
STRONG+ LINK http://www.foo.com/ foo.com /STRONG UL LI LINK http://www.bar.com/ bar.com /LI /UL
と同義です。
サンプルtdfファイルをご覧下さい。
TDSは、デフォルトで HTML 4.0 valid* な HTML を出力します。 また、以下のような特徴があります。
tdf が変換する HTML を変更したい場合は、 カスタマイズをご覧ください。