1 个不稳定版本

0.0.1 2020年5月26日

#59#markdown-parser


用于 2 个 crates(通过 equt-md-ext

MIT 许可证

270KB
7K SLoC

此仓库是 pulldown-cmark 的分支,它是 docs.rs 后的 markdown 解析器。

分支 以添加对 frontmatter 和 math 的支持。


lib.rs:

CommonMark 的解析器。此crate提供了一个Parser结构体,它是一个Event的迭代器。这个迭代器可以直接使用,或者使用HTML 模块输出 HTML。

默认情况下,仅启用 CommonMark 功能。要使用表格、脚注或任务列表等扩展功能,请在 Options 结构体中设置相应的标志。

示例

use pulldown_cmark::{Parser, Options, html};

let markdown_input = "Hello world, this is a ~~complicated~~ *very simple* example.";

// Set up options and parser. Strikethroughs are not part of the CommonMark standard
// and we therefore must enable it explicitly.
let mut options = Options::empty();
options.insert(Options::ENABLE_STRIKETHROUGH);
let parser = Parser::new_ext(markdown_input, options);

// Write to String buffer.
let mut html_output = String::new();
html::push_html(&mut html_output, parser);

// Check that the output is what we expected.
let expected_html = "<p>Hello world, this is a <del>complicated</del> <em>very simple</em> example.</p>\n";
assert_eq!(expected_html, &html_output);

依赖项

~310–495KB