Changes between Version 2 and Version 3 of WikiRestructuredText


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

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiRestructuredText

    v2 v3  
    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 === Requirements ===
    9 Note that to activate RST support in Trac, the python docutils package must be installed.
    10 If not already available on your operating system, you can download it at the [http://docutils.sourceforge.net/rst.html RST Website].
    11 
    12 === More information on RST ===
    13 
    14  * reStructuredText Website -- http://docutils.sourceforge.net/rst.html
    15  * RST Quick Reference -- http://docutils.sourceforge.net/docs/rst/quickref.html
    16 
    17 ----
    18 
    19 == Using RST in Trac ==
    20 To specify that a block of text should be parsed using RST, use the ''rst'' processor.
    21 
    22 === TracLinks in reStructuredText ===
    23 
    24  * Trac provides a custom RST reference-directive 'trac' to allow TracLinks from within RST text.
    25 
    26  Example:
    27  {{{
    28  {{{
    29  #!rst
    30  This is a reference to |a ticket|
    31 
    32  .. |a ticket| trac:: #42
    33  }}}
    34  }}}
    35 
    36  For a complete example of all uses of the ''trac''-directive, please see WikiRestructuredTextLinks.
    37 
    38 
    39  * Trac allows an even easier way of creating TracLinks in RST, using the custom '':trac:'' link naming scheme.
    40 
    41  Example:
    42  {{{
    43  {{{
    44  #!rst
    45  This is a reference to ticket `#12`:trac:
    46 
    47  To learn how to use Trac, see `TracGuide`:trac:
    48  }}}
    49  }}}
    50 
    51 === Syntax highlighting in reStructuredText ===
    52 
    53 There is a directive for doing TracSyntaxColoring in ReST as well. The directive is called
    54 code-block
    55 
    56 Example
    57 
    58 {{{
    59 {{{
    60 #!rst
    61 
    62 .. code-block:: python
    63 
    64  class Test:
    65 
    66     def TestFunction(self):
    67         pass
    68 
    69 }}}
    70 }}}
    71 
    72 Will result in the below.
    73 
    74 {{{
    75 #!rst
    76 
    77 .. code-block:: python
    78 
    79  class Test:
    80 
    81     def TestFunction(self):
    82         pass
    83 
    84 }}}
    85 
    86 === Wiki Macros in reStructuredText ===
    87 
    88 For doing [TracWikiMacros Wiki Macros] in ReST you use the same directive as for syntax highlighting i.e
    89 code-block. To work you must use a version of trac that has #801 applied.
    90 
    91 === Wiki Macro Example ===
    92 
    93 {{{
    94 {{{
    95 #!rst
    96 
    97 .. code-block:: HelloWorld
    98  
    99    Something I wanted to say
    100 
    101 
    102 }}}
    103 }}}
    104 
    105 Will result in the below:
    106 
    107     [[HelloWorld(Something I wanted to say)]]
    108 
    109 Or a more concise WikiMacro like syntax is also available:
    110 
    111 {{{
    112 {{{
    113 #!rst
    114 
    115 :code-block:`HelloWorld:Something I wanted to say`
    116 }}}
    117 }}}
    118 
    119 === Bigger ReST Example ===
    120 The example below should be mostly self-explanatory:
    121 {{{
    122 #!html
    123 <pre class="wiki">{{{
    124 #!rst
     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
     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
     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
    125156FooBar Header
    126157=============
     
    148179}}}</pre>
    149180}}}
    150 
    151 
    152 Results in:
    153 {{{
    154 #!rst
     181}}}
     182{{{#!td
     183{{{#!rst
    155184FooBar Header
    156185=============
     
    177206.. _webpage: http://docutils.sourceforge.net/rst.html
    178207}}}
    179 
     208}}}
    180209
    181210----