Skip to content
An adapter to allow rendering strings as markdown inside a maud macro using pulldown-cmark efficiently.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ci
src
tests
.gitignore
.travis.yml
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md
build.rs

README.md

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.

This library requires nightly rust to run the tests as they use the maud_macros plugin.

Example

#![feature(plugin)]
#![plugin(maud_macros)]

extern crate maud;
extern crate maud_pulldown_cmark;

use maud_pulldown_cmark::Markdown;

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

    let buffer = html! {
        div {
            (Markdown::from_string(markdown))
        }
    };

    println!("{}", buffer.into_string());
}
#![feature(plugin)]
#![plugin(maud_macros)]

extern crate maud;
extern crate maud_pulldown_cmark;
extern crate pulldown_cmark;

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

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

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

    let buffer = html!(
        div {
            (Markdown::from_events(events))
        }
    );

    println!("{}", buffer.into_string());
}

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.

You can’t perform that action at this time.