Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Changes between Initial Version and Version 1 of WikiProcessors


Ignore:
Timestamp:
Oct 22, 2006, 12:34:42 AM (17 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WikiProcessors

    v1 v1  
     1= Wiki Processors =
     2
     3Processors are WikiMacros designed to provide alternative markup formats for the [TracWiki Wiki engine]. Processors can be thought of as ''macro functions to process user-edited text''.
     4
     5The Wiki engine uses processors to allow using [wiki:WikiRestructuredText Restructured Text], [wiki:WikiHtml raw HTML] and [http://www.textism.com/tools/textile/ textile] in any Wiki text throughout Trac.
     6
     7
     8== Using Processors ==
     9
     10To use a processor on a block of text, use a Wiki code block, selecting a processor by name using ''shebang notation'' (#!), familiar to most UNIX users from scripts.
     11
     12'''Example 1''' (''inserting raw HTML in a wiki text''):
     13
     14{{{
     15#!html
     16<pre class="wiki">{{{
     17#!html
     18&lt;h1 style="color: orange"&gt;This is raw HTML&lt;/h1&gt;
     19}}}</pre>
     20}}}
     21
     22'''Results in:'''
     23{{{
     24#!html
     25<h1 style="color: orange">This is raw HTML</h1>
     26}}}
     27
     28----
     29
     30'''Example 2''' (''inserting Restructured Text in wiki text''):
     31
     32{{{
     33#!html
     34<pre class="wiki">{{{
     35#!rst
     36A header
     37--------
     38This is some **text** with a footnote [*]_.
     39
     40.. [*] This is the footnote.
     41}}}</pre>
     42}}}
     43
     44'''Results in:'''
     45{{{
     46#!rst
     47A header
     48--------
     49This is some **text** with a footnote [*]_.
     50
     51.. [*] This is the footnote.
     52}}}
     53----
     54'''Example 3''' (''inserting a block of C source code in wiki text''):
     55
     56{{{
     57#!html
     58<pre class="wiki">{{{
     59#!c
     60int main(int argc, char *argv[])
     61{
     62  printf("Hello World\n");
     63  return 0;
     64}
     65}}}</pre>
     66}}}
     67
     68'''Results in:'''
     69{{{
     70#!c
     71int main(int argc, char *argv[])
     72{
     73  printf("Hello World\n");
     74  return 0;
     75}
     76}}}
     77
     78----
     79
     80== Available Processors ==
     81The following processors are included in the Trac distribution:
     82 * '''html''' -- Insert custom HTML in a wiki page. See WikiHtml.
     83 * '''rst''' -- Trac support for Restructured Text. See WikiRestructuredText.
     84 * '''textile''' -- Supported if  [http://dealmeida.net/projects/textile/ Textile] is installed. See [http://hobix.com/textile/ a Textile reference].
     85
     86Textile link above is rotten. [http://www.textism.com/tools/textile/ this one] works, allows to test example.
     87
     88=== Code Highlighting Support ===
     89Trac includes processors to provide inline [wiki:TracSyntaxColoring syntax highlighting] for the following languages:
     90 * '''c''' -- C
     91 * '''cpp''' -- C++
     92 * '''python''' -- Python
     93 * '''perl''' -- Perl
     94 * '''ruby''' -- Ruby
     95 * '''php''' -- PHP
     96 * '''asp''' --- ASP
     97 * '''sql''' -- SQL
     98 * '''xml''' -- XML
     99'''Note:''' ''Trac relies on external software packages for syntax coloring. See TracSyntaxColoring for more info.''
     100
     101By using the MIME type as processor, it is possible to syntax-highlight the same languages that are supported when browsing source code. For example, you can write:
     102{{{
     103{{{
     104#!text/html
     105<h1>text</h1>
     106}}}
     107}}}
     108
     109The result will be syntax highlighted HTML code. The same is valid for all other mime types supported.
     110
     111
     112For more processor macros developed and/or contributed by users, visit:
     113 * [http://projects.edgewall.com/trac/wiki/ProcessorBazaar ProcessorBazaar]
     114 * [http://projects.edgewall.com/trac/wiki/MacroBazaar MacroBazaar]
     115
     116
     117== Advanced Topics: Developing Processor Macros ==
     118Developing processors is no different from WikiMacros. In fact they work the same way, only the usage syntax differs. See WikiMacros for more information.
     119
     120'''Example:''' (''Restructured Text Processor''):
     121{{{
     122#!python
     123from docutils.core import publish_string
     124
     125def execute(hdf, text, env):
     126    html = publish_string(text, writer_name = 'html')
     127    return html[html.find('<body>')+6:html.find('</body>')].strip()
     128}}}
     129
     130----
     131See also: WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!