2012-08-13 65 views
17

有谁知道可用的Python GFM实现吗?Python中的Github-Flavored-Markdown

当前我使用的是javascript renderer。 它的工作原理,但实际的Python渲染器将是该工作的正确工具。 (FS是一个Django应用程序)

我试着将thisthis结合起来。但结果并不好。

相关的代码 - >https://github.com/freedomsponsors/www.freedomsponsors.org/blob/master/djangoproject/core/models.py (见IssueComment.toHTML)

语法高亮是一个加号。

回答

16

GitHub上使用Redcarpet这实在是一个Ruby具有约束力的github上为Sundown建。

Python中的Sundown绑定名为Misaka。如果你想要更接近渲染器github使用的东西,但在python中,你可能会从那里开始。

要使代码高亮显示,您可以使用Pygments with Misaka

+0

不错!我会检查出来的。谢谢! – 2012-08-14 11:28:29

+0

的确,它只是起作用。谢谢(很快会有演示) – 2012-09-04 05:16:00

+1

[This](https://github.com/freedomsponsors/www.freedomsponsors.org/issues/4)是我如何使它工作的。 如果有人打算使用misaka,请小心[this](https://github.com/FSX/misaka/issues/25#issuecomment-8295218) – 2012-09-05 11:47:11

2

Grip也很酷,能够完成任务。

6

Python-Markdownpy-gfm似乎很好。它具有在Python生态系统中有点标准化的好处 - 可以使用几种Python-Markdown扩展,然后可以在Python-Markdown之上构建其他包,如django_markdown,并从其扩展中受益。

+0

作为[py-gfm]的新维护者( https://github.com/zopieux/py-gfm),我会尝试在未来版本中添加缺少的功能。 – zopieux 2016-03-04 21:19:08

1

如果对他人有帮助,我只想让Github围栏代码的语法,例如

```python 
def hello(): 
    print('this should be rendered properly') 
``` 

Python Markdown实际上附带的扩展,已经这样做了名为Fenced Code Blocks行之有效。

你只是把它就像这样:

page_content = markdown.markdown(source, extensions=[FencedCodeExtension()])