diff --git a/src/lib.rs b/src/lib.rs index e10e42d..cfdbe07 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -105,6 +105,12 @@ fn markdown_content(item: &Item) -> Content { Item::ListItem(children) => { markdown = "\n- ".to_owned() + &process_children(children); } + Item::Code(children) => { + markdown = markdown + &format!("```{}```",&process_children(children)); + } + Item::Blockquote(children) => { + markdown = markdown + "> " + &process_children(children); + } _ => {} } Content::Markdown(markdown) @@ -208,6 +214,12 @@ fn process_content(items: &Vec) -> Vec { result.push(c); } } + Item::Code(_) => { + result.push(markdown_content(i)); + } + Item::Blockquote(_) => { + result.push(markdown_content(i)); + } _ => { result.push(Content::Ignore); } @@ -228,6 +240,8 @@ enum Item { Video(Vec), Audio(Vec), Source(String), + Blockquote(Vec), + Code(Vec), BoldedText(Vec), EmphasisText(Vec), UnorderedList(Vec), @@ -315,6 +329,12 @@ fn parse_items(n: ego_tree::NodeRef<'_,Node>) -> Item{ "div" => { return Item::Container(get_children(&el)) } + "code" => { + return Item::Code(get_children(&el)) + } + "blockquote" => { + return Item::Blockquote(get_children(&el)) + } _ => {} };