Edgewall Software

Version 5 (modified by Christian Boos, 14 years ago) ( diff )

remove extra column

This page documents the 0.12 release. Documentation for other releases can be found here.

Using HTML in Wiki Text

Trac supports inserting HTML into any wiki context, accomplished using the #!html WikiProcessor.

However a constraint is that this HTML has to be well-formed. In particular you can't insert a start tag in an #!html block, resume normal wiki text and insert the corresponding end tag in a second #!html block.

Fortunately, for creating styled <div>s, <span>s or even complex tables containing arbitrary Wiki text, there's a powerful alternative: use of dedicated #!div, #!span and #!table, #!tr, #!td and #!th blocks.

Those Wiki processors are built-in, and does not require installing any additional packages.

How to Use #!html

To inform the wiki engine that a block of text should be treated as HTML, use the html processor.

Wiki Markup Display
{{{
#!html
<h1 style="text-align: right; color: blue">HTML Test</h1>
}}}

HTML Test

Note that Trac sanitizes your HTML code before displaying it. That means that if you try to use potentially dangerous constructs such as Javascript event handlers, those will be removed from the output.

Since 0.11, the filtering is done by Genshi, and as such, the produced output will be a well-formed fragment of HTML. As noted above in the introduction, this mean that you can no longer use two HTML blocks, one for opening a <div>, the second for closing it, in order to wrap arbitrary wiki text. The new way to wrap any wiki content inside a <div> is to use the #!div Wiki processor.

How to Use #!div and #!span

Wiki Markup Display
{{{
#!div class=important style="border: 2pt solid; text-align: center"
This is the ''only'' way to go in Trac 0.11
}}}

This is the only way to go in Trac 0.11

Note that the contents of a #!div block are contained in one or more paragraphs, which have a non-zero top and bottom margin by default. This leads to the top and bottom padding in the example above. To remove the top and bottom margin of the contents, add the compact class to the #!div.

For spans, you should rather use the Macro call syntax:

Wiki Markup
Hello 
[[span(''WORLD'' (click [#anchor here]), style=color: green; font-size: 120%, id=anchor)]]!
Display

Hello WORLD (click here)!

HTML comments

HTML comments are stripped from the output of the html processor. To add an HTML comment to a wiki page, use the htmlcomment processor (available since 0.12). For example, the following code block:

Wiki Markup
{{{
#!htmlcomment
This block is translated to an HTML comment.
It can contain <tags> and &entities; that will not be escaped in the output.
}}}
Display
<!--
This block is translated to an HTML comment.
It can contain <tags> and &entities; that will not be escaped in the output.
-->

Please note that the character sequence "—" is not allowed in HTML comments, and will generate a rendering error.

More Information


See also: WikiProcessors, WikiFormatting, WikiRestructuredText

Note: See TracWiki for help on using the wiki.