【问题标题】:What library does Github use for parsing markdown?Github 使用什么库来解析 markdown?
【发布时间】:2017-01-26 09:41:32
【问题描述】:

Github “使用” github 风格的降价,但我无法找到它的确切含义。他们在客户端使用什么解析库来呈现预览?

*.md 文件、问题和 wiki 页面是否使用相同的库?

如果您可以向我指出一个资源,该资源显示了 github 风格的降价和 commonmark 如何重叠以及它们有何不同,则可以加分。

【问题讨论】:

    标签: github markdown github-flavored-markdown commonmark


    【解决方案1】:

    向我指出一个资源,该资源显示了 github 风格的 markdown 和 commonmark 如何重叠以及它们有何不同。

    现在(2017 年 3 月)已正式记录:请参阅“A formal spec for GitHub Flavored Markdown

    从今天开始,我们网站上托管的所有 Markdown 用户内容,包括存储库中的用户 cmets、wiki 和 .md 文件都将按照 formal specification for GitHub Flavored Markdown 进行解析和呈现。

    这在“A formal spec for GitHub Flavored Markdown”中有详细说明

    此正式规范基于 CommonMark,这是一个雄心勃勃的项目,旨在正式指定 Internet 上许多网站使用的 Markdown 语法,以反映其实际使用情况。
    CommonMark 让人们可以像往常一样继续使用 Markdown,同时为开发人员提供全面的规范和参考实现,以便在平台之间以一致的方式互操作和显示 Markdown。

    想法是:

    采用 CommonMark 规范并围绕它重新设计我们当前的用户内容堆栈并非易事。
    我们努力解决的主要问题是规范(以及它的参考实现)严格关注原始 Perl 实现所支持的 Markdown 的公共子集。
    这不包括一些扩展功能一直在 GitHub 上可用。最值得注意的是,缺少对表格、删除线、自动链接和任务列表的支持

    为了完全指定我们在 GitHub 使用的 Markdown 版本(称为 GFM),我们必须正式定义这些功能的语法和语义,这是我们以前从未做过的事情。 我们在现有 CommonMark 规范的基础上做这件事,特别注意确保我们的扩展是原始规范的严格和可选超集

    【讨论】:

      【解决方案2】:

      Markup 是“我们 [Github] 用来呈现 README.your_favorite_markup 的代码”。他们将 Redcarpet 列为他们的 Markdown 库。这反过来使用Sundown。这是否用于所有网站我不确定。

      它还声称拥有“大规模扩展支持”。

      Sundown 提供对多个(非官方)Markdown 扩展的可选支持,例如非严格强调、围栏代码块、表格、自动链接、删除线等。

      有关完整的详细信息,您可能必须深入研究这些库。

      如果您可以向我指出一个资源,该资源显示了 github 风格的降价和 commonmark 如何重叠以及它们有何不同,则可以加分。

      Sundown 声称“完全符合” Markdown v1.0.0 和 v1.0.3 的标准,但我终其一生都找不到这些版本。只有v1.0.1CommonMark 为0.26。

      Sundown 开箱即用地通过了官方 Markdown v1.0.0 和 v1.0.3 测试套件,并且已经通过额外的极端案例进行了广泛的测试,以确保其输出始终尽可能合理。

      Github Markdown 扩展是documented in their Mastering Markdown guide

      【讨论】:

        猜你喜欢
        • 2021-05-05
        • 2014-12-21
        • 2020-11-06
        • 2010-11-24
        • 2014-01-27
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多