Cmark C 版本 Markdown 解析器开源项目

我要开发同款
匿名用户2021年11月05日
112阅读
开发技术C/C++
所属分类程序开发、Markdown开发包
授权协议MIT

作品详情

Cmark是 C语言实现的Markdown解析器,具有规范的Markdown语法,提供以下内容:

共享库( libcmark),可以将CommonMark文档解析为抽象语法树(AST)、操作AST并将文档呈现为HTML、groffman、LaTeX、CommonMark或AST的XML表示的函数。C程序(cmark):一个用于解析和输出CommonMark文档的命令行程序。优点轻便:用标准C99编写,没有外部依赖,已经过MSVC、gcc、tcc和clang测试。快:可以在眨眼间呈现Markdown版本的《WarandPeace》(在10年前的笔记本电脑上为127毫秒,而眨眼为100-400毫秒),这个速度比原始 Markdown.pl快10000倍。准确:通过了所有CommonMark一致性测试。标准化:Cmark跟其他标准 CommonMark库的工作方式是完全相同的,比如,你可以在客户端使用commonmark.js预览那些即将在服务器上使用cmark呈现的内容,不用担心内容格式有变化。坚固:已使用 americanfuzzylop 进行了广泛的模糊测试,测试套件包括病态案例,这些案例曾经让其他Markdown解析器陷入困境。(例如,数千个深度嵌套的括号或引号)。灵活:CommonMark输入被解析为AST,该AST可以在渲染之前以编程方式进行操作。多种渲染器:支持HTML、groffman、LaTeX、CommonMark和自定义XML格式的输出,且很容易编写新的渲染器来支持其他格式。自由:BSD-2许可

libcmark在python、lua、ruby和其他动态语言中也很容易使用。

安装构建C程序(cmark)和共享库(libcmark)需要cmake,如果你要修改 scanners.re ,那还需要 0.14.2 以上版本的 re2c,用于从scanner.re生成scanner.c,事实上,存储库中已经包含了一个预生成的scanner.c,以减少构建依赖。如果有GNUmake,可以简单地make, maketest和 makeinstall
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论