Skip to content

TracLinks in reStructuredText

Viktor Tarasov edited this page Dec 11, 2012 · 1 revision

TracLinks in reStructuredText

This document illustrates how to use the `:trac:` role in reStructuredText. The page is written like:

{{{
#!rst 
Examples:

 * Tickets: :trac:`#1` or :trac:`ticket:1`
 * Ticket comments: :trac:`comment:ticket:1:2`
 * Reports: :trac:`{1}` or :trac:`report:1`
 * Changesets: :trac:`r1`, :trac:`[1]` or :trac:`changeset:1`
 * Revision log: :trac:`r1:3`, :trac:`[1:3]` or :trac:`log:@1:3`, :trac:`log:trunk@1:3`
 * Diffs (since version 0.10): :trac:`diff:@20:30`, :trac:`diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default` or :trac:`diff:trunk/trac@3538//sandbox/vc-refactoring/trac@3539`
 * Wiki pages: :trac:`CamelCase` or :trac:`wiki:CamelCase`
 * Milestones: :trac:`milestone:1.0`
 * Attachment: :trac:`attachment:ticket:944:attachment.1073.diff`
 * Files: :trac:`source:trunk/COPYING`
 * A specific file revision: :trac:`source:/trunk/COPYING@200`
 * A particular line of a specific file revision: :trac:`source:/trunk/COPYING@200#L25`

An explicit label can be specified, separated from the link by a space:

 * See :trac:`#1 ticket 1` and the :trac:`source:trunk/COPYING license`.

}}}

Provided you have docutils installed, the above block will render as:
--

#!rst 
Examples:
  • Tickets: :trac:`#1` or :trac:`ticket:1`
  • Ticket comments: :trac:`comment:ticket:1:2`
  • Reports: :trac:`{1}` or :trac:`report:1`
  • Changesets: :trac:`r1`, :trac:`1` or :trac:`changeset:1`
  • Revision log: :trac:`r1:3`, :trac:`[1:3]` or :trac:`log:1:3`, :trac:`log:trunk1:3`
  • Diffs (since version 0.10): :trac:`diff:20:30`, :trac:`diff:tags/trac-0.9.2/wiki-default//tags/trac-0.9.3/wiki-default` or :trac:`diff:trunk/trac3538//sandbox/vc-refactoring/trac@3539`
  • Wiki pages: :trac:`CamelCase` or :trac:`wiki:CamelCase`
  • Milestones: :trac:`milestone:1.0`
  • Attachment: :trac:`attachment:ticket:944:attachment.1073.diff`
  • Files: :trac:`source:trunk/COPYING`
  • A specific file revision: :trac:`source:/trunk/COPYING@200`
  • A particular line of a specific file revision: :trac:`source:/trunk/COPYING@200#L25`

An explicit label can be specified, separated from the link by a space:

  • See :trac:`#1 ticket 1` and the :trac:`source:trunk/COPYING license`.

--

Note also that any of the above could have been written using substitution references and the `trac::` directive:

{{{
#!rst
See |ticket123|.
.. |ticket123| trac:: ticket:123 this ticket

}}}

This renders as:
--

#!rst
See |ticket123|.

 .. |ticket123| trac:: ticket:123 this ticket

See also: WikiRestructuredText, TracLinks

Clone this wiki locally