use crate::Atom;
use crate::Container;
use crate::Event;
/// Generate HTML from parsed events and push it to a unicode-accepting buffer or stream.
pub fn push<'s, I: Iterator ")?,
Container::Heading { level } => write!(self.out, "")?,
Container::List(..) => todo!(),
Container::ListItem => self.out.write_str("
")?,
Container::DescriptionDetails => self.out.write_str("
")?,
Container::TableRow => self.out.write_str("
")?,
Container::TableRow => self.out.write_str("")?,
Container::Div { .. } => self.out.write_str("")?,
Container::Paragraph => self.out.write_str("")?,
Container::Div { class } => {
if let Some(c) = class {
write!(self.out, r#" ")?,
Container::DescriptionTerm => self.out.write_str(" "#, l)?;
} else {
self.out.write_str("
")?;
}
}
Container::Span => self.out.write_str("")?,
Container::Link(..) => todo!(),
Container::Image(..) => todo!(),
Container::Verbatim => self.out.write_str("
")?,
Container::Math { display } => self.out.write_str(if display {
r#"\["#
} else {
r#"\("#
})?,
Container::RawInline { .. } => todo!(),
Container::Subscript => self.out.write_str("")?,
Container::Superscript => self.out.write_str("")?,
Container::Insert => self.out.write_str("")?,
Container::Delete => self.out.write_str("
")?,
Container::Strong => self.out.write_str("")?,
Container::Emphasis => self.out.write_str("")?,
Container::Mark => self.out.write_str("")?,
Container::SingleQuoted => self.out.write_str("‘")?,
Container::DoubleQuoted => self.out.write_str("“")?,
}
}
Event::End(c) => {
if c.is_block_container() && !matches!(c, Container::Footnote { .. }) {
self.out.write_char('\n')?;
}
match c {
Container::Blockquote => self.out.write_str("")?,
Container::List(..) => todo!(),
Container::ListItem => self.out.write_str("")?,
Container::DescriptionList => self.out.write_str("")?,
Container::DescriptionDetails => self.out.write_str("")?,
Container::Footnote { .. } => todo!(),
Container::Table => self.out.write_str("