summaryrefslogtreecommitdiff
path: root/site
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2026-06-14 21:16:42 +0200
committerPaweł Redman <pawel.redman@gmail.com>2026-06-14 21:16:42 +0200
commitc9474445c9bbf22f79778acb292ccd79c7b4d1e5 (patch)
tree9f11020b7678187428af278214224382c57fa2b1 /site
parent6f945ce1a971099b53ed6ce94fff62abd07955df (diff)
Implement breadcrumbs
Diffstat (limited to 'site')
-rw-r--r--site/common.typ24
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({