= The Processor Bazaar = Looking for fresh wiki processor goodness for your Trac installation? Have you written a clever wiki-processor you're dying to share with the world? This is the place. The wiki-processor bazaar is for sharing information about user-developed processors and links to source code and requests. '''Note:''' ''Please state your name, email, and version of Trac your wiki-processor is developed for.'' == How to use these wiki-processors: == * Just put the files into the {{{wikimacros}}} directory of your Python installation, e.g. {{{/usr/lib/python2.3/site-packages/trac/wikimacros}}}. The macros will then be available for all your Trac environments. * Alternatively, put the files into the {{{wiki-macros}}} directory of your Trac environment, e.g. {{{/data/trac/wiki-macros}}}. The macros will be available only for this environment. ---- === !LegendBox === A wiki-processor for encapsulating wiki text inside a box. The box will have a legend and a modifiable color. To use this, simply place it into wikimacro directory and use it. Example: {{{ {{{ #!LegendBox #!color: blue #!legend: My Title Here comes the actual text that will be inside the box. You can even use wiki-formatting in here. }}} }}} You can modify the default ''COLOR'' and ''LEGEND'' and the ''STYLE'' in the plugin file. [[BR]]''Download:'' [attachment:LegendBox.py] [[BR]]''By:'' Jan Finell (finell at cenix-bioscience.com) [[BR]]''Required ver:'' > 0.8pre (though changing the import of the ''wiki_to_html'' function will make it work on older versions) For version 0.9pre2, I could not use the version above, some things have changed. The version below works for me. [[BR]]''Download:'' [attachment:LegendBox-0.9pre2.py] [[BR]]''By:'' Pedro Melo (melo at simplicidade.org) [[BR]]''Required ver:'' > 0.9pre2 For Trac version 0.10: [[BR]]''Download:'' [attachment:LegendBox-0.10.py] [[BR]]''By:'' Lars Stavholm (stava at linadd.org) [[BR]]''Required ver:'' >= 0.10 ---- === Striped === A Trac wiki-processor to display text as a striped listing. The output is enclosed in a {{{
}}} block of class "striped",
and each line in a {{{
}}} block of alternating "even-stripe" and "odd-stripe" classes. You '''must''' set this classes up in your {{{templates/site_css.cs}}} file, or alternatively use the processor arguments "box-style", "even-style" and "odd-style". The "number" argument allows automatic numbering of lines; it accepts three args: a Python-style format (quotes and all), the initial number for the first line, and the step between numbers. If no format is passed, there is no automatic numbering; otherwise, the start and step arguments default to 1. Example: {{{ {{{ #!Striped #!number: " %3d ", 100, 10 #!box-style: border: thick solid #C0C0C0; margin: 20px; width: 70%; #!even-style: background-color: #DAC0DA; ...text here... }}} }}} (A lot of ideas and syntax for arguments shamelessly stolen from previous entry by Jan Finell. Thanks!) [[BR]] [[BR]]''Download:'' [attachment:Striped.py] [[BR]]''By:'' Juanma Barranquero (lekktu at gmail.com) [[BR]]''Tested on:'' 0.8 (should work on previous versions, though) ---- === !DocBook ===#docbook A [http://docbook.org/ DocBook] WikiProcessor. Requires: * libxml2-python (developed with version 2.6.11) * libxslt-python (developed with version 1.1.8) Specify "stylesheet" under the "docbook" section in your trac.ini, for example: {{{ [docbook] stylesheet = /usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl }}} Include DocBook mark-up in a wiki blockquote, with the docbook processor selected: {{{ {{{ #!docbook ...DocBook mark-up here... }}} }}} [[BR]]''Download:'' [attachment:docbook.py] [[BR]]''By:'' Simon Ward [[BR]]''Version:'' 0.8.x ---- === !SortedTable === A WikiProcessor which sorts tables with JavaScript. Requires [http://www.kryogenix.org/code/browser/sorttable/sorttable.js sorttable.js] from http://www.kryogenix.org/code/browser/sorttable/ . Usage: 1. Fetch [http://www.kryogenix.org/code/browser/sorttable/sorttable.js sorttable.js] (see above) 1. Put the script somewhere on your HTTP server and set the variable sorttable_js_url in TracIni OR put the JavaScript file in the same directory as the Python file. 1. Use WikiProcessor syntax like {{{ {{{ #!sortedtable || Strings || Numbers || || abc || 2 || || def || 10 || || abd || 9 || }}} }}} Use the usual table syntax for wiki pages. 1. If the browser has JavaScript enabled, you will be able to sort the resulting table by clicking on the headings in the first row. [[BR]]''Download:'' http://www.sschwarzer.net/download/sortedtable.py [[BR]]''By:'' Stefan Schwarzer (sschwarzer at sschwarzer dot net) [[BR]]''Version:'' >= 0.8 (tested with 0.8) ---- === !IrcLog === A WikiProcessor that colourises IRC logs. To use, import the stylesheets in your {{{$TRAC_ENV/templates/site_css.cs}}} and mark-up your IRC text as follows: {{{ {{{ #!irclog ... }}} }}} It formats logs in the default format used by Xchat, as well as some others. The irclog processor is distributable under the terms of the GNU GPL (see: http://www.gnu.org/copyleft/gpl.html). Based on [http://mg.pov.lt/irclog2html/ irclog2html.py] by Marius Gedminas. [[BR]]''Download:'' http://projects.bleah.co.uk/misc/browser/tracirclog/trunk [[BR]]''By:'' Simon Ward [[BR]]''Version:'' 0.8.x ---- === !BlockQuote === A simple processor that wraps the processed text in blockquote tags. While Trac [wiki:WikiFormatting#Blockquotes provides] markup for blockquotes, a processor appears to be easier to use for larger quotes. Usage: {{{ {{{ #!blockquote This is the text that goes between the blockquote tags. Even WikiFormatting works. You might want to add custom CSS for blockquotes... }}} }}} A working example can be seen [http://madwifi.org/wiki/WikiBlockQuote here]. ''Download:'' [attachment:blockquote-0.1.1.py] [[BR]]''By:'' Michael Renzmann [[BR]]''Version:'' 0.9b2 (might work with older versions as well) [[BR]]''Last change:'' v0.1.1 now correctly handles WikiFormatting in quoted texts ---- === graphviz === A processor that uses Graphviz' dot to make graphs. Usage: {{{ {{{ #!graphviz digraph G { A [color = green]; A -> B -> C -> A C -> B } }}} }}} ''Version:'' >= 0.8 [[BR]]''Download:'' [attachment:graphviz.py] [[BR]]''By:'' Vegard Eriksen zyp at jvnv dot net '''Note:''' A much more powerful Graphviz processor is available [http://trac-hacks.org/wiki/GraphvizPlugin here]. ---- === latex-math === A processor that uses LaTeX to make math. Loosely based on graphviz.py and mt-math. Usage: {{{ {{{ #!latex-math E=mc^2 }}} }}} ''Version:'' >= svn162 [[BR]]''Download:'' https://svn.truelite.it/packages/browser/trunk/truelite-trac-utils/ [[BR]] and [[BR]] https://svn.truelite.it/packages/file/trunk/truelite-trac-utils/wiki-macros/latex-math.py [[BR]]''By:'' Mirko Maischberger mirko at truelite dot it '''Note:''' This spawn a latex process, you'll need tetex, tetex-extra and dvipng. This is also non suitable for public wikis becuase spawning an external latex process is not secure. ---- === !ShellExample === A processor that produce [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=5 gentoo document code listing], . Usage: {{{ {{{ #!ShellExample ~ $ make (becomes root and install) ~ $ su ~ # make install }}} }}} ''Version:'' >= unknown [[BR]]''Download:'' http://trac.lighttpd.net/xcache/wiki/ShellExample [[BR]]''By:'' mOo [[BR]]''Version:'' 4 ---- === pascal === A simple processor that uses predefined processor to make highlighted output of the pascal source code.[[BR]] ,,You have to use additional code highlighting processor such as '''enscript''',, Usage: {{{ {{{ #!pascal procedure Example(const A, B : byte); begin if (A=B) then for i:=0 to 25 do begin WriteLn('Example'); end; end; }}} }}} Will produce: {{{ #!html
procedure Example(const A, B : byte);
begin
    if (A=B) then for i:=0 to 25 do begin
        WriteLn('Example');
    end;
end;
}}} ''Download:'' [attachment:pascal-0.0.1.py] [[BR]]''By:'' SHadoW [[BR]]''Version:'' 0.0.1 Tested on trac 0.10 but should work on older versions == Requests == ''Requests, comments, etc go here.'' * Request: A WikiProcessor for Graphviz [http://www.graphviz.org/Documentation/dotguide.pdf dot] programs, similar to what [http://www.stack.nl/~dimitri/doxygen/commands.html#cmddot Doxygen supports.] * Request: A WikiProcessor for SVG [http://www.svg-whiz.com/wiki/index.php?title=SVG_FAQ] * Request: A WikiProcessor for mathematical formulas, probably in latex or lout style. * Request: A WikiProcessor for unified diffs ''(well, it's already there since 0.9, no? use `#!diff` in your block)'' * Request: A WikiProcessor for [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=5 gentoo document code listing], it's useful for giving guide on shell examples. (done) * Request: A WikiProcessor for javascript syntax highlighting ---- See also: WikiProcessors, MacroBazaar