diff options
Diffstat (limited to 'src/page.rs')
-rw-r--r-- | src/page.rs | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/page.rs b/src/page.rs index 453c29b..485632d 100644 --- a/src/page.rs +++ b/src/page.rs @@ -1,10 +1,11 @@ use crate::directive::{Processed, Toc}; -use crate::html::{parse, Content, Element, ElementTag, HtmlPage}; +use crate::html::parse; use crate::name::Name; use crate::parser::WikitextParser; use crate::site::Site; use crate::util::get_mtime; use crate::wikitext::Snippet; +use html_page::{Document, Element, Tag}; use log::{info, trace}; use std::path::{Path, PathBuf}; use std::time::SystemTime; @@ -169,23 +170,20 @@ impl MarkdownPage { &self.meta } - pub fn body_to_html(&self) -> Result<HtmlPage, PageError> { - let head = Element::new(ElementTag::Head); - let body = parse(self.markdown())?; - Ok(HtmlPage::new(head, body)) + pub fn body_to_html(&self) -> Result<Document, PageError> { + let mut html = Document::default(); + html.push_children(&parse(self.markdown())?); + Ok(html) } - pub fn to_html(&self) -> Result<HtmlPage, PageError> { - let mut title = Element::new(ElementTag::Title); - title.push_child(Content::Text(self.meta.title().into())); + pub fn to_html(&self) -> Result<Document, PageError> { + let mut html = Document::default(); - let mut head = Element::new(ElementTag::Head); - head.push_child(Content::Elt(title)); + let title = Element::new(Tag::Title).with_text(self.meta.title()); + html.push_to_head(&title); + html.push_children(&parse(self.markdown())?); - let body = parse(self.markdown())?; - - trace!("MarkdownPage::to_html: head={:?}", head); - Ok(HtmlPage::new(head, body)) + Ok(html) } } |