Changeset 37343 for wiki/pages/WikiHtml
- Timestamp:
- 03/12/16 20:47:19 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wiki/pages/WikiHtml
r26484 r37343 1 1 = Using HTML in Wiki Text = 2 2 3 Trac supports inserting HTML into any wiki context, accomplished using the `#!html` [wiki:WikiProcessors WikiProcessor]. 4 5 However a constraint is that this HTML has to be well-formed. 6 In particular you can't insert a start tag in an `#!html` block, 7 resume normal wiki text and insert the corresponding end tag in a 8 second `#!html` block. 9 10 Fortunately, for creating styled <div>s, <span>s or even complex tables 11 containing arbitrary Wiki text, there's a powerful alternative: use of 12 dedicated `#!div`, `#!span` and `#!table`, `#!tr`, `#!td` and `#!th` blocks. 13 14 Those Wiki processors are built-in, and does not require installing any additional packages. 3 Trac supports the display of HTML in any wiki context, by using the `#!html` [wiki:WikiProcessors WikiProcessor]. 4 5 However, this HTML has to be [http://en.wikipedia.org/wiki/Well-formed_element well-formed]. 6 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. 7 8 Fortunately, for creating styled <div>s, <span>s or even complex tables containing arbitrary Wiki text, there is a powerful alternative: `#!div`, `#!span` and `#!table`, `#!tr`, `#!td` and `#!th` blocks. Those Wiki processors are built-in and do not require additional packages to be installed. 15 9 16 10 == How to use `#!html` == #HowtoUseHTML 17 To inform the wiki engine that a block of text should be treated as HTML, use the ''html'' processor .11 To inform the wiki engine that a block of text should be treated as HTML, use the ''html'' processor: 18 12 19 13 ||= Wiki Markup =||= Display =|| … … 33 27 }}} 34 28 35 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, thosewill be removed from the output.36 37 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 secondfor closing it, in order to wrap arbitrary wiki text.38 The new way to wrap any wiki content inside a <div> is to use the `#!div` Wiki 29 Note that Trac sanitizes your HTML code before displaying it. That means that potentially dangerous constructs, such as Javascript event handlers, will be removed from the output. 30 31 The filtering is done by [http://genshi.edgewall.org/ Genshi] and the output will be a well-formed fragment of HTML. This means that you can no longer use two HTML blocks, one for opening a <div> and another for closing it, in order to wrap arbitrary wiki text. 32 The new way to wrap any wiki content inside a <div> is to use the `#!div` Wiki processor. 39 33 40 34 == How to use `#!div` and `#!span` == #HowtoUseDivSpan … … 116 110 }}} 117 111 118 Note that the contents of a `#!div` block are contained in one or more paragraphs, which have a non-zero top and bottom margin. This leads to the top and bottom padding in the example above. To remove the top and bottom margin of the content s, add the `compact` class to the `#!div`. Another predefined class besides `wikipage` and `compact` is `important`, which can be used to make a paragraph stand out. Extra CSS classes can be defined via the `site/style.css` file for example, see TracInterfaceCustomization#SiteAppearance.119 120 For spans, you should ratheruse the Macro call syntax:112 Note that the contents of a `#!div` block are contained in one or more paragraphs, which have a non-zero top and bottom margin. This leads to the top and bottom padding in the example above. To remove the top and bottom margin of the content, add the `compact` class to the `#!div`. Another predefined class besides `wikipage` and `compact` is `important`, which can be used to make a paragraph stand out. Extra CSS classes can be defined via the `site/style.css` file for example, see TracInterfaceCustomization#SiteAppearance. 113 114 For spans, you should use the Macro call syntax: 121 115 ||= Wiki Markup =|| 122 116 {{{#!td … … 135 129 == How to use `#!td` and other table related processors == #Tables 136 130 137 `#!td` or `#!th` processors are actually the main ones, for creating table data andheader cells, respectively. The other processors `#!table` and `#!tr` are not required for introducing a table structure, as `#!td` and `#!th` will do this automatically. The `|-` row separator can be used to start a new row when needed, but some may prefer to use a `#!tr` block for that, as this introduces a more formal grouping and offers the possibility to use an extra level of indentation. The main purpose of the `#!table` and `#!tr` is to give the possibility to specify HTML attributes, like ''style'' or ''valign'' to these elements.131 The `#!td` or `#!th` processors should be used to create table data and table header cells, respectively. The other processors `#!table` and `#!tr` are not required for introducing a table structure, as `#!td` and `#!th` will do this automatically. The `|-` row separator can be used to start a new row when needed, but some may prefer to use a `#!tr` block for that, as this introduces a more formal grouping and offers the possibility to use an extra level of indentation. The main purpose of the `#!table` and `#!tr` is to give the possibility to specify HTML attributes, like ''style'' or ''valign'' to these elements. 138 132 139 133 ||= Wiki Markup =||= Display =|| … … 263 257 }}} 264 258 265 Note that by default tables are assigned the "wiki" CSS class, which gives a distinctive look to the header cells and a default border to the table and cells (as can be seen for the tables on this page). By removing this class (`#!table class=""`), one regains complete control on the table presentation. In particular, neither the table, the rows nor the cells will have a border, so this is a more effective way to get such an effectthan having to specify a `style="border: no"` parameter everywhere.259 Note that by default tables are assigned the "wiki" CSS class, which gives a distinctive look to the header cells and a default border to the table and cells, as can be seen for the tables on this page. By removing this class (`#!table class=""`), one regains complete control on the table presentation. In particular, neither the table nor the rows nor the cells will have a border, so this is a more effective way to get such an effect rather than having to specify a `style="border: no"` parameter everywhere. 266 260 267 261 {{{#!table class="" … … 309 303 }}} 310 304 311 312 305 == HTML comments == 313 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:306 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 Trac 0.12: 314 307 ||= Wiki Markup =|| 315 308 {{{#!td
Note: See TracChangeset
for help on using the changeset viewer.