Does mistune support code/syntax highlighting? [question]
avinassh opened this issue · 2 comments
avinassh commented
^question. If so, how can I use Pygments or some other library? Thanks!
avinassh commented
aha, I should have read the README, oops.
xzava commented
This is the top link in google search, so ill add this for anyone else looking for it.
import mistune
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import html
class HighlightRenderer(mistune.Renderer):
def block_code(self, code, lang):
if not lang:
return '\n<pre><code>%s</code></pre>\n' % \
mistune.escape(code)
lexer = get_lexer_by_name(lang, stripall=True)
formatter = html.HtmlFormatter(lineseparator="<br>")
return highlight(code, lexer, formatter)
renderer = HighlightRenderer()
markdown = mistune.Markdown(renderer=renderer)
output_html = markdown(content_document)
print(output_html)