Wiki Formatting

Wiki markup is a core feature in Trac, tightly integrating all the other parts of Trac into flexible and powerful whole.

Trac has a built in small and powerful wiki rendering engine. This wiki engine implements an ever growing subset of the commands from other popular Wikis especially MoinWiki.

This page demonstrates the formatting syntax available anywhere WikiFormatting is allowed.

Font styles

The Trac wiki support the following font styles: bold, italic, underline and strike-through.

The Trac wiki support the following font styles: '''bold''', ''italic'',

__underline__ and ~~strike-through~~.

Heading

You can create heading by starting a line with one up to five equal
'=' characters followed by a single space and the headline text. The line should end with a space followed by the same number of
equal characters.

Note: As of writing, headings cannot contain TracLinks.

Example:

= Heading =

== Subheading ==

Paragraphs

A new text paragraph is created whenever two blocks of text are separated by one or more empty lines.

A forced line break can also be inserted, using:

Line 1[[BR]]Line 2

Display:

Line 1
Line 2

Text paragraphs can be indented by starting the lines with two or more spaces.

Lists

The wiki supports both ordered/numbered and unordered lists.

Example:

 * Item 1

   * Item 1.1

 * Item 2



 1. Item 1

   1. Item 1.1

 1. Item 2

Display:

  • Item 1
    • Item 1.1
  • Item 2
  1. Item 1
    1. Item 1.1
  2. Item 2

Preformatted text

Block quotes, preformatted text, are suitable for source code snippets, notes and examples. Use three curly braces wrapped around the text to define a block quote: Example:

 {{{

  def HelloWorld()

      print "Hello World"

 }}}

Display:

 def HelloWorld()

     print "Hello World"

Tables

Simple tables can be created like this:

||Cell 1||Cell 2||Cell 3||

||Cell 4||Cell 5||Cell 6||

Display:

Cell 1Cell 2Cell 3
Cell 4Cell 5Cell 6

!Hyperlinks are automatically created for WikiPageNames and urls. WikiPageLinks can be disabled by prepending an exclamation mark (!) character, such as !WikiPageLink.

Examples:

TitleIndex, http://www.edgewall.com/.

Links can be given a more descriptive title by writing the link followed by a space and a title and all this inside two square brackets. Like this:

 * [http://www.edgewall.com/ Edgewall Software]

 * [wiki:TitleIndex Title Index]

Display:

Wiki pages can link directly to other parts of the Trac system. Pages can refer to tickets, reports, changesets, milestones, source files and other Wiki pages using the following notation:

  • Tickets: #1 or ticket:1
  • Reports: !{1} or report:1
  • Changesets: ![1] or changeset:1
  • Wiki pages: CamelCase or wiki:CamelCase
  • Milestones: milestone:1.0
  • Files: source:trunk/COPYING
  • A specific file revision: source:/trunk/COPYING#200

Display:

  • Tickets: #1 or ticket:1
  • Reports: {1} or report:1
  • Changesets: [1] or changeset:1
  • Wiki pages: CamelCase or wiki:CamelCase
  • Milestones: milestone:1.0
  • Files: source:trunk/COPYING
  • A specific file revision: source:/trunk/COPYING#200

See TracLinks for more in-depth information.

Escaping Links and WikiNames

You may avoid making hyperlinks out of TracLinks by preceding an expression with a single '!' (exclamation mark).

 !NoHyperLink

 !#42 is not a link

Display:

NoHyperLink #42 is not a link

Images

Urls ending with .png, .gif or .jpg are automatically interpreted as image links, and converted to IMG tags.

Example:

http://www.edgewall.com/gfx/trac_example_image.png

Display:

http://www.edgewall.com/gfx/trac_example_image.png

Macros

Macros are custom functions to insert dynamic content in a page. See WikiMacros for usage.

Example:

 [[Timestamp]]

Display:

Timestamp

Processors

Trac supports alternative markup formats using WikiProcessors. For example, processors are used to write pages in reStructuredText or HTML.

See WikiProcessors for more information.

Example 1:

{{{

#!html

<h1 style="text-align: right; color: blue">HTML Test</h1>

}}}

Display:

HTML Test

Example 2:

{{{

#!python

class Test:

    def __init__(self):

        print "Hello World"

if __name__ == '__main__':

   Test()

}}}

Display:

class Test:

    def __init__(self):

        print "Hello World"

if __name__ == '__main__':

   Test()

Miscellaneous

Four or more dashes will be replaced by a horizontal line (<HR>)

 ----

Display:



See also: TracLinks, TracGuide, WikiHtml, WikiMacros, WikiProcessors, TracSyntaxColoring.