hoedown 3.0.3

hoedown 3.0.3

测试已测试
语言语言 CC
许可证 MIT
发布时间最后发布2015年6月

Clemens Gruber 维护。



hoedown 3.0.3

  • Natacha Porte、Vincent Marti、Devin Torres 以及 hoedown 作者和 Clemens Gruber(podspec)共同创作

Hoedown

Hoedown 是基于 Natacha Porté 的 Upskirt 库原始代码的一个 Markdown 解析器 Sundown 的回归分支。

特性

  • 完全符合标准

    Hoedown 可以直接通过官方 Markdown v1.0.0 和 v1.0.3 测试套件,并且已经针对额外的边缘情况进行了广泛测试,以确保其输出始终尽可能合理。

  • 支持大量扩展

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

  • 支持 UTF-8

    Hoedown 完全支持 UTF-8,无论是解析源文档还是生成结果(X)HTML 代码。

  • 已测试且可用于生产环境

    Hoedown 已经过广泛的 安全审计,并包含对所有可能的 DOS 攻击(堆栈溢出、内存不足情况、格式错误的 Markdown 语法...)的保护。

    我们努力确保 Hoedown 在任何输入下都不会泄露或崩溃。

    警告Hoedown 不验证或后处理 Markdown 文档中的 HTML。除非您使用 HTML_ESCAPEHTML_SKIP,否则强烈建议您与 Hoedown 配合使用一个好的后处理器,以防止客户端攻击。

  • 可定制的渲染器

    Hoedown 不仅仅局限于 XHTML 输出:该库的 Markdown 解析器与渲染器分离,因此可以轻松地通过自定义渲染器扩展库。该库包括一个完全功能性的(X)HTML 渲染器。

  • 优化速度

    Hoedown 用 C 语言编写,特别注重性能。当在 Python 或 Ruby 等动态语言上包装时,它比其他原生替代品快 40 倍以上。

  • 无依赖

    Hoedown 是由一些 .c 文件及其头文件组成的无依赖库。无依赖,无需其他东西。只有标准 C99,在哪里都能构建。

  • 其他特性

    Hoedown 随带SmartyPants的完整实现,一个独立的自动链接器,转义工具,缓冲区和栈。

绑定

您可以在 维基 上看到一个社区维护的 Hoedown 绑定列表。还有一个适用于 Sundown 绑定作者的 迁移指南 可用。

帮助我们

Hoedown主要关注安全性。如果您在该库中发现(潜在的)安全漏洞或通过恶意输入导致程序崩溃的途径,请通过电子邮件发报到我们的私人Hoedown 安全邮件列表。Hoedown安全管理团队会审查该漏洞,并与您合作重现和解决。

Unicode 字符处理

鉴于Markdown规范没有提供Unicode字符处理,Hoedown在决定哪些扩展字符触发Markdown功能时采取了保守的方法。

  • U+007F代码点之外的所有标点符号不被视为标点。它们被认为是正常的单词内字符,用于单词边界检查。

  • U+007F代码点之外的所有空白字符不被视为空白。它们被认为是正常的单词内字符,用于单词边界检查。

安装

直接输入make将构建Hoedown为动态库,并创建hoedownsmartypants可执行文件。这些是命令行工具,可分别将Markdown渲染为HTML并执行SmartyPants。

如果您使用CocoaPods,只需将行pod 'hoedown'添加到Podfile中,然后调用pod install

或者,如果您更喜欢,只需将src目录中的文件放入您的项目中。