1 个不稳定版本
0.0.1 | 2020年5月26日 |
---|
#59 在 #markdown-parser
用于 2 个 crates(通过 equt-md-ext)
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