= Trac での reStructuredText 対応 = #reStructuredTextSupportinTrac

Trac は WikiFormatting を使用できるすべての箇所で、 Wiki マークアップの代わりに ''reStructuredText'' を使用することができます。

reStructuredText の Web ページより:
 "''reStructuredText は読みやすく、 WYSIWYG なプレーンテキストへのマークアップ文法と、そのパーサシステムです。 (Python の docstring のような) プログラムへのインラインドキュメンテーションや、シンプルな Web ページの素早い作成、スタンドアロンのドキュメントの記述に役立ちます。 reStructuredText は個別のアプリケーション向けに拡張ができるように設計されています。''"

Subversion リポジトリのファイルを reStructuredText として Trac のソースブラウザに表示したい場合、 Subversion の `svn:mime-type` 属性に `text/x-rst` を設定してください。 [http://trac.edgewall.org/browser/trunk/INSTALL この例] が参考になります。

=== 必須条件 === #Requirements
Trac で RST を使うためには、 Python の docutils パッケージがインストールされていなければなりません。
あなたのオペレーティングシステムでまだ使用できない場合は、 [http://docutils.sourceforge.net/rst.html RST Website] からダウンロードすることができます。

docutils のインストールには `easy_install docutils` を使用してください。 Trac が docutils パッケージを探すことが出来ない可能性があるので、 (`apt-get install python-docutils` などの) OS のパッケージマネージャは使わないでください。
('''訳注:''' docutils が提供している `setup.py` では `setuptools` を使用していないため、 OS のパッケージでは `docutils-*.egg-info` が作成されない場合があることを指しています。 egg-info さえ作成されていれば OS のパッケージマネージャを使用しても問題ないと思われます。)

=== さらなる RST に関する情報 === #MoreinformationonRST

 * reStructuredText  Web サイト -- http://docutils.sourceforge.net/rst.html
 * RST クイックリファレンス -- http://docutils.sourceforge.net/docs/rst/quickref.html

----

== RST を Trac で使用する == #UsingRSTinTrac
テキストブロックが RST でパースされるようにするには、 ''rst'' プロセッサを使用してください。

=== reStructuredText における TracLinks === #TracLinksinreStructuredText

 * Trac は RST テキストの中で TracLinks が可能になる、 RST のディレクティブ 'trac' を提供しています。

 例:
 {{{
 {{{
 #!rst
 This is a reference to |a ticket|

 .. |a ticket| trac:: #42
 }}}
 }}}

 * Trac は RST で TracLinks を簡単に作成できるように、 `:trac:` というロールを予約しています。

 例:
 {{{
 {{{
 #!rst
 This is a reference to ticket `#12`:trac:

 To learn how to use Trac, see `TracGuide`:trac:
 }}}
 }}}

 `:trac:` ロールのすべての使用例の一覧は、 WikiRestructuredTextLinks を見てください。


=== reStructuredText におけるシンタックスハイライト === #SyntaxhighlightinginreStructuredText

同様に、 RST において TracSyntaxColoring を行なうディレクティブがあります。
ディレクティブは code-block と呼ばれます。

例

{{{
{{{
#!rst

.. code-block:: python

 class Test:

    def TestFunction(self):
        pass

}}}
}}}

上記の例は以下のように見えます。

{{{
#!rst

.. code-block:: python

 class Test:

    def TestFunction(self):
        pass

}}}

=== reStructuredText の中における Wiki Macros === #WikiMacrosinreStructuredText

[WikiMacros Wiki マクロ] を RST の中で使用するには、 code-block のようなシンタックスハイライトと同様のディレクティブを使用します。

=== Wiki Macros の例 === #WikiMacroExample

{{{
{{{
#!rst

.. code-block:: RecentChanges

   Trac,3

}}}
}}}

この結果は以下のようになります:

     [[RecentChanges(Trac,3)]]

より簡素な構文でも Wiki マクロを利用できます:

{{{
{{{
#!rst

:code-block:`RecentChanges:Trac,3`
}}}
}}}

=== より大きい RST の例 === #BiggerRSTExample
この例のように書くと、とても分かりやすくなります:
{{{
#!html
<pre class="wiki">{{{
#!rst
ほげほげヘッダ
==============
reStructuredText は **素敵** 。この続きは webpage_ で。

表:

==  ==  ======
 入力    出力
------  ------
A   B   A or B
==  ==  ======
偽  偽    偽
真  偽    真
偽  真    真
真  真    真
==  ==  ======

RST での TracLinks
------------------

チケット `[http://trac.edgewall.org/ticket/42 #42]`:trac: のように使用します。

.. _webpage: http://docutils.sourceforge.net/rst.html
}}}</pre>
}}}


結果:
{{{
#!rst
ほげほげヘッダ
==============
reStructuredText は **素敵** 。この続きは webpage_ で。

表:

==  ==  ======
 入力    出力
------  ------
A   B   A or B
==  ==  ======
偽  偽    偽
真  偽    真
偽  真    真
真  真    真
==  ==  ======

RST での TracLinks
------------------

チケット `[http://trac.edgewall.org/ticket/42 #42]`:trac: のように使用します。

.. _webpage: http://docutils.sourceforge.net/rst.html
}}}

'''訳注: 日本語でテーブルを作成する場合、 Python-2.4 以降かつ docutils-0.4 以降でない場合は、 docutils に日本語テーブルパッチを適用する必要があります。'''

----
See also: WikiRestructuredTextLinks, WikiProcessors, WikiFormatting
