nDiary が使用する日記ファイル(以下diaryファイル)の書き方の基礎的なことを以下に述べていきます。適宜、この日付の diaryファイル(20010101.diary)や実際に生成された とhtml と見比べてどのような変換が行われているのか確認しながらお読みください。
実際に変換する際に、nDiary は空行で区切られた文章を一つのブロックとして、そのブロックの形態に応じてタグをつけていきます。このとき、ブロック内のでタグの使用に制限はありません。
まずはトピック(見出し)です。これは主に意味段落を明確にするために使用します。
■ トピック
上記のように特定の文字(○●▽▼□■など。ndiary.conf の TOPIC_CHAR を設定することにより変更可能)で始まり、かつ、1行で終わっている段落がトピックに変換されます。トピックを抽出して、一覧形式で出力する機能もありますので、なるべくトピックを読むだけで内容がわかるものにするとよいでしょう。
ブロックのすべての行がタブでインデントされているブロックは、
が付加されます。引用行1
引用行2
行頭が「・」または「+」で始まるブロックは
・地震
・雷
・火事
・親父
と記述すると
と変換されます。階層化(
タブでインデントされた行が含まれているブロックは
Ruby
オブジェクト指向スクリプト言語
ruby
紅玉、ルビー
と記述すると
と変換されます。
一行目が「Code:」で始まるブロックはプログラムなどのソースファイルを表示するのに適したタグ(
)を付加します。
また、Code: は以下のオプションを指定することができます。
- -q
- < > & を < > & に変換
- -tn
- タブをスペースに変換する際、タブ幅を n文字として変換
Code: -qt2
class Foo
def test
print 'test'
end
end
と記述すると、
class Foo
def test
print 'test'
end
end
のように変換されます。
一行目が「Quote:」で始まるブロックには
を付加します。
Code: と同様のオプションを指定することができ、加えて以下のオプションも指定することができ、ndiary.conf の LF2BR の設定より優先されます。
- -l
- 改行を
に変換する- -l-
- 改行を
に変換しない以下、例を挙げておきます。
Quote: -ql bar
Quote: -t4l- foo
一行目が「<<」で始まるブロックは、一切加工が行われません。直接 html を記述したい場合に使用します。
例えば、
<<
<table border="1">
<tr>
<td>左上</td>
<td>右上</td>
</tr>
<tr>
<td>左下</td>
<td>右下</td>
</tr>
</table>
と記述すると
左上 | 右上 |
左下 | 右下 |
と変換されます。
上記のいずれにも当てはまらないブロックは <p> で囲まれます。このとき ndiary.conf の PARAGRAPH_ANCHOR が true に設定されて入れれば行頭にアンカーが付与されます。
本文中に 「(*」と「)」で囲まれる文字列、または「((\-」と「-))」で囲まれる文字列があった場合、それは脚注として扱われ、1日文の日記の末尾に追加されます。
文章に脚注(*ここが脚注)をつける。
と記述すると「文章に脚注(*1)をつける。」と変換されます。
nDiary には日記を記述するのを補助するために「フィルタ」という機能が搭載されています。
ndiary.conf に使用したいフィルタの名前を
FILTER = 'inlinedecorate'
FILTER = 'bookstore'
というように使いたい分だけ列挙してください。
ここでは、本文中の文字列をタグ付きの文字列に置換するフィルタ inlinedecorate の使い方を説明します。他のフィルタの使い方に関しては script/filter ディレクトリ内の各ファイルを参照してください。
**強調** と ***もっと強調*** と --取り消し--
と記述するとそれぞれ
<strong>強調</strong> と <strong class="laud">もっと強調</strong> と <strike>取り消し</strike>
いう html に変換され「強調 と もっと強調 と 取り消し」と表示されます。
強敵《とも》
というように全角スペースで始まって、直後の《》カッコ内に読みが記入されているものは、「<ruby><rb>強敵</rb><rp>(</rp><rt>とも</rt><rp>)</rp></ruby>」というような html に変換され、「
nDiary Home Page(http://www14.cds.ne.jp/~not/product.ndiary/)
というように全角スペースで始まって、直後の半角カッコ内に uri が記入されているものは「 <a href="http://www14.cds.ne.jp/~not/product.ndiary/">nDiary Home Page</a>」というような html に変換され、「nDiary Home Page」と表示されます。uri を相対的に記述するときは必ず「.」から始めてください。(例えば 200101.html ではなく ./200101.html というように)