RDとはRuby Documentationの略です。
ソースコードに埋め込む形式としてはRDocのほうが主流になりがちですが、 RWiki*1や VikiWiki*2、 BitChannel*3や tDiary*4、 新リファレンスマニュアル*5など、 用いられているものはたくさんあります。
=begin ... =end
という複数行コメントがRubyにはありますが、PerlにおけるRODのような 感じでそこに埋め込むことを考えられていましたが、 前述の通りRDocにその役目は譲りつつありますし、 RDtoolは=beginや=end行を補完してくれたりします。
基本的に、Inlineを除く書式は先頭の文字(HeadChar)で決まり、 要素の連なりはインデントによって判別されます。
Example: こんにちは。 わたしは、 VIPからきますた。
Example: ここはインデント深くないのでTextBlock。 ここも。 ここからVerdatim。 改行などもそのまま反映される。 ここもまだVerdatim。 前より深いので。 前より浅くなったが、まだまだVerdatim。 インデントが戻ったので、ここは普通のTextBlock。
Example: = HeadLine-1 == HeadLine-2 === HeadLine-3 ==== HeadLine-4 + HeadLine-5 ++ HeadLine-6
Example: #RDを取り込む <<< anothoer_file.rd #変換フォーマットに従って取り込む(HTMLならexternal_file.htmlを) <<< external_file
Example1: * これが * リスト * ですItemにはTextBlockから始まる各要素の連なりが置けます。 そのTextBlockの始まりがインデントの基準とされます。
Example2: * つまり、Verdatimを書くには インデント基準より深くすればぉk なのでこれはVerdatim。 ここからはTextBlock。 * 二つ目のItem。 * 要素を入れ子に、ということは、 * とうぜんリスト自体も含められるわけで。 *ただしHeadLineやIncludeは無理だよーん
Example: (1)ここはItemListと同じでTextBlock。 |基準はここなので、 これはVerdatim。 (2)ItemListと同じでよいのですが、`*'一文字のItemListのノリで 入れ子を書こうとして、 (3)全然入れ子になっていないというミスが多いので注意。 ここは(1)、(2)とは違うEnumListにされます。
Example: :Term部 Description部。ここがDescription部の基準を決める。 その基準より深いのでこれはVerdatim。 : 深いTerm部 「深」の前が基準なのでここはDescription部にされない
Example: --- HogeClass#piyo(arg1, arg2){...} 何かをするメソッド。 とにかく何かを返す。Term部はRubyっぽくパースされてマークアップされる。 DescListと同様、Term部の内容がLabelになるが、 ちゃんとメソッド名のHogeClass#piyoだけが使われる。
以下の各Inline表記で全角になっている記号は、Pukiwiki文法との 衝突を避けるためです。本来はもちろん半角です。
URLは
((<URL:http://www.google.co.jp>))
のように記述します。この「URL:」が大事です。
Referenceは、Labelの指定によるドキュメント内リンクです。
Example: = HeadLine1 Inlineを使う。((<HeadLine1>))で先頭にリンク。
HeadLineやDescListで説明したように、Labelになりうる場所には こうして簡単にリンクを晴れます。
この要素は<リンク>と表記されるが、
((<Text|リンク>))
とすることで、表記をTextにすることができます。
Text内で`|'や`/'をエスケープするにはタブルクォーテーションで "Text"のようにしてください。