From 7b5a7c52bd9fbd256776ca6737447cf78f80aa57 Mon Sep 17 00:00:00 2001 From: Ben Bridle Date: Tue, 7 Jan 2025 22:17:52 +1300 Subject: Load default CSS and JavaScript files from site root Instead of linking to a static path for the CSS and JavaScript files in the head of each generated HTML document, dynamically generate a relative path that backtracks to the site root before descending into the chosen directory. This ensures that all pages will link to the same set of CSS/JS files, no matter how deeply nested. This could have been accomplished through the use of absolute paths, but I want the websites generated by this program to be able to be freely mixed and matched with existing websites, which requires the use of relative paths only. --- src/generate_html.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'src/generate_html.rs') diff --git a/src/generate_html.rs b/src/generate_html.rs index 1e3acc7..f14d5f9 100644 --- a/src/generate_html.rs +++ b/src/generate_html.rs @@ -20,23 +20,24 @@ pub fn generate_html(document: &MarkdownDocument, page: &SourceFile, website: &W \ ", page.name, website.name, - get_html_head(document).trim(), + get_html_head(document, page).trim(), document_to_html(document, page, website).trim() ) } -pub fn get_html_head(document: &MarkdownDocument) -> String { +pub fn get_html_head(document: &MarkdownDocument, page: &SourceFile) -> String { if let Some(Block::Fragment { language, content }) = document.blocks.first() { if language == "embed-html-head" { return content.to_string(); } } - String::from("\ - - - \ + let back = page.back_string(); + format!("\ + + + \ ") } -- cgit v1.2.3-70-g09d2