2001年1月の日記


過去の日記


Generated by nDiary version 0.9.3.beta18

Jan.1,2001 (Mon)

diaryファイルの書き方

. nDiary が使用する日記ファイル(以下diaryファイル)の書き方の基礎的なことを以下に述べていきます。適宜、この日付の diaryファイル(20010101.diary)や実際に生成された とhtml と見比べてどのような変換が行われているのか確認しながらお読みください。

. 実際に変換する際に、nDiary は空行で区切られた文章を一つのブロックとして、そのブロックの形態に応じてタグをつけていきます。このとき、ブロック内のでタグの使用に制限はありません。

トピック

. まずはトピック(見出し)です。これは主に意味段落を明確にするために使用します。


■ トピック

. 上記のように特定の文字(○●▽▼□■など。ndiary.conf の TOPIC_CHAR を設定することにより変更可能)で始まり、かつ、1行で終わっている段落がトピックに変換されます。トピックを抽出して、一覧形式で出力する機能もありますので、なるべくトピックを読むだけで内容がわかるものにするとよいでしょう。

引用

. ブロックのすべての行がタブでインデントされているブロックは、<blockquote> が付加されます。

引用行1
引用行2

箇条書き

. 行頭が「・」または「+」で始まるブロックは <ul><li> をつかったリストに変換されます。例えば、


・地震
・雷
・火事
・親父

. と記述すると

. と変換されます。階層化(<ul>のネスティング)には対応していません。

定義リスト

. タブでインデントされた行が含まれているブロックは <dl><dt><dd> を使った定義リストに変換されます。(ただし、すべての行がインデントされている場合は除きます。)


Ruby
    オブジェクト指向スクリプト言語
ruby
    紅玉、ルビー

. と記述すると

Ruby
オブジェクト指向スクリプト言語
Ruby
紅玉、ルビー

. と変換されます。

Code

. 一行目が「Code:」で始まるブロックはプログラムなどのソースファイルを表示するのに適したタグ(<div class="code"><pre><tt><code>)を付加します。
また、Code: は以下のオプションを指定することができます。

-q
< > & を &lt; &gt; &amp; に変換
-tn
タブをスペースに変換する際、タブ幅を n文字として変換

Code: -qt2
class Foo
        def test
                print 'test'
        end
end

. と記述すると、


class Foo
  def test
    print 'test'
  end
end

. のように変換されます。

Quote

. 一行目が「Quote:」で始まるブロックには <blockquote class="quote"> を付加します。
Code: と同様のオプションを指定することができ、加えて以下のオプションも指定することができ、ndiary.conf の LF2BR の設定より優先されます。

-l
改行を<br>に変換する
-l-
改行を<br>に変換しない

. 以下、例を挙げておきます。


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 に変換され、「強敵(とも)」と表示されます。ただし、現在 <ruby>タグに対応しているのは Internet Explorer 4.0 以降のみのようです。


 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 というように)

最後に

. 作者の実際に diaryファイルがここで参照できますので参考にしてみてください。


*1: ここが脚注
つっこみ / 去年の俺様