cmc/cleberg.net

My personal web garden & blog.

clone: git clone https://gitbay.org/cmc/cleberg.net.git

517926849ed9477def1de54c7b9b5e53eed46fe5

unsigned

author: Christian Cleberg <hello@cleberg.net> · 2026-08-11T07:27:28Z

Order the org-ssg nav to match the live site

Salary rendered before Blog and Garden because the two section indexes are
generated by collections, and an explicit nav could only name source files —
generated pages were appended after everything listed. org-ssg now accepts a
generated page's output path in `nav.pages`, so listing all three puts them in
the order the live site uses. /tags/ stays unlisted and lands last.
 content/org-ssg.toml | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/content/org-ssg.toml b/content/org-ssg.toml
index d88e309..b7feac6 100644
--- a/content/org-ssg.toml
+++ b/content/org-ssg.toml
@@ -23,10 +23,14 @@ base_url = ""
 # Explicit, because the pages that belong in the nav are not all top-level: /blog/ and
 # /garden/ are generated below, and salary/ is a section index one level down. index.org
 # is deliberately absent — the layout already links home from the site title, and listing
-# it here would print "cleberg.net" twice side by side. Source pages come first in the
-# order listed, then the collections that set `nav = true`.
+# it here would print "cleberg.net" twice side by side.
+#
+# Generated pages are named by their output path, authored ones by their source. Listing
+# them together is what puts Salary last: a collection with `nav = true` that is not
+# listed here gets appended after everything that is. /tags/ is deliberately not listed,
+# so it lands at the end.
 mode = "explicit"
-pages = ["salary/index.org"]
+pages = ["blog/index.html", "garden/index.html", "salary/index.org"]
 
 [templates]
 dir = "templates"