title=Lrdファイルフォーマット
style=../style.css
depend=index.lrd
=begin
=== (())
= Lrdファイルフォーマット
サンプルのlrdファイルを用意しました。
((:ソースと出力結果を見る(別ウィンドウが開きます):))
=end
((:ソースを見る(別ウィンドウが開きます):))
((:出力結果を見る(別ウィンドウが開きます):))
=begin
(({=begin})) と (({=end})) で囲まれた部分が、画面に表示される内容になります。
これを忘れると画面に何も出力されませんので注意して下さい。
== 見出し
= title
行頭を (({=})) で始めると、見出しを付けることが出来ます。
(({=})) の数(1~4)によって、見出しの大きさが変わります。
1が一番大きく、4が一番小さくなります。
=== 出力タグ
htmlに出力する際には、それぞれ (({<H1>})) ~ (({<H4>})) タグとして出力されます。
出力フォーマットをカスタマイズしたい場合は、
スタイルシートでこれらのタグ出力形式をカスタマイズして下さい。
== 定義リスト
((:: define-word:))
define-description
行頭を (({:})) で始めると、定義リストを作成できます。
定義リストは、定義語と定義説明が一組になります。
定義説明は、(({:})) で開始した行以降に「インデントを下げて」記述します。
定義リストはネストさせることが出来ます。
=== 出力タグ
定義語は (({<dt>}))、定義説明は (({<dd>})) タグとして出力されます。
== リスト
((:* list-string:))
行頭を (({*})) で始めると、リストを作成できます。
リストはネストさせることが出来ます。
=== 出力タグ
(({<li>})) タグとして出力されます。
== リンク
((:((<target-title>)):))
見出し/定義リスト/リストには、リンクを付けることが出来ます。
文中で (({((< リンク文字列 >))})) と記述すると、リンクが作成されます。
(({リンク文字列})) の記述法はいくつかあります。
: 見出し語
最も簡単なのがこれです。
同一ファイルもしくは同一ディレクトリ内のlrdファイルで定義された
見出し/定義/リスト語を書けば、そのターゲットへのリンクが作成されます。
: 表示文字列|見出し語
リンクの表示文字列を見出し語と異なるものにしたい場合は、
見出し語の前に (({|})) で区切って表示文字列を記述します。
: URL:外部リンク
外部ファイルへのリンクを作成する場合は、(({URL:})) の後にリンク先URLを記述します。
表示文字列を変えたい場合は、(({表示文字列|URL:外部リンク})) のように記述します。
: IMG:イメージ
リンクではありませんが、イメージを表示する場合にもこの構文を使います。
(({IMG:})) の後にイメージのURLを記述します。
: URL:外部リンク,U
リンク先の最終更新日付を表示することが出来ます。
外部リンクURLの後に (({,U})) を付けます。
もちろん、この外部リンクは同一サーバ内にある必要があります。
よって、相対パスで記述します。
lrdファイルから生成されたhtmlファイルをターゲットに指定した場合、
表示される日付はhtmlファイルではなく「lrdファイルの最終更新日付」になります。
htmlファイルは、プロジェクトをリビルドしたときなどに上書き更新されてしまうので
lrdファイルの日付を表示した方が都合が良いのです。
== 変数
((:(({variable})):))
変数やコードなど、特定の文字を書体を変えて表示することが出来ます。
文中で ((:(({ 変数 })):)) と記述します。
=== 出力タグ
(({<code>})) タグとして出力されます。
== 強調表示
((:((*strong-word*)):))
強調したい文章は、((:((* 強調文 *)):)) と記述します。
=== 出力タグ
(({<strong>})) タグとして出力されます。
== 任意表示
((:((:all-html-string:)):))
Lrdの文法を全て無視した任意の文字列を表示することが出来ます。
(({((: 任意文字列 :))})) と記述します。
== オプション
(({=begin})) と (({=end})) で囲まれていない部分には、ファイル全体のオプションを指定することが出来ます。
オプション名=オプション値
という記述法になります。
以下、オプションの説明です。
: title
title=ページタイトル
ページのタイトルです。
head節のtitleタグとして出力されます。
: style
style=style.css
スタイルシートファイル名です。
絶対パス・相対パスのどちらでも構いません。
画面をカスタマイズしたい場合は、このオプションを記述することで独自のスタイルシートを使うことが出来ます。
: depend
depend=index.lrd
依存ファイル名です。
このファイルが更新されたとき、一緒に更新・コピーされるべきファイルを指定します。
依存ファイルは複数指定できます。
なお、スタイルシートファイルは自動的に依存ファイルに追加されます。
一般的な使い方として、目次ページから特定のページ(以下ページA)に飛ぶような構成の場合
ページAの依存ファイルとして目次ページを指定すると
ページAを更新したときに目次ページの最終更新日付を自動で更新することが出来ます。
: history
history=../history.html
ヒストリファイル名です。
lrdファイルを更新したとき、ヒストリファイルにその更新情報を追加することが出来ます。
相対パスで記述する必要があります。
ヒストリファイルにlrdファイルを指定することは((*出来ません*))。
: history-format
ヒストリに追加する文字列フォーマットを指定します。
フォーマット中に以下のキーワードを記述すると、その部分は動的に置き換わります。
: ${href}
更新したファイルへのhrefに置き換わります。
: ${date}
更新したファイルの日付に置き換わります。
: ${title}
更新したファイルのタイトルに置き換わります。
デフォルトは、
${date} ${title}
です(実際には1行)。
: print-time
print-time=false
htmlファイルの最後に、最終更新日付を表示するかどうかを指定します。
(({true})) / (({false})) のいずれかにします。
デフォルトでは (({true})) です。
== BODY/HEAD節のカスタマイズ
出力するHEAD節に任意の文字列を挿入することが出来ます。
=begin head
任意の文字列
=end
(({=begin head})) と (({=end})) で囲まれた部分が、HEAD節に挿入されます。
このブロックは、(({=begin})) と (({=end})) で ((*囲まれていない部分*)) に配置する必要があります。
同様に、BODY節をカスタマイズするには
=begin head
=end
のようにします。
HEAD節と異なり、BODY節は ((*上書き*)) されるので
上のように (({<body})) ~ (({>})) 形式で記述する必要があります。
== ファイルの文字エンコーディング
Eclipse3ではプロジェクトやディレクトリ、ファイル単位で
文字エンコーディングを指定できます。
htmlファイルの文字エンコーディングは、元となるlrdファイルの文字エンコーディングに
自動的に合わせて作成されます。
= lrdの構文について
(({lrd})) という名前は、rubyのドキュメントフォーマットである (({rd})) から取りました。
なので、書式は (({rd})) と似ていますが
「((*相当に簡略化されている*))」点に注意して下さい。
また、一部拡張してある部分もあります。
基本的に、rdファイルとは別物と考えてもらった方が良いです。
パーサ(解析ロジック)はかなり稚拙な作りになっているので、
間違った構文で書いてしまうとコンパイル時にエラーが出る可能性も高いです。
そこら辺は見つけ次第直していきたいと思ってますので
気付いた点があったら ((<こちら|URL:mailto:naoki@limy.org>)) まで報告をお願いします。
サンプルはこのコンテンツ内のソースを見ることが出来ます。例えばこのページのソースは、
(()) のようになっています。
=== (())
=end