1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use roxy_core::roxy::Parse;

#[derive(Debug)]
pub struct MarkdownParser;

impl MarkdownParser {
    pub fn new() -> Self {
        Self
    }
}

impl Parse for MarkdownParser {
    fn parse(&mut self, _path: &str, src: &[u8], dst: &mut Vec<u8>) -> Result<(), roxy_core::error::Error> {
        let src = String::from_utf8_lossy(src).to_string();
        let parser = pulldown_cmark::Parser::new(src.as_str());
        pulldown_cmark::html::write_html(dst, parser)?;
        Ok(())
    }
}