maud-pulldown-cmark downloads-badge release-badge license-badge

This library implements an adapter to allow rendering markdown strings inside a maud macro using pulldown-cmark efficiently.

Example

```rust

![feature(plugin)]

![plugin(maud_macros)]

extern crate maud; extern crate maudpulldowncmark;

use maudpulldowncmark::Markdown;

fn main() { let markdown = " 1. A list 2. With some 3. Values";

let mut buffer = String::new();

html!(buffer, {
    div {
        ^(Markdown::from_string(markdown))
    }
}).unwrap();

println!("{}", buffer);

} ```

```rust

![feature(plugin)]

![plugin(maud_macros)]

extern crate maud; extern crate maudpulldowncmark; extern crate pulldown_cmark;

use maudpulldowncmark::Markdown; use pulldown_cmark::{Parser, Event};

fn main() { let markdown = " 1. A list 2. With some 3. Inline html";

let events = Parser::new(markdown).map(|ev| match ev {
    // Escape inline html
    Event::Html(html) | Event::InlineHtml(html) => Event::Text(html),
    _ => ev,
});

let mut buffer = String::new();

html!(buffer, {
    div {
        ^(Markdown::from_events(events))
    }
}).unwrap();

println!("{}", buffer);

} ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.