annotate examples/trac/wiki-default/WikiProcessors @ 39:93b4dcbafd7b trunk

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