7 releases (breaking)
0.6.0 | Aug 24, 2024 |
---|---|
0.5.0 | Jun 26, 2024 |
0.4.0 | Mar 31, 2024 |
0.3.0 | Aug 11, 2023 |
0.1.1 | Aug 2, 2020 |
#241 in Text processing
440 downloads per month
Used in 2 crates
18KB
301 lines
pulldown-cmark-toc
Generate a table of contents from a Markdown document. By default the heading anchor calculation (aka the "slugification") is done in a way that attempts to mimic GitHub's (undocumented) behavior.
Getting started
Add the pulldown-cmark-toc
to your Cargo.toml
.
cargo add pulldown-cmark-toc
Usage
use pulldown_cmark_toc::TableOfContents;
let text = r#"
# Heading
## Subheading
## Subheading with `code`
"#;
let toc = TableOfContents::new(text);
assert_eq!(
toc.to_cmark(),
r#"- [Heading](#heading)
- [Subheading](#subheading)
- [Subheading with `code`](#subheading-with-code)
"#
);
}
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~3–4MB
~75K SLoC