diff options
| author | Ben Bridle <ben@derelict.engineering> | 2025-10-17 10:53:26 +1300 |
|---|---|---|
| committer | Ben Bridle <ben@derelict.engineering> | 2025-10-17 10:54:23 +1300 |
| commit | dc24d0a9ec2f66b4cd9926980fe14df295086f14 (patch) | |
| tree | 435caaeb135838449f3a91d22122978b2a6fb737 | |
| parent | 3d7d3bf5a54eed34bb09729defebf261cc7c3683 (diff) | |
| download | toaster-dc24d0a9ec2f66b4cd9926980fe14df295086f14.zip | |
Add an override-title syntax for overriding the page title shown
| -rw-r--r-- | src/generate_html.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/generate_html.rs b/src/generate_html.rs index 78519bb..41e0212 100644 --- a/src/generate_html.rs +++ b/src/generate_html.rs @@ -6,7 +6,14 @@ use recipe::*; pub fn generate_html(page: &Page, website: &Website) -> String { let root = page.root(); - let page_name = sanitize_text(&page.name, true); + let mut page_name = sanitize_text(&page.name, true); + for block in &page.document.blocks { + if let Block::Fragment { language, content } = block { + if language == "override-title" { + page_name = sanitize_text(content.trim(), true); + } + } + } let site_name = sanitize_text(&website.name, true); let mut parent_url = String::new(); for segment in &page.parents { @@ -230,7 +237,7 @@ pub fn document_to_html(page: &Page, website: &Website) -> String { "embed-html" => html!("{content}"), "embed-css" => wrap!("style", html!("{content}")), "embed-javascript"|"embed-js" => wrap!("script", html!("{content}")), - "embed-html-head"|"override-html-head" => (), + "embed-html-head"|"override-html-head"|"override-title" => (), "hidden"|"todo" => (), "poem" => wrap!("div", "class='poem'", for line in content.lines() { let line = line.trim_end(); |
