37 releases

0.14.0 Oct 13, 2025
0.13.1 May 22, 2024
0.13.0 Aug 13, 2023
0.12.0 Mar 9, 2023
0.4.1 Jul 2, 2019

#198 in Parser implementations

Download history 15870/week @ 2025-12-24 21533/week @ 2025-12-31 26250/week @ 2026-01-07 34918/week @ 2026-01-14 53189/week @ 2026-01-21 45272/week @ 2026-01-28 81068/week @ 2026-02-04 82340/week @ 2026-02-11 107201/week @ 2026-02-18 126641/week @ 2026-02-25 152464/week @ 2026-03-04 196062/week @ 2026-03-11 126313/week @ 2026-03-18 110663/week @ 2026-03-25 122935/week @ 2026-04-01 141426/week @ 2026-04-08

543,922 downloads per month
Used in 234 crates (5 directly)

MIT license

97KB
2.5K SLoC

MIT Latest Version docs Chat on Miaou

A simple, non universal purpose, markdown parser.

If you're looking for a Markdown parser, this one is probably not the one you want:

Minimad can be used on its own but is first designed for the termimad lib, which displays static and dynamic markdown snippets on a terminal without mixing the skin with the code. Minimad sports a line-oriented flat structure (i.e. not a tree) which might not suit your needs.

If you still think you might use Minimad directly (not through Temimad), you may contact me on Miaou for advice.

Usage

[dependencies]
minimad = "0.7"
assert_eq!(
    Line::from("## a header with some **bold**!"),
    Line::new_header(
        2,
        vec![
            Compound::raw_str("a header with some "),
            Compound::raw_str("bold").bold(),
            Compound::raw_str("!"),
        ]
    )
);

assert_eq!(
    Line::from("Hello ~~wolrd~~ **World**. *Code*: `sqrt(π/2)`"),
    Line::new_paragraph(vec![
        Compound::raw_str("Hello "),
        Compound::raw_str("wolrd").strikeout(),
        Compound::raw_str(" "),
        Compound::raw_str("World").bold(),
        Compound::raw_str(". "),
        Compound::raw_str("Code").italic(),
        Compound::raw_str(": "),
        Compound::raw_str("sqrt(π/2)").code(),
    ])
);

Dependencies

~44KB