Cmark 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Cmark 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Cmark 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 C/C++ Python
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 罗奇奇
适用人群 未知
收录时间 2021-11-05

软件简介

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

  • 共享库 ( libcmark),可以将 CommonMark 文档解析为抽象语法树 (AST)、操作 AST 并将文档呈现为 HTML、groff man、LaTeX、CommonMark 或 AST 的 XML 表示的函数。
  • C 程序(cmark):一个用于解析和输出 CommonMark 文档的命令行程序 。

优点

  • 轻便:用标准 C99 编写,没有外部依赖,已经过 MSVC、gcc、tcc 和 clang 测试。
  • :可以在眨眼间呈现 Markdown 版本的《War and Peace》(在 10 年前的笔记本电脑上为 127 毫秒,而眨眼为 100-400 毫秒),这个速度比原始 Markdown.pl 快 10000 倍。
  • 准确通过了所有 CommonMark 一致性测试。
  • 标准化:Cmark 跟其他标准 CommonMark 库的工作方式是完全相同的,比如,你可以在客户端使用 commonmark.js 预览那些即将在服务器上使用 cmark 呈现的内容,不用担心内容格式有变化。
  • 坚固已使用 american fuzzy lop 进行了广泛的模糊测试 ,测试套件包括病态案例,这些案例曾经让其他 Markdown 解析器陷入困境。(例如,数千个深度嵌套的括号或引号)。
  • 灵活:CommonMark 输入被解析为 AST,该 AST 可以在渲染之前以编程方式进行操作。
  • 多种渲染器:支持 HTML、groff man、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,以减少构建依赖。
  • 如果有 GNU make,可以简单地 make, make test make install
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
0 评论
1 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部