diff options
author | metamuffin <metamuffin@disroot.org> | 2022-08-29 16:10:49 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-08-29 16:10:49 +0200 |
commit | 18f53568b43380665686dc9e7785790f9921ce8f (patch) | |
tree | 8b32f2bfda532c77601fcd22fca2fce8761035ea /tools/src/markdown.rs | |
parent | 9ca6cc8c0acdd68d2c79f1f990c9dd81dd9fef4b (diff) | |
download | metamuffin-blog-18f53568b43380665686dc9e7785790f9921ce8f.tar metamuffin-blog-18f53568b43380665686dc9e7785790f9921ce8f.tar.bz2 metamuffin-blog-18f53568b43380665686dc9e7785790f9921ce8f.tar.zst |
a
Diffstat (limited to 'tools/src/markdown.rs')
-rw-r--r-- | tools/src/markdown.rs | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/tools/src/markdown.rs b/tools/src/markdown.rs deleted file mode 100644 index af3798e..0000000 --- a/tools/src/markdown.rs +++ /dev/null @@ -1,54 +0,0 @@ -pub struct Markdown(Vec<MdElement>); - -pub enum MdElement { - Heading(u8, Vec<RichText>), - Paragraph(Vec<RichText>), - Code { syntax: String, content: String }, -} - -pub enum RichText { - Text(String), - Bold(Box<RichText>), - Strike(Box<RichText>), - Italic(Box<RichText>), - Code(Box<RichText>), - Link(String, Vec<RichText>), -} - -impl Markdown { - pub fn parse(s: &str) -> anyhow::Result<Self> { - let mut c = vec![]; - let mut lines = s.lines(); - while let Some(line) = lines.next() { - if line.starts_with("#") { - let (hashes, h) = line.split_once(' ').unwrap(); - c.push(MdElement::Heading(hashes.len() as u8, RichText::parse(h)?)); - } else if line.starts_with("```") { - todo!() - } else { - let mut block = line.to_string(); - while let Some(line) = lines.next() { - if line == "" { - break; - } - block += line; - } - c.push(MdElement::Paragraph(RichText::parse(&block)?)) - } - } - Ok(Markdown(c)) - } -} -impl RichText { - pub fn parse(s: &str) -> anyhow::Result<Vec<Self>> { - let mut before = String::new(); - let mut after = String::new(); - let mut after_el = false; - for c in s.chars() { - match c { - _ => {} - } - } - Ok(segs) - } -} |