Changes between Version 1 and Version 2 of WikiRestructuredText


Ignore:
Timestamp:
2023-04-20T18:30:58Z (19 months ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiRestructuredText

    v1 v2  
    1 = reStructuredText Support in Trac =
    2 
    3 Trac supports using ''reStructuredText'' (RST) as an alternative to wiki markup in any context WikiFormatting is used.
     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.
    47
    58From the reStucturedText webpage:
    6  "''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. ''"
    7 
    8 If you want a file from your Subversion repository be displayed as reStructuredText in Trac's source browser, set `text/x-rst` as value for the Subversion property `svn:mime-type`. See [trac:source:/trunk/INSTALL this example].
    9 
    10 === Requirements ===
    11 Note that to activate RST support in Trac, the python docutils package must be installed.
    12 If not already available on your operating system, you can download it at the [http://docutils.sourceforge.net/rst.html RST Website].
    13 
    14 Install docutils using `easy_install docutils`. Do not use the package manager of your OS (e.g. `apt-get install python-docutils`), because Trac will not find docutils then.
    15 
    16 === More information on RST ===
    17 
    18  * reStructuredText Website -- http://docutils.sourceforge.net/rst.html
    19  * RST Quick Reference -- http://docutils.sourceforge.net/docs/rst/quickref.html
    20 
    21 ----
    22 
    23 == Using RST in Trac ==
    24 To specify that a block of text should be parsed using RST, use the ''rst'' processor.
    25 
    26 === TracLinks in reStructuredText ===
     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`, or add the extension `rst` to the filename. See [trac:source:branches/1.4-stable/INSTALL.rst this example].
     12
     13The 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
     17To 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
     26To specify that a block of text should be parsed using RST, use the ''rst'' processor.
     27
     28=== TracLinks in reStructuredText
    2729
    2830 * Trac provides a custom RST directive `trac::` to allow TracLinks from within RST text.
    29 
    30  Example:
    31  {{{
    32  {{{
    33  #!rst
    34  This is a reference to |a ticket|
    35 
    36  .. |a ticket| trac:: #42
    37  }}}
    38  }}}
    39 
    40  * Trac allows an even easier way of creating TracLinks in RST, using the custom `:trac:` role.
    41 
    42  Example:
    43  {{{
    44  {{{
    45  #!rst
    46  This is a reference to ticket `#12`:trac:
    47 
    48  To learn how to use Trac, see `TracGuide`:trac:
    49  }}}
    50  }}}
    51 
    52  For a complete example of all uses of the `:trac:` role, please see WikiRestructuredTextLinks.
    53 
    54 
    55 === Syntax highlighting in reStructuredText ===
    56 
    57 There is a directive for doing TracSyntaxColoring in RST as well. The directive is called
    58 code-block
    59 
    60 Example
    61 
    62 {{{
    63 {{{
    64 #!rst
    65 
    66 .. code-block:: python
    67 
    68  class Test:
    69 
    70     def TestFunction(self):
    71         pass
    72 
    73 }}}
    74 }}}
    75 
    76 Will result in the below.
    77 
    78 {{{
    79 #!rst
    80 
    81 .. code-block:: python
    82 
    83  class Test:
    84 
    85     def TestFunction(self):
    86         pass
    87 
    88 }}}
    89 
    90 === Wiki Macros in reStructuredText ===
    91 
    92 For doing [WikiMacros Wiki Macros] in RST you use the same directive as for syntax highlighting i.e
    93 code-block. To work you must use a version of trac that has [trac:ticket:801 #801] applied.
    94 
    95 === Wiki Macro Example ===
    96 
    97 {{{
    98 {{{
    99 #!rst
    100 
    101 .. code-block:: RecentChanges
    102 
    103    Trac,3
    104 
    105 }}}
    106 }}}
    107 
    108 Will result in the below:
    109 
    110      [[RecentChanges(Trac,3)]]
    111 
    112 Or a more concise Wiki Macro like syntax is also available:
    113 
    114 {{{
    115 {{{
    116 #!rst
    117 
    118 :code-block:`RecentChanges:Trac,3`
    119 }}}
    120 }}}
    121 
    122 === Bigger RST Example ===
    123 The example below should be mostly self-explanatory:
    124 {{{
    125 #!html
    126 <pre class="wiki">{{{
    127 #!rst
     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
     72There 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}}}
     101Note the need to indent the code at least one character after the `.. code-block` directive.
     102
     103=== Wiki Macros in reStructuredText
     104
     105To 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
     129Or 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
     150The example below should be self-explanatory:
     151
     152||= Wiki Markup ||= Display ||
     153{{{#!td
     154{{{#!html
     155<pre class="wiki">{{{#!rst
    128156FooBar Header
    129157=============
     
    151179}}}</pre>
    152180}}}
    153 
    154 
    155 Results in:
    156 {{{
    157 #!rst
     181}}}
     182{{{#!td
     183{{{#!rst
    158184FooBar Header
    159185=============
     
    180206.. _webpage: http://docutils.sourceforge.net/rst.html
    181207}}}
    182 
     208}}}
    183209
    184210----