百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
P

pulldown-cmark

> 编程语言
开源

一个高效、可靠的CommonMark解析器,CommonMark是Markdown的一种标准方言。

2.7K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

一个高效、可靠的CommonMark解析器,CommonMark是Markdown的一种标准方言。

pulldown-cmark

这个库是一个针对 CommonMark 的拉取解析器,使用 Rust 编写。它附带一个简单的命令行工具,可用于渲染为 HTML,并且也设计为易于作为库使用。

它的设计目标是:

  • 快速;分配和复制操作最少
  • 安全;使用纯 Rust 编写,没有不安全的代码块(除了可选的 SIMD 功能)
  • 多功能;特别是支持源映射
  • 正确;目标是 100% 符合 CommonMark 规范

此外,它还可选支持解析脚注, GitHub 风味表格 GitHub 风格的任务列表, 删除线 和 高亮(==标记==) 渲染为 <mark>)。 构建此 crate 需要 Rustc 1.71.1 或更高版本。

示例

Example usage:

rust
// Create parser with example Markdown text.
let markdown_input = "hello world";
let parser = pulldown_cmark::Parser::new(markdown_input);

// Write to a new String buffer.
let mut html_output = String::new();
pulldown_cmark::html::push_html(&mut html_output, parser);
assert_eq!(&html_output, "<p>hello world</p>\n");

为什么使用拉式解析器?

Markdown及其变体有许多解析器,但据我所知,没有使用拉取解析的。拉取解析在XML中已经变得流行,特别是对于内存敏感的应用,因为它比构建文档树使用的内存少得多,但比推送解析器更容易使用。推送解析器以难以使用而闻名,而且由于用户需要在系列回调中精细地管理状态,往往也容易出错。

在简洁的设计中,解析和渲染阶段被清晰地分开,但为了性能和便捷,这一原则常常被牺牲。许多 Markdown 实现将解析和渲染混合在一起,甚至那些试图将它们分离的设计(例如流行的 [hoedow

Documentation

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Rustcommonmarkmarkdownparserrust

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言