16 lines
486 B
Rust
16 lines
486 B
Rust
use ammonia::clean;
|
|
use pulldown_cmark::{Options, Parser, html::push_html};
|
|
|
|
pub fn render_markdown(text: &str) -> askama::Result<String> {
|
|
let mut options = Options::empty();
|
|
options.insert(Options::ENABLE_TABLES);
|
|
options.insert(Options::ENABLE_STRIKETHROUGH);
|
|
options.insert(Options::ENABLE_FOOTNOTES);
|
|
options.insert(Options::ENABLE_TASKLISTS);
|
|
|
|
let mut html = String::new();
|
|
push_html(&mut html, Parser::new_ext(text, options));
|
|
|
|
Ok(clean(&html))
|
|
}
|