block with custom style
}}}
|-----------------------------------------------------------------
{{{#!td style="border: none"
  {{{
  {{{#!div style="background: #ffd; border: 3px ridge"
  This is an example of embedded "code" block:
    {{{
    #!python
    def hello():
        return "world"
    }}}
  }}}
  }}}
}}}
{{{#!td valign=top style="border: none; padding: 1em"
  {{{#!div style="background: #ffd; border: 3px ridge"
  This is an example of embedded "code" block:
    {{{
    #!python
    def hello():
        return "world"
    }}}
  }}}
}}}
|-----------------------------------------------------------------
{{{#!td colspan=2 align=center style="border: none"
     __Example 3__: Searching tickets from a wiki page, by keywords.
}}}
|-----------------------------------------------------------------
{{{#!td style="border: none"
  {{{
  {{{
  #!html
  
  }}}
  }}}
}}}
{{{#!td valign=top style="border: none; padding: 1em"
  {{{
  #!html
  
  }}}
}}}
== Available Processors ==
The following processors are included in the Trac distribution:
|| '''`#!default`''' || Present the text verbatim in a preformatted text block. This is the same as specifying ''no'' processor name (and no `#!`) ||
|| '''`#!comment`''' || Do not process the text in this section (i.e. contents exist only in the plain text - not in the rendered page). ||
|||| ||
||||= '''HTML related''' =||
|| '''`#!html`''' || Insert custom HTML in a wiki page. ||
|| '''`#!htmlcomment`''' || Insert an HTML comment in a wiki page (''since 0.12''). ||
|| || Note that `#!html` blocks have to be ''self-contained'', i.e. you can't start an HTML element in one block and close it later in a second block. Use the following processors for achieving a similar effect.  ||
|| '''`#!div`''' || Wrap an arbitrary Wiki content inside a 
 element (''since 0.11''). ||
|| '''`#!span`''' || Wrap an arbitrary Wiki content inside a  element (''since 0.11''). ||
|| '''`#!td`''' || Wrap an arbitrary Wiki content inside a 
element (''since 0.12'') ||
|| '''`#!th`''' || Wrap an arbitrary Wiki content inside a | element (''since 0.12'') ||
|| '''`#!tr`''' || Can optionally be used for wrapping `#!td` and `#!th` blocks, either for specifying row attributes of better visual grouping (''since 0.12'') ||
|| || See WikiHtml for example usage and more details about these processors. ||
|||| ||
||||= '''Other Markups''' =||
|| '''`#!rst`''' || Trac support for Restructured Text. See WikiRestructuredText. ||
|| '''`#!textile`''' || Supported if [http://cheeseshop.python.org/pypi/textile Textile] is installed. See [http://www.textism.com/tools/textile/ a Textile reference]. ||
|||| ||
||||= '''Code Highlighting Support''' =||
|| '''`#!c`''' [[BR]] '''`#!cpp`''' (C++) [[BR]] '''`#!python`''' [[BR]] '''`#!perl`''' [[BR]] '''`#!ruby`''' [[BR]] '''`#!php`''' [[BR]] '''`#!asp`''' [[BR]] '''`#!java`''' [[BR]] '''`#!js`''' (Javascript) [[BR]] '''`#!sql`''' [[BR]] '''`#!xml`''' (XML or HTML) [[BR]] '''`#!sh`''' (!Bourne/Bash shell) [[BR]] '''etc.''' [[BR]] || Trac includes processors to provide inline syntax highlighting for source code in various languages. [[BR]] [[BR]] Trac relies on external software packages for syntax coloring, like [http://pygments.org Pygments]. [[BR]] [[BR]] See TracSyntaxColoring for information about which languages are supported and how to enable support for more languages. ||
|||| ||
Using the MIME type as processor, it is possible to syntax-highlight the same languages that are supported when browsing source code.
||||= '''MIME Type Processors''' =||
{{{#!tr
{{{#!td
Some examples:
 {{{
{{{
#!text/html text}}}
 }}}
}}}
{{{#!td
The result will be syntax highlighted HTML code:
 {{{
#!text/htmltext}}}
The same is valid for all other [TracSyntaxColoring#SyntaxColoringSupport mime types supported].
}}}
}}}
{{{#!td
 {{{
{{{
#!diff
--- Version 55
+++ Version 56
@@ -115,8 +115,9 @@
     name='TracHelloWorld', version='1.0',
     packages=find_packages(exclude=['*.tests*']),
-    entry_points = """
-        [trac.plugins]
-        helloworld = myplugs.helloworld
-    """,
+    entry_points = {
+        'trac.plugins': [
+            'helloworld = myplugs.helloworld',
+        ],
+    },
 )
}}}
 }}}
}}}
{{{#!td
'''`#!diff`''' has a particularly nice renderer:
 {{{
#!diff
--- Version 55
+++ Version 56
@@ -115,8 +115,9 @@
     name='TracHelloWorld', version='1.0',
     packages=find_packages(exclude=['*.tests*']),
-    entry_points = """
-        [trac.plugins]
-        helloworld = myplugs.helloworld
-    """,
+    entry_points = {
+        'trac.plugins': [
+            'helloworld = myplugs.helloworld',
+        ],
+    },
 )
 }}}
}}}
For more processor macros developed and/or contributed by users, visit: 
 * [trac:ProcessorBazaar]
 * [trac:MacroBazaar]
 * [http://trac-hacks.org Trac Hacks] community site
Developing processors is no different from Wiki macros. 
In fact they work the same way, only the usage syntax differs. 
See WikiMacros#DevelopingCustomMacros for more information.
----
See also: WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide |