#pulldown-cmark #markdown #heading-id

markdown-heading-id

针对 pulldown-cmark 的过滤器,用于将自定义 ID 的标题转换为 HTML

1 个不稳定版本

0.1.0 2021年1月8日

9#pulldown-cmark 中排名 #9

Download history 95/week @ 2024-03-13 63/week @ 2024-03-20 67/week @ 2024-03-27 54/week @ 2024-04-03 73/week @ 2024-04-10 92/week @ 2024-04-17 163/week @ 2024-04-24 225/week @ 2024-05-01 400/week @ 2024-05-08 318/week @ 2024-05-15 346/week @ 2024-05-22 334/week @ 2024-05-29 461/week @ 2024-06-05 437/week @ 2024-06-12 268/week @ 2024-06-19 374/week @ 2024-06-26

每月 1,606 次下载

MIT 许可证

10KB
135 代码行

markdown-heading-id

针对 Parser 的 crate pulldown-cmark 的过滤器

此 crate 提供了一个 Parser 过滤器,它将带有自定义 ID 的标题转换为 HTML。它使用 Markdown 扩展语法中定义的标题 ID 语法。

例如,如果我们有以下 Markdown 片段

## Heading {#heading-id}

则它将被转换为以下 HTML 片段

<h2 id="heading-id">Heading</h2>

使用方法

使用此 crate 提供的过滤器非常简单。 HeadingId 包装了一个 Parser 实例,并且可以传递给 push_htmlwrite_html,因为 HeadingId 实现了 Iterator<Item=Event<'a>> 特性。以下是一个示例

use pulldown_cmark::Parser;
use pulldown_cmark::html::push_html;
use markdown_heading_id::HeadingId;

let parser = Parser::new("## Heading {#heading-id}");
let parser = HeadingId::new(parser);
let mut buf = String::new();
push_html(&mut buf, parser);
assert_eq!(buf.trim_end(), r#"<h2 id="heading-id">Heading</h2>"#);

许可证:MIT

依赖

约 1.5MB
24K SLoC