Changes between Initial Version and Version 1 of WikiRestructuredText


Ignore:
Timestamp:
May 11, 2014, 12:08:08 AM (11 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiRestructuredText

    v1 v1  
     1= reStructuredText Support in Trac
     2
     3== Introduction
     4
     5
     6Trac supports [http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html reStructuredText (RST)] as an alternative to wiki markup where WikiFormatting is used.
     7
     8From 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
     11If 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`. See [trac:source:/trunk/INSTALL this example].
     12
     13=== Requirements
     14
     15To activate RST support in Trac, install the python docutils package: `easy_install docutils`. If not already available on your operating system, you can download it at the [http://docutils.sourceforge.net/rst.html RST Website].
     16
     17Do not use the package manager of your OS, eg `apt-get install python-docutils`, because Trac will not find docutils then.
     18
     19=== More information on RST
     20
     21 * reStructuredText Website -- http://docutils.sourceforge.net/rst.html
     22 * RST Quick Reference -- http://docutils.sourceforge.net/docs/rst/quickref.html
     23
     24== Using RST in Trac
     25
     26To 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     {{{
     35     #!rst
     36     This is a reference to |a ticket|
     37
     38     .. |a ticket| trac:: #42
     39     }}}
     40     }}}
     41   }}}
     42   {{{#!td
     43     {{{
     44     #!rst
     45     This is a reference to |a ticket|
     46
     47     .. |a ticket| trac:: #42
     48     }}}
     49   }}}
     50
     51 * Trac allows an even easier way of creating TracLinks in RST, using the custom `:trac:` role.
     52   ||= Wiki Markup ||= Display ||
     53   {{{#!td
     54     {{{
     55     {{{
     56     #!rst
     57     This is a reference to ticket `#12`:trac:
     58
     59     To learn how to use Trac, see `TracGuide`:trac:
     60     }}}
     61     }}}
     62   }}}
     63   {{{#!td
     64     {{{
     65     #!rst
     66     This is a reference to ticket `#12`:trac:
     67
     68     To learn how to use Trac, see `TracGuide`:trac:
     69     }}}
     70   }}}
     71
     72 For a complete example of all uses of the `:trac:` role, please see WikiRestructuredTextLinks.
     73
     74=== Syntax highlighting in reStructuredText
     75
     76There is a directive for doing TracSyntaxColoring in RST as well. The directive is called code-block:
     77
     78||= Wiki Markup ||= Display ||
     79{{{#!td
     80  {{{
     81  {{{
     82  #!rst
     83
     84  .. code-block:: python
     85
     86     class Test:
     87
     88         def TestFunction(self):
     89             pass
     90 
     91  }}}
     92  }}}
     93}}}
     94{{{#!td
     95  {{{
     96  #!rst
     97
     98  .. code-block:: python
     99
     100     class Test:
     101
     102         def TestFunction(self):
     103             pass
     104
     105  }}}
     106}}}
     107Note the need to indent the code at least one character after the `.. code-block` directive.
     108
     109=== Wiki Macros in reStructuredText
     110
     111To enable [WikiMacros Wiki Macros] in RST, you use the same directive as for syntax highlighting, ie code-block:
     112
     113||= Wiki Markup ||= Display ||
     114{{{#!td
     115  {{{
     116  {{{
     117  #!rst
     118
     119  .. code-block:: RecentChanges
     120
     121     Trac,3
     122
     123  }}}
     124  }}}
     125}}}
     126{{{#!td
     127  {{{
     128  #!rst
     129
     130  .. code-block:: RecentChanges
     131
     132     Trac,3
     133
     134  }}}
     135}}}
     136
     137Or a more concise Wiki Macro-like syntax is also available, using the `:code-block:` role:
     138
     139||= Wiki Markup ||= Display ||
     140{{{#!td
     141  {{{
     142  {{{
     143  #!rst
     144
     145  :code-block:`RecentChanges:Trac,3`
     146  }}}
     147  }}}
     148}}}
     149{{{#!td
     150  {{{
     151  #!rst
     152
     153  :code-block:`RecentChanges:Trac,3`
     154  }}}
     155}}}
     156
     157=== Bigger RST Example
     158
     159The example below should be self-explanatory:
     160
     161||= Wiki Markup ||= Display ||
     162{{{#!td
     163{{{
     164#!html
     165<pre class="wiki">{{{
     166#!rst
     167FooBar Header
     168=============
     169reStructuredText is **nice**. It has its own webpage_.
     170
     171A table:
     172
     173=====  =====  ======
     174   Inputs     Output
     175------------  ------
     176  A      B    A or B
     177=====  =====  ======
     178False  False  False
     179True   False  True
     180False  True   True
     181True   True   True
     182=====  =====  ======
     183
     184RST TracLinks
     185-------------
     186
     187See also ticket `#42`:trac:.
     188
     189.. _webpage: http://docutils.sourceforge.net/rst.html
     190}}}</pre>
     191}}}
     192}}}
     193{{{#!td
     194{{{
     195#!rst
     196FooBar Header
     197=============
     198reStructuredText is **nice**. It has its own webpage_.
     199
     200A table:
     201
     202=====  =====  ======
     203   Inputs     Output
     204------------  ------
     205  A      B    A or B
     206=====  =====  ======
     207False  False  False
     208True   False  True
     209False  True   True
     210True   True   True
     211=====  =====  ======
     212
     213RST TracLinks
     214-------------
     215
     216See also ticket `#42`:trac:.
     217
     218.. _webpage: http://docutils.sourceforge.net/rst.html
     219}}}
     220}}}
     221
     222----
     223See also: WikiRestructuredTextLinks, WikiProcessors, WikiFormatting