【问题标题】:Github-Flavored-Markdown in PythonPython 中的 Github-Flavored-Markdown
【发布时间】:2012-08-10 04:49:22
【问题描述】:

有谁知道一个有效的 Python GFM 实现?

目前我使用的是javascript renderer。 它可以工作,但实际的 Python 渲染器将是完成这项工作的正确工具。 (FS 是一个 Django 应用)

我尝试将thisthis 结合使用。但结果并不是那么好。

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

语法高亮是一个优点。

【问题讨论】:

    标签: python github markdown


    【解决方案1】:

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

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

    对于代码高亮,您可以使用Pygments with Misaka

    【讨论】:

    • 不错!我会检查一下。谢谢!
    • This 是我让它工作的方式。如果其他人打算使用misaka,请注意this
    【解决方案2】:

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

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

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

    你可以这样称呼它:

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

    【讨论】:

      【解决方案3】:

      Python-Markdown 加上py-gfm 似乎运作良好。它的好处是在 Python 生态系统中有些标准化 - 有几个 Python-Markdown 扩展可用,然后可以在 Python-Markdown 之上构建其他包(如 django_markdown)并从其扩展中受益。

      【讨论】:

      • 作为py-gfm的新维护者,我会尝试在未来的版本中添加缺失的功能。
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:
        【解决方案6】:

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

        【讨论】:

        • 谢谢,很高兴知道(赞成)。不过我宁愿使用 md。
        猜你喜欢
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 2013-03-19
        • 1970-01-01
        • 2014-01-22
        • 2021-05-16
        • 2016-09-18
        • 1970-01-01
        相关资源
        最近更新 更多