Commit 517926849e

517926849ed9477def1de54c7b9b5e53eed46fe5

parent: f1b8d6d4a8

Unsigned

cmc <hello@cleberg.net> · 2026-08-11 07:27 UTC

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.

Layout: unified · split

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