#moinmoin 1.5 plugin #pygment based parser #example: #1) install pygments from pygments.pocoo.com #2) put pygment.py to $moin_dir/data/plugin/parser/ dir #3) post on wiki some shit as: #{{{#!pygment sql #select * from db..table ; #}}} # for print all supported lexer use: #python -c 'import pygments.lexers, pprint;pprint.pprint(pygments.lexers.LEXERS)' # #copyright: 2006 by slav0nic (slav0nic.xss.ru) #license: GNU GPL, see http://www.gnu.org/licenses/gpl for details from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import HtmlFormatter class Parser: def __init__(self, raw, request, **kw): self.raw = raw self.request = request self.kw = kw def format(self, formatter): html_formatter = HtmlFormatter() try: lexer = get_lexer_by_name(self.kw["format_args"].strip()) except ValueError: lexer = get_lexer_by_name('text') self.request.write(formatter.rawHTML("".join(('\n\n', highlight(self.raw, lexer, html_formatter)))))