Skip to content

Instantly share code, notes, and snippets.

@hit9
Last active December 15, 2015 06:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hit9/5220527 to your computer and use it in GitHub Desktop.
Save hit9/5220527 to your computer and use it in GitHub Desktop.
use misaka to highlight code with pygments
import houdini as h
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import HtmlFormatter
import misaka as m
from misaka import HtmlRenderer, SmartyPants
# Create a custom renderer
class BleepRenderer(HtmlRenderer, SmartyPants):
def block_code(self, text, lang):
if not lang:
return '\n<pre><code>%s</code></pre>\n' % \
h.escape_html(text.encode("utf8").strip())
lexer = get_lexer_by_name(lang, stripall=True)
formatter = HtmlFormatter()
return highlight(text, lexer, formatter)
# And use the renderer
renderer = BleepRenderer()
md = m.Markdown(renderer,
extensions=m.EXT_FENCED_CODE | m.EXT_NO_INTRA_EMPHASIS)
print md.render("""
```c
#include <stdio.h>
```
""")
@hit9
Copy link
Author

hit9 commented Mar 22, 2013

支持中文.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment