4 releases (2 breaking)

0.3.0 Aug 3, 2023
0.2.0 Jun 17, 2023
0.1.1 Jun 14, 2023
0.1.0 Jun 14, 2023

#12 in #markdown-it

Download history 9/week @ 2024-11-13 17/week @ 2024-11-20 16/week @ 2024-11-27 24/week @ 2024-12-04 37/week @ 2024-12-11 18/week @ 2024-12-18 20/week @ 2024-12-25 26/week @ 2025-01-01 13/week @ 2025-01-08 10/week @ 2025-01-15 19/week @ 2025-01-22 10/week @ 2025-01-29 8/week @ 2025-02-05 23/week @ 2025-02-12 5/week @ 2025-02-19 25/week @ 2025-02-26

65 downloads per month
Used in mdbook-journal

Apache-2.0

7KB
59 lines

markdown-it-front-matter.rs

crates.io

A markdown-it.rs plugin to process front matter containers.

Usage

let parser = &mut markdown_it::MarkdownIt::new();
markdown_it_front_matter::add(parser);
let ast  = parser.parse("---\nfoo: bar\n---\n");

print!("{:#?}", ast.children);
// [
//     Node {
//         children: [],
//         srcmap: Some(
//             (
//                 0,
//                 16,
//             ),
//         ),
//         ext: NodeExtSet(
//             {},
//         ),
//         attrs: [],
//         node_type: markdown_it_front_matter::FrontMatter,
//         node_value: FrontMatter {
//             content: "foo: bar\n",
//         },
//     },
// ]

Valid Front Matter

Essentially, valid front matter is a fenced block:

  • Indicated by three or more dashes: ---
  • Opening and closing fences must be the same number of dash characters
  • Opening fence must begin on the first line of the markdown string/file
  • Opening fence must not be indented
---
valid-front-matter: true
---

Dependencies

~6–14MB
~210K SLoC