35 releases (11 breaking)

0.13.0 Aug 13, 2023
0.12.0 Mar 9, 2023
0.11.0 Mar 2, 2023
0.9.1 Sep 20, 2022
0.4.1 Jul 2, 2019

#209 in Parser implementations

Download history 10205/week @ 2023-11-21 13215/week @ 2023-11-28 9769/week @ 2023-12-05 10236/week @ 2023-12-12 6894/week @ 2023-12-19 4718/week @ 2023-12-26 6833/week @ 2024-01-02 10202/week @ 2024-01-09 12997/week @ 2024-01-16 10751/week @ 2024-01-23 9266/week @ 2024-01-30 12744/week @ 2024-02-06 11149/week @ 2024-02-13 10428/week @ 2024-02-20 11622/week @ 2024-02-27 10486/week @ 2024-03-05

45,496 downloads per month
Used in 75 crates (4 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

~49KB