有人知道一个可用的Python GFM实现吗?
目前我正在使用一个JavaScript渲染器。它能工作,但是一个实际的Python渲染器才是合适的工具。(FS是一个Django应用程序)
相关代码 --> https://github.com/freedomsponsors/www.freedomsponsors.org/blob/master/djangoproject/core/models.py (看IssueComment.toHTML)
语法高亮是一个优点。
有人知道一个可用的Python GFM实现吗?
目前我正在使用一个JavaScript渲染器。它能工作,但是一个实际的Python渲染器才是合适的工具。(FS是一个Django应用程序)
相关代码 --> https://github.com/freedomsponsors/www.freedomsponsors.org/blob/master/djangoproject/core/models.py (看IssueComment.toHTML)
语法高亮是一个优点。
GitHub使用Redcarpet,这是一个由github为Sundown构建的Ruby绑定。
Python中也有一个叫做Misaka的Sundown绑定,如果你想在Python中使用接近于GitHub所使用的渲染器,那么从那里开始吧。
对于代码高亮,你可以使用Pygments with Misaka。
Python-Markdown加上py-gfm似乎很好用。它的好处是在Python生态系统内有一定程度的标准化 - 有几个针对Python-Markdown的扩展可用,然后可以在Python-Markdown的基础上构建其他包,如django_markdown并从其扩展中受益。
```python
def hello():
print('this should be rendered properly')
```
Python Markdown 实际上已经自带了一个扩展程序,可以实现这个功能,叫做 Fenced Code Blocks ,它能够很好地工作。
你只需要这样调用它:
page_content = markdown.markdown(source, extensions=[FencedCodeExtension()])
Python有自己的标记语言,与Markdown非常相似:http://docutils.sourceforge.net/rst.html