3 个不稳定版本
0.2.0 | 2023年8月3日 |
---|---|
0.1.1 | 2023年6月21日 |
0.1.0 | 2023年6月17日 |
2734 在 解析器实现 中
每月下载 109 次
在 vitrine 中使用
30KB
468 行
markdown-it-footnote.rs
一个用于处理脚注的 markdown-it.rs 插件。
它基于 pandoc 定义
Normal footnote:
Here is a footnote reference,[^1] and another.[^longnote]
Here is an inline note.^[my note is here!]
[^1]: Here is the footnote.
[^longnote]: Here's one with multiple blocks.
Subsequent paragraphs are indented to show that they
belong to the previous footnote.
查看 测试 获取更多示例。
用法
加载完整插件
let parser = &mut markdown_it::MarkdownIt::new();
markdown_it::plugins::cmark::add(parser);
markdown_it_footnote::add(parser);
let ast = parser.parse("Example^[my note]");
let html = ast.render();
或者,您可以加载单独的组件
let parser = &mut markdown_it::MarkdownIt::new();
markdown_it::plugins::cmark::add(parser);
markdown_it_footnote::definitions::add(md);
markdown_it_footnote::references::add(md);
markdown_it_footnote::inline::add(md);
markdown_it_footnote::collect::add(md);
markdown_it_footnote::back_refs::add(md);
以下为各个组件的作用
definitions
:解析脚注定义,例如[^1]: foo
references
:解析脚注引用,例如[^1]
inline
:解析行内脚注,例如^[foo]
collect
:收集脚注定义(删除重复/未引用的项)并将它们移动到根节点的最后一个子节点。back_refs
:向脚注定义添加锚点,并带有指向引用的链接
依赖项
~5–7MB
~159K SLoC