diff --git a/src/config.rs b/src/config.rs index a7f2479..2c7baf7 100644 --- a/src/config.rs +++ b/src/config.rs @@ -151,9 +151,15 @@ impl Config { } pub fn page_url(&self, page: &str) -> String { + let (page, hash) = page.split_once('#').unwrap_or((page, "")); + // We don't want .dj appearing in URLs, though it exists as a disambiguator in [page:] links. let page = page.strip_suffix(".dj").unwrap_or(page); - format!("{}/{}", self.site, page) + if !hash.is_empty() { + format!("{}/{page}#{hash}", self.site) + } else { + format!("{}/{page}", self.site) + } } pub fn pic_url(&self, pics_dir: &dyn Dir, id: &str) -> String {