diff options
author | Ben Bridle <ben@derelict.engineering> | 2025-01-14 16:47:38 +1300 |
---|---|---|
committer | Ben Bridle <ben@derelict.engineering> | 2025-01-14 19:10:21 +1300 |
commit | db9e1103e9d78f07a2fb1fe55253cd3aa035b4e5 (patch) | |
tree | c59e15b242187ca49ec5e8da557e81231223c0c9 | |
parent | b0500b6ca074289119d12bd2ec6dcc3e8f6d0c05 (diff) | |
download | toaster-db9e1103e9d78f07a2fb1fe55253cd3aa035b4e5.zip |
Get the global HTML head from the config file
The value of the configuration key `html.head` is inserted into the
<head> section of every generated HTML page.
-rw-r--r-- | src/generate_html.rs | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/src/generate_html.rs b/src/generate_html.rs index 62a33b6..ab12c09 100644 --- a/src/generate_html.rs +++ b/src/generate_html.rs @@ -13,13 +13,13 @@ pub fn generate_html(document: &MarkdownDocument, page: &Page, website: &Website 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!("<a id='home' href='{root}index.html'>{site_name}</a>"); let parent_link = match page.parents.get(page.parents.len()-1) { Some(name) => format!("<a id='parent' href='../{parent_url}.html'>{name}</a>"), None => String::new(), }; - - let head = get_html_head(document, page); let head = head.trim(); let table_of_contents = get_table_of_contents(page); let main = document_to_html(document, page, website); let main = main.trim(); @@ -50,18 +50,11 @@ pub fn generate_html(document: &MarkdownDocument, page: &Page, website: &Website } -pub fn get_html_head(document: &MarkdownDocument, page: &Page) -> String { - if let Some(Block::Fragment { language, content }) = document.blocks.first() { - if language == "embed-html-head" { - return content.to_string(); - } - } +pub fn get_html_head(page: &Page, website: &Website) -> String { let root = page.root(); - format!("\ -<link rel='stylesheet' type='text/css' media='screen' href='{root}static/screen.css'> -<link rel='stylesheet' type='text/css' media='print' href='{root}static/print.css'> -<script src='{root}static/render_math.js' defer></script> \ - ") + website.get_config("html.head") + .replace("href='/", &format!("href='{root}")) + .replace("src='/", &format!("src='{root}")) } |