summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2025-10-17 10:53:26 +1300
committerBen Bridle <ben@derelict.engineering>2025-10-17 10:54:23 +1300
commitdc24d0a9ec2f66b4cd9926980fe14df295086f14 (patch)
tree435caaeb135838449f3a91d22122978b2a6fb737
parent3d7d3bf5a54eed34bb09729defebf261cc7c3683 (diff)
downloadtoaster-dc24d0a9ec2f66b4cd9926980fe14df295086f14.zip
Add an override-title syntax for overriding the page title shown
-rw-r--r--src/generate_html.rs11
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();