Wiki 文法と reST (reStructuredText) の比較
このページについて
Trac では Docutils パッケージをインストールすることで、Wiki 文法 (Wiki 記法, Wiki マークアップ) の代わりに reStructuredText (reST, ReST, RST) が記述できるようになる。
Wiki 文法も reST もソースコードの状態で高い可読性を持つマークアップ言語だが、似ている仕様もあればかなり異なる部分もある。そこで Wiki 文法と reST の記法の違いを比較する。
reST の特徴
Wiki 文法と比べると reST には次のような特徴がある。
- リンクや画像の URL といった情報が文中に登場しないためソースコードが読みやすい
- 任意の場所に配置したシンボル文字列を指定する要素で置換することができる (代入参照)
- リンク文字列が同じ場合に URL の記述を省略できる
- 異なるリンク文字列であっても URL が同じ場合、一方の URL の記述を省略できる (間接参照)
- 注釈 (脚注) のサポートによりアンカー名やページ内参照の記述を省略できる (脚注参照)
- Wiki よりも複雑な表を作成できる (セルの行/列結合や、セル中のリストや表などの任意の要素など)
- CSV やリストから表を生成することができる
参考リンク
reST の学習に有用と思われるページをまとめてみた。
- Trac ドキュメント
- reST 公式サイト&仕様書
- 仕様書の日本語訳 (翻訳, 邦訳, 和訳)
-
- A ReStructuredText Primer (v5801)
- ReStructuredText 入門 (v1.17)
- ReStructuredText入門 (v1.11)
- Quick reStructuredText (2009-07-14)
- はやわかり reStructuredText (2004/10/05)
- 速習reStructuredText (2003-06-10, 80% ほど未翻訳)
- reStructuredText Markup Specification (r5963)
- reStructuredText Directives (r6342)
- reST Directiveの書き方 - 清水川Web (r3340, 70% ほど未翻訳)
- A ReStructuredText Primer (v5801)
- 解説ページ
- その他
-
- reStructuredText - Wikipedia
- XMLの論考: reStructuredText (IBM developerWorks)
- reStructuredText online renderer (reST 変換表示 Web ツール)
見出し (タイトル)
| Wiki 文法 | 表示 | reST | 表示 |
|---|---|---|---|
= 見出し1 = == 見出し2 == = 見出し1 == 見出し2 == #id-foo === 見出し3 #id-bar | 見出し1見出し2見出し1見出し2見出し3 | {{{#!rst
見出し1
=======
見出し2
-------
見出し1
=======
見出し2
-------
見出し3
~~~~~~~
}}}
| 見出し1見出し2見出し1見出し2見出し3 |
※ Wiki: Trac 0.12 以降は見出し文字列の後の等号 ("=") は必須ではなくなった。
※ reST: 任意の記号で見出し文字列以上の長さの下線を引く。下線の記号は "= - ` : ' " ~ ^ _ * + # < >" の 14 個が推奨されている。
段落
| Wiki 文法 | 表示 | reST | 表示 |
|---|---|---|---|
段落は改行しても 同じ段落となります。 空行を入れると 別の段落となります。 | 段落は改行しても 同じ段落となります。 空行を入れると 別の段落となります。 | {{{#!rst
段落は改行しても
同じ段落となります。
空行を入れると
別の段落となります。
}}}
| 段落は改行しても 同じ段落となります。 空行を入れると 別の段落となります。 |
フォント書式 (文字装飾)
| Wiki 文法 | 表示 |
|---|---|
'''太字''' ''斜体'' `等幅` ^上付き文字^ ,,下付き文字,, __下線__ ~~取り消し線~~ **太字** //斜体// '''''太字&斜体''''' **//太字&斜体//** |
太字 斜体 等幅 上付き文字 下付き文字
下線 |
| reST | 表示 |
{{{#!rst
**太字** *斜体* ``等幅`` :sup:`上付き文字` :sub:`下付き文字`
}}}
| 太字 斜体 等幅 上付き文字 下付き文字 |
※ Wiki: Trac 0.12 以降は "**太字**" および "//斜体//" が使用できるようになった。また "'''//太字&斜体//'''" や "**''太字&斜体''**" といった組み合わせも可能。
画像
| Wiki 文法 (マクロ) | 表示 | reST | 表示 |
|---|---|---|---|
[[Image(//images/sample/eco1_s.jpg)]] | {{{#!rst
.. image:: /images/sample/eco1_s.jpg
}}}
|
|
※ Wiki: Trac 0.9 以前は画像ファイルの URL は自動的に <img> タグに変換されていたが、現在は [[Image]] マクロを明示的に使用する必要がある。
※ Wiki: Trac では "/path" と記述するとプロジェクトのルートから、"//path" と記述するとサーバルートからのパスになる。
代入参照 (reST)
reST では画像などの任意の要素を指定した箇所に挿入することができる。
| Wiki 文法 | 表示 |
|---|---|
attosott.info では WordPress [[Image(//resources/icon_wordpress.png)]] と Trac [[Image(//resources/icon_trac.png)]] を利用しています。 | |
| reST | 表示 |
{{{#!rst
attosott.info では WordPress |wp-icon| と
Trac |trac-icon| を利用しています。
.. |wp-icon| image:: /resources/icon_wordpress.png
.. |trac-icon| image:: /resources/icon_trac.png
}}}
| attosott.info では WordPress |
※ reST: 画像の URL といった情報が文章中に混在しないため、ソースコードの可読性向上につながる。
リンク
| Wiki 文法 | 表示 |
|---|---|
http://trac.edgewall.org/ は [http://trac.edgewall.org/ Trac] の公式サイトです。 [http://trac.edgewall.org/ Trac Hacks] にはたくさんの [http://trac.edgewall.org/ Trac] プラグインがあります。 [http://www.i-act.co.jp/project/products/products.html Trac-ja] には Trac の日本語ドキュメントが含まれています。 | http://trac.edgewall.org/ は Trac の公式サイトです。 Trac Hacks にはたくさんの Trac プラグインがあります。 Trac-ja には Trac の日本語ドキュメントが含まれています。 |
| reST | 表示 |
{{{#!rst
http://trac.edgewall.org/ は Trac_ の公式サイトです。
`Trac Hacks`_ にはたくさんの Trac_ プラグインがあります。
Trac-ja_ には Trac の日本語ドキュメントが含まれています。
.. _Trac: http://trac.edgewall.org/
.. _Trac Hacks: http://trac-hacks.org/
.. _Trac-ja: http://www.i-act.co.jp/project/products/products.html
}}}
| http://trac.edgewall.org/ は Trac の公式サイトです。 Trac Hacks にはたくさんの Trac プラグインがあります。 Trac-ja には Trac の日本語ドキュメントが含まれています。 |
※ reST: リンク URL が文章中に混在しないため、ソースコードの可読性向上につながる。またターゲット名が同じ場合 URL の定義を省略することができる。(上記の例では 2 箇所の "Trac_" に対して URL の定義は 1 箇所のみ)
※ 注:Wiki 文法で外部リンクを表すアイコン画像
が表示されるのは Wiki が出力する要素に Trac のスタイルシートが適用されるため。
無名参照 / 間接参照 (reST)
| reST | 表示 |
|---|---|
{{{#!rst
Google__ が提供する `Google Docs`_ は日本では `Google ドキュメント`__ という名称になります。
__ http://www.google.com/
.. _Google Docs: http://docs.google.com/
__ `Google Docs`_
}}}
| Google が提供する Google Docs は日本では Google ドキュメント という名称になります。 |
※ reST: 異なるターゲット名であっても参照先が同じ場合、一方のターゲットの URL 定義を参照することができる。(上記の例では `Google ドキュメント`__ は `Google Docs`_ の URL 定義を参照)
注釈 (脚注)
| Wiki 文法 | 表示 |
|---|---|
Trac はオープンソース [#note1 (1)] で配布されている Web ベースのプロジェクト管理ツール。 主な機能として Wiki による文書管理や、チケットによるバグ/タスク管理、 バージョン管理システム [#note2 (2)] との連携によるソースコード管理などがある。 1. [=#note1] 修正 BSD ライセンスで配布されている。 2. [=#note2] Subversion や Mercurial, Git などと連携することが可能。 | |
| reST | 表示 |
{{{#!rst
Trac はオープンソース [#]_ で配布されている Web ベースのプロジェクト管理ツール。
主な機能として Wiki による文書管理や、チケットによるバグ/タスク管理、
バージョン管理システム [#]_ との連携によるソースコード管理などがある。
.. [#] 修正 BSD ライセンスで配布されている。
.. [#] Subversion や Mercurial, Git などと連携することが可能。
}}}
|
※ Wiki: 注釈 (脚注) の機能はないためアンカーの設定およびページ内参照を利用して手動で実現する必要がある。
※ reST: 注釈 (脚注) を表す記号として数字および "# *" を 使用することができる。"#" では注釈の番号 ([1] [2] [3] ...) が、"*" では 10 種類の記号 (* † ‡ § ¶ # ♠ ♥ ♦ ♣) が自動的に割り振られる。
リスト
番号なし/番号付きリスト
| Wiki 文法 | 表示 | reST | 表示 |
|---|---|---|---|
* Item
* Item
* Item
* Item
- Item
- Item
1. Item
a. Item
b. Item
2. Item
i. Item
ii. Item
3. Item
A. Item
B. Item
4. Item
I. Item
II. Item
10. Item
11. Item
1. Item
1. Item
a. Item
a. Item
A. Item
A. Item
i. Item
i. Item
I. Item
I. Item
|
| {{{#!rst
* Item
* Item
* Item
* Item
- Item
+ Item
1. Item
a. Item
b. Item
2. Item
i. Item
ii. Item
3. Item
A. Item
B. Item
4. Item
I. Item
II. Item
10. Item
11. Item
1) Item
a) Item
i) Item
(1) Item
(a) Item
(i) Item
}}}
|
|
※ Wiki: 使用できる行頭記号は、番号なしリストは "* -" の 2 種類、番号付きリストは英数字とローマ数字。任意の英数字からリストを開始することができる。同じリストに属する複数の項目が同じ英数字の場合、自動的に次の値へと更新される (インクリメントされる)。
※ reST: 使用できる行頭記号は、番号なしリストは "* - +" の 3 種類、番号付きリストは英数字とローマ数字。任意の英数字からリストを開始することができる。英数字のインクリメントは手動で記述する必要がある。行頭記号を対の括弧や閉じ括弧で囲むことができる。
※ reST: リストの階層構造や内容によっては前後に空行が必要あったりなかったりする場合がある。(バグ?)
定義リスト
| Wiki 文法 | 表示 | reST | 表示 |
|---|---|---|---|
用語:: 定義 用語:: 定義 |
| {{{#!rst
用語
定義
用語
定義
}}}
|
|
フィールドリスト(reST)
| reST | 表示 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
{{{#!rst
:名称: Win高速化
:ジャンル: Windows 高速化ツール
:バージョン: 1.0.1 (2010-03-30)
:開発者: attosoft (Josuke Iwata)
:ライセンス: フリーウェア
}}}
|
|
※ reST: フィールドリストは 2 列の表を簡単に記述する手段としても用いられる。
オプションリスト(reST)
| reST | 表示 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
{{{#!rst
-a オプション "a" に関する説明
--long-option 長い形式のオプション文字列
そして複数行からなる説明
-i file 引数を持つオプション
--input=file 引数を "=" で渡すオプション
-h, --help 複数の形式を持つオプション
/V "/" で始まる DOS 形式のオプション
}}}
|
|
※ reST: オプションリストはコマンドラインのオプション (引数) を説明するために用いられる。
表 (テーブル)
| Wiki 文法 | 表示 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
||= ヘッダ =||= ヘッダ || ||= ヘッダ =|| セル || |||| セルの結合 (行) || ||左寄せ ||text || ||中央寄せ || text || ||右寄せ || text|| ||デフォルト||text|| ||デフォルト|| text || ||デフォルト|| text || ||複数行 || \ || [http://attosoft.info attosoft.info] |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| reST | 表示 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{{#!rst
.. table:: シンプルテーブル
=== === ========
ヘッダ ヘッダ
-------- --------
1 2 3
=== === ========
A a セル
B b 複数の行
からなるセル
C c - 項目
- 項目
\ ..
E e 空行
=== === ========
.. table:: グリッドテーブル
+--------+--------+--------+
| ヘッダ | ヘッダ | ヘッダ |
+========+========+========+
| セル | セル | セル |
+--------+--------+--------+
| セルの | セルの結合 (行) |
| 結合 +--------+--------+
| (列) | - 項目 |+---+--+|
| | - 項目 ||tab|le||
| | - 項目 |+---+--+|
+--------+--------+--------+
.. csv-table:: Google, Microsoft, Yahoo! のサービス
:header: サービス, Google, Microsoft, Yahoo!
:stub-columns: 1
検索, "Google 検索", Bing, Yahoo!検索
メール, Gmail, Hotmail, Yahoo!メール
メッセンジャー, "Google トーク", "Windows Live
メッセンジャー", Yahoo!メッセンジャー
.. list-table:: Google, Microsoft, Yahoo! のサービス
:header-rows: 1
:stub-columns: 1
* - サービス
- Google
- Microsoft
- Yahoo!
* - 検索
- Google 検索
- Bing
- Yahoo!検索
* - メール
- Gmail
- Hotmail
- Yahoo!メール
* - メッセンジャー
- Google トーク
- Windows Live
メッセンジャー
- Yahoo!メッセンジャー
}}}
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
※ Wiki: Trac 0.12 以降は 表関連の Wiki プロセッサ (#!th, #!td など) を使用すると複雑な表を作成することができる。具体的には複数行にわたるセル内容、スタイル指定、セルの行結合、表の入れ子、セル中の Wiki 文法など。
※ reST: シンプルテーブルやグリッドテーブルによる表の記述のほか、CSV やリストのデータから表を生成することができる。セルにはリストや表などの任意の要素を記入することができる。グリッドテーブルではセルの行/列結合を柔軟に行うことができるが、シンプルテーブルではヘッダセルの行結合のみが可能となっている。

