diff options
| author | Paweł Redman <pawel.redman@gmail.com> | 2026-06-14 21:16:42 +0200 |
|---|---|---|
| committer | Paweł Redman <pawel.redman@gmail.com> | 2026-06-14 21:16:42 +0200 |
| commit | c9474445c9bbf22f79778acb292ccd79c7b4d1e5 (patch) | |
| tree | 9f11020b7678187428af278214224382c57fa2b1 /site | |
| parent | 6f945ce1a971099b53ed6ce94fff62abd07955df (diff) | |
Implement breadcrumbs
Diffstat (limited to 'site')
| -rw-r--r-- | site/common.typ | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/site/common.typ b/site/common.typ index 5acb91a..5f41596 100644 --- a/site/common.typ +++ b/site/common.typ @@ -32,6 +32,26 @@ html.elem("img", attrs: (src: src, alt: "")) } +#let breadcrumbs() = { + let path = sys.inputs.at("path") + let parts = path.split("/") + + link(webroot)[redman.xyz] + + for (i, part) in parts.enumerate() { + let is_last = i == parts.len() - 1 + let url = parts.slice(0, i + 1).join("/") + "/index.html" + + if is_last { + " / " + part + } else { + " / " + link(webroot + url, part) + } + } +} + #let post(body, title: none, author: "Paweł Redman", date: none) = { assert(date != none, message: "missing date") @@ -74,9 +94,7 @@ }) html.header({ - html.nav[ - (nav element) // TODO when there's an index page - ] + html.nav(breadcrumbs()) }) html.main({ |
