#![feature(iter_zip)] mod block; mod parse; mod parse_heirarchical; mod table; mod text; pub use block::Block; pub use parse::parse; pub use parse_heirarchical::parse_heirarchical; pub use table::{Alignment, Column, Table}; pub use text::{Hyperlink, Text}; pub type Line = Vec; pub fn line_to_string(line: &[Text]) -> String { let mut output = String::new(); for text in line { match text { Text::Normal(content) => output.push_str(&content), Text::Bold(content) => output.push_str(&format!("**{}**", content)), Text::Italic(content) => output.push_str(&format!("_{}_", content)), Text::BoldItalic(content) => output.push_str(&format!("**_{}_**", content)), Text::Code(content) => output.push_str(&format!("`{}`", content)), Text::WikiLink(content) => output.push_str(&format!("[[{}]]", content)), Text::Hyperlink(Hyperlink { label, target }) => { output.push_str(&format!("[{}]({})", label, target)) } } } return output; }