|   | 1 | = reStructuredText Support in Trac | 
          
          
            |   | 2 |  | 
          
          
            |   | 3 | == Introduction | 
          
          
            |   | 4 |  | 
          
          
            |   | 5 |  | 
          
          
            |   | 6 | Trac supports [http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html reStructuredText (RST)] as an alternative to wiki markup where WikiFormatting is used. | 
          
          
            |   | 7 |  | 
          
          
            |   | 8 | From the reStucturedText webpage: | 
          
          
            |   | 9 |  "reStructuredText is an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax and parser system. It is useful for in-line program documentation (such as Python docstrings), for quickly creating simple web pages, and for standalone documents. reStructuredText is designed for extensibility for specific application domains." | 
          
          
            |   | 10 |  | 
          
          
            |   | 11 | If you want a file from your Subversion repository to be displayed as reStructuredText in the Trac source browser, set `text/x-rst` as the value for the Subversion property `svn:mime-type`, or add the extension `rst` to the filename. See [trac:source:branches/1.4-stable/INSTALL.rst this example]. | 
          
          
            |   | 12 |  | 
          
          
            |   | 13 | The examples will only be rendered as reStructuredText if docutils is installed. If Pygments is installed but docutils is not installed, the examples will be syntax-highlighted rather than rendered as reStructuredText. | 
          
          
            |   | 14 |  | 
          
          
            |   | 15 | === Requirements | 
          
          
            |   | 16 |  | 
          
          
            |   | 17 | To activate RST support in Trac, install the python docutils package with the command `easy_install docutils`, or through your operating system package manager. If not already available on your operating system, you can download it from [https://pypi.python.org/pypi/docutils PyPI]. | 
          
          
            |   | 18 |  | 
          
          
            |   | 19 | === More information on RST | 
          
          
            |   | 20 |  | 
          
          
            |   | 21 |  * [http://docutils.sourceforge.net/rst.html reStructuredText Website] | 
          
          
            |   | 22 |  * [http://docutils.sourceforge.net/docs/rst/quickref.html RST Quick Reference] | 
          
          
            |   | 23 |  | 
          
          
            |   | 24 | == Using RST in Trac | 
          
          
            |   | 25 |  | 
          
          
            |   | 26 | To specify that a block of text should be parsed using RST, use the ''rst'' processor. | 
          
          
            |   | 27 |  | 
          
          
            |   | 28 | === TracLinks in reStructuredText | 
          
          
            |   | 29 |  | 
          
          
            |   | 30 |  * Trac provides a custom RST directive `trac::` to allow TracLinks from within RST text. | 
          
          
            |   | 31 |    ||= Wiki Markup ||= Display || | 
          
          
            |   | 32 |    {{{#!td | 
          
          
            |   | 33 |      {{{ | 
          
          
            |   | 34 |      {{{#!rst | 
          
          
            |   | 35 |      This is a reference to |a ticket| | 
          
          
            |   | 36 |  | 
          
          
            |   | 37 |      .. |a ticket| trac:: #42 | 
          
          
            |   | 38 |      }}} | 
          
          
            |   | 39 |      }}} | 
          
          
            |   | 40 |    }}} | 
          
          
            |   | 41 |    {{{#!td | 
          
          
            |   | 42 |      {{{#!rst | 
          
          
            |   | 43 |      This is a reference to |a ticket| | 
          
          
            |   | 44 |  | 
          
          
            |   | 45 |      .. |a ticket| trac:: #42 | 
          
          
            |   | 46 |      }}} | 
          
          
            |   | 47 |    }}} | 
          
          
            |   | 48 |  | 
          
          
            |   | 49 |  * You can also use the custom `:trac:` role to create TracLinks in RST. | 
          
          
            |   | 50 |    ||= Wiki Markup ||= Display || | 
          
          
            |   | 51 |    {{{#!td | 
          
          
            |   | 52 |      {{{ | 
          
          
            |   | 53 |      {{{#!rst | 
          
          
            |   | 54 |      This is a reference to ticket `#12`:trac: | 
          
          
            |   | 55 |  | 
          
          
            |   | 56 |      To learn how to use Trac, see `TracGuide`:trac: | 
          
          
            |   | 57 |      }}} | 
          
          
            |   | 58 |      }}} | 
          
          
            |   | 59 |    }}} | 
          
          
            |   | 60 |    {{{#!td | 
          
          
            |   | 61 |      {{{#!rst | 
          
          
            |   | 62 |      This is a reference to ticket `#12`:trac: | 
          
          
            |   | 63 |  | 
          
          
            |   | 64 |      To learn how to use Trac, see `TracGuide`:trac: | 
          
          
            |   | 65 |      }}} | 
          
          
            |   | 66 |    }}} | 
          
          
            |   | 67 |  | 
          
          
            |   | 68 |  For a complete example of all uses of the `:trac:` role, see WikiRestructuredTextLinks. | 
          
          
            |   | 69 |  | 
          
          
            |   | 70 | === Syntax highlighting in reStructuredText | 
          
          
            |   | 71 |  | 
          
          
            |   | 72 | There is a directive for doing TracSyntaxColoring in RST as well. The directive is called code-block: | 
          
          
            |   | 73 |  | 
          
          
            |   | 74 | ||= Wiki Markup ||= Display || | 
          
          
            |   | 75 | {{{#!td | 
          
          
            |   | 76 |   {{{ | 
          
          
            |   | 77 |   {{{#!rst | 
          
          
            |   | 78 |  | 
          
          
            |   | 79 |   .. code-block:: python | 
          
          
            |   | 80 |  | 
          
          
            |   | 81 |      class Test: | 
          
          
            |   | 82 |  | 
          
          
            |   | 83 |          def TestFunction(self): | 
          
          
            |   | 84 |              pass | 
          
          
            |   | 85 |  | 
          
          
            |   | 86 |   }}} | 
          
          
            |   | 87 |   }}} | 
          
          
            |   | 88 | }}} | 
          
          
            |   | 89 | {{{#!td | 
          
          
            |   | 90 |   {{{#!rst | 
          
          
            |   | 91 |  | 
          
          
            |   | 92 |   .. code-block:: python | 
          
          
            |   | 93 |  | 
          
          
            |   | 94 |      class Test: | 
          
          
            |   | 95 |  | 
          
          
            |   | 96 |          def TestFunction(self): | 
          
          
            |   | 97 |              pass | 
          
          
            |   | 98 |  | 
          
          
            |   | 99 |   }}} | 
          
          
            |   | 100 | }}} | 
          
          
            |   | 101 | Note the need to indent the code at least one character after the `.. code-block` directive. | 
          
          
            |   | 102 |  | 
          
          
            |   | 103 | === Wiki Macros in reStructuredText | 
          
          
            |   | 104 |  | 
          
          
            |   | 105 | To enable [WikiMacros Wiki Macros] in RST, you use the same `code-block` directive as for syntax highlighting: | 
          
          
            |   | 106 |  | 
          
          
            |   | 107 | ||= Wiki Markup ||= Display || | 
          
          
            |   | 108 | {{{#!td | 
          
          
            |   | 109 |   {{{ | 
          
          
            |   | 110 |   {{{#!rst | 
          
          
            |   | 111 |  | 
          
          
            |   | 112 |   .. code-block:: RecentChanges | 
          
          
            |   | 113 |  | 
          
          
            |   | 114 |      Trac,3 | 
          
          
            |   | 115 |  | 
          
          
            |   | 116 |   }}} | 
          
          
            |   | 117 |   }}} | 
          
          
            |   | 118 | }}} | 
          
          
            |   | 119 | {{{#!td | 
          
          
            |   | 120 |   {{{#!rst | 
          
          
            |   | 121 |  | 
          
          
            |   | 122 |   .. code-block:: RecentChanges | 
          
          
            |   | 123 |  | 
          
          
            |   | 124 |      Trac,3 | 
          
          
            |   | 125 |  | 
          
          
            |   | 126 |   }}} | 
          
          
            |   | 127 | }}} | 
          
          
            |   | 128 |  | 
          
          
            |   | 129 | Or use the `:code-block:` role for a more concise Wiki Macro-like syntax: | 
          
          
            |   | 130 |  | 
          
          
            |   | 131 | ||= Wiki Markup ||= Display || | 
          
          
            |   | 132 | {{{#!td | 
          
          
            |   | 133 |   {{{ | 
          
          
            |   | 134 |   {{{ | 
          
          
            |   | 135 |   #!rst | 
          
          
            |   | 136 |  | 
          
          
            |   | 137 |   :code-block:`RecentChanges:Trac,3` | 
          
          
            |   | 138 |   }}} | 
          
          
            |   | 139 |   }}} | 
          
          
            |   | 140 | }}} | 
          
          
            |   | 141 | {{{#!td | 
          
          
            |   | 142 |   {{{#!rst | 
          
          
            |   | 143 |  | 
          
          
            |   | 144 |   :code-block:`RecentChanges:Trac,3` | 
          
          
            |   | 145 |   }}} | 
          
          
            |   | 146 | }}} | 
          
          
            |   | 147 |  | 
          
          
            |   | 148 | === Bigger RST Example | 
          
          
            |   | 149 |  | 
          
          
            |   | 150 | The example below should be self-explanatory: | 
          
          
            |   | 151 |  | 
          
          
            |   | 152 | ||= Wiki Markup ||= Display || | 
          
          
            |   | 153 | {{{#!td | 
          
          
            |   | 154 | {{{#!html | 
          
          
            |   | 155 | <pre class="wiki">{{{#!rst | 
          
          
            |   | 156 | FooBar Header | 
          
          
            |   | 157 | ============= | 
          
          
            |   | 158 | reStructuredText is **nice**. It has its own webpage_. | 
          
          
            |   | 159 |  | 
          
          
            |   | 160 | A table: | 
          
          
            |   | 161 |  | 
          
          
            |   | 162 | =====  =====  ====== | 
          
          
            |   | 163 |    Inputs     Output | 
          
          
            |   | 164 | ------------  ------ | 
          
          
            |   | 165 |   A      B    A or B | 
          
          
            |   | 166 | =====  =====  ====== | 
          
          
            |   | 167 | False  False  False | 
          
          
            |   | 168 | True   False  True | 
          
          
            |   | 169 | False  True   True | 
          
          
            |   | 170 | True   True   True | 
          
          
            |   | 171 | =====  =====  ====== | 
          
          
            |   | 172 |  | 
          
          
            |   | 173 | RST TracLinks | 
          
          
            |   | 174 | ------------- | 
          
          
            |   | 175 |  | 
          
          
            |   | 176 | See also ticket `#42`:trac:. | 
          
          
            |   | 177 |  | 
          
          
            |   | 178 | .. _webpage: http://docutils.sourceforge.net/rst.html | 
          
          
            |   | 179 | }}}</pre> | 
          
          
            |   | 180 | }}} | 
          
          
            |   | 181 | }}} | 
          
          
            |   | 182 | {{{#!td | 
          
          
            |   | 183 | {{{#!rst | 
          
          
            |   | 184 | FooBar Header | 
          
          
            |   | 185 | ============= | 
          
          
            |   | 186 | reStructuredText is **nice**. It has its own webpage_. | 
          
          
            |   | 187 |  | 
          
          
            |   | 188 | A table: | 
          
          
            |   | 189 |  | 
          
          
            |   | 190 | =====  =====  ====== | 
          
          
            |   | 191 |    Inputs     Output | 
          
          
            |   | 192 | ------------  ------ | 
          
          
            |   | 193 |   A      B    A or B | 
          
          
            |   | 194 | =====  =====  ====== | 
          
          
            |   | 195 | False  False  False | 
          
          
            |   | 196 | True   False  True | 
          
          
            |   | 197 | False  True   True | 
          
          
            |   | 198 | True   True   True | 
          
          
            |   | 199 | =====  =====  ====== | 
          
          
            |   | 200 |  | 
          
          
            |   | 201 | RST TracLinks | 
          
          
            |   | 202 | ------------- | 
          
          
            |   | 203 |  | 
          
          
            |   | 204 | See also ticket `#42`:trac:. | 
          
          
            |   | 205 |  | 
          
          
            |   | 206 | .. _webpage: http://docutils.sourceforge.net/rst.html | 
          
          
            |   | 207 | }}} | 
          
          
            |   | 208 | }}} | 
          
          
            |   | 209 |  | 
          
          
            |   | 210 | ---- | 
          
          
            |   | 211 | See also: WikiRestructuredTextLinks, WikiProcessors, WikiFormatting |