Python 中的 Github 风味 Markdown

问题描述 投票:0回答:7

有人知道可行的 Python GFM 实现吗?

目前我正在使用 javascript 渲染器。 它可以工作,但真正的 Python 渲染器才是完成这项工作的正确工具。 (FS 是 Django 应用程序)

我尝试将 thisthis 结合起来。但结果不太好。

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

语法突出显示是一个优点。

python github markdown
7个回答
20
投票

GitHub 使用 Redcarpet,它实际上是 github 为 Sundown 构建的 Ruby 绑定。

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

对于代码突出显示,您可以使用 Pygments 与 Misaka


9
投票

Python-Markdownpy-gfm 似乎效果很好。它的优点是在 Python 生态系统中实现了一定程度的标准化 - Python-Markdown 的多个扩展可用,然后可以在 Python-Markdown 之上构建其他软件包(如 django_markdown)并从其扩展中受益。


6
投票

如果对其他人有帮助,我只想要 Github 防护代码语法,例如

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

Python Markdown 实际上附带了一个扩展来执行此操作,该扩展已称为 Fenced Code Blocks,效果很好。

你就这样称呼它:

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

2
投票

Grip 也很酷,可以完成工作。


1
投票

Python 有自己的标记语言,与 Markdown 非常相似:http://docutils.sourceforge.net/rst.html



0
投票

cmarkgfm
包提供Python绑定到GitHub的cmark分支,以便“渲染符合GitHub的要求,因为这个包包装了GitHub自己的C解析器和序列化器”(根据
pycmarkgfm
包,它是非常相似,但最近维护得较少)。

© www.soinside.com 2019 - 2024. All rights reserved.