Okay, I wasn't going to mention it before because it only seemed to cover the ejecta (no pun intended) of a certain web phenomenon, but now it's getting ridiculous.
I don't think the apps are exactly done. I looked through the source code a little, and saw a (rather amusing) todo note.
def htmlize(text, language):
from pygments import highlight
from pygments.formatters import HtmlFormatter as Formatter
if language == 'Python':
from pygments.lexers import PythonLexer as Lexer
elif language == 'Perl':
from pygments.lexers import PerlLexer as Lexer
elif language == 'Ruby':
from pygments.lexers import RubyLexer as Lexer
elif language == 'PythonConsole':
from pygments.lexers import PythonConsoleLexer as Lexer
elif language == 'PythonTraceback':
from pygments.lexers import PythonTracebackLexer as Lexer
elif language == 'RubyConsole':
from pygments.lexers import RubyConsoleLexer as Lexer
elif language == 'HtmlDjango':
from pygments.lexers import HtmlDjangoLexer as Lexer
elif language == 'Html':
from pygments.lexers import HtmlLexer as Lexer
else:
from pygments.lexers import TextLexer as Lexer
"""
Todo: I cant get this to work.
lang_lexer = str(language + 'Lexer')
Lexer = __import__('pygments.lexers', globals(), locals(), [lang_lexer, ])
Or
from pygments.lexers import get_lexer_by_name
Lexer = get_lexer_by_name(language.lower())
"""
htmld = highlight(text, Lexer(), Formatter(linenos='table'))
return htmld