use crate::*;
use markdown::*;
use recipe::*;
pub fn generate_html(document: &MarkdownDocument, page: &Page, website: &Website) -> String {
let root = page.root();
let page_name = sanitize_text(&page.name, true);
let site_name = sanitize_text(&website.name, true);
let mut parent_url = String::new();
for segment in &page.parents {
parent_url.push_str(&make_url_safe(segment)); parent_url.push('/');
}
parent_url.pop();
let head = get_html_head(page, website); let head = head.trim();
let home_link = format!("{site_name}");
let parent_link = match page.parents.last() {
Some(name) => format!("{name}", make_url_safe(name)),
None => String::new(),
};
let toc = get_table_of_contents(page);
let toc_main = if page.headings.len() > 3 {
format!("\n{toc}