aboutsummaryrefslogtreecommitdiff
path: root/content/org-ssg.toml
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-08-11 13:41:18 -0500
committerChristian Cleberg <[email protected]>2026-08-11 13:41:18 -0500
commitad2d5934148e17efa20e77879ddd45950209852b (patch)
treef5f79818374a6d991182d4dc408c38d421414f2c /content/org-ssg.toml
parent7e5c882d888ed7d4d635480a2dec92b4a3e7ddf8 (diff)
downloadcleberg.net-ad2d5934148e17efa20e77879ddd45950209852b.tar.gz
cleberg.net-ad2d5934148e17efa20e77879ddd45950209852b.tar.bz2
cleberg.net-ad2d5934148e17efa20e77879ddd45950209852b.zip
Bring the org-ssg templates to parity with the live site
The org-ssg build rendered the right content in the wrong chrome. Closing every difference found by comparing it against theme/templates/ and the live pages: - base.html: Home link written by the layout rather than the site title, a <title> of "Page - cleberg.net" (bare "cleberg.net" on the home page, via a subtitle block), author/description/og meta, the RSS alternate link, four rel="me" identity links, favicon, skip link, <main id="main-content">, aria-label on the nav, and the real footer. - home.html: the h1 is "Christian Cleberg" (the collection's title), and the email line has its GPG link back. - blog.html and garden.html: the two listings carry their own prose on the live site — the search/RSS hint, and the garden's growth stages — so they are no longer sharing the generic list.html. Tag pages still use it. - tags.html: "Browse posts by topic." - Blog posts get the reply-by-email and Bubbles lines. org-ssg has no per-page template selection, so the layout keys off the page's URL prefix. - Tags leaves the nav, which the live site does not have. feed.xml is new: the footer links /feed.xml and nothing was generating it. It is a collection whose template happens to be XML. Its <description> carries each post's excerpt rather than the full rendered body, which weblorg's feed does include — a collection template gets each entry's metadata, not its HTML. base_url is now set, since canonical links and a feed cannot be relative. Page links stay relative, so a preview build still works from any directory. gpg.txt, robots.txt and salary.csv are copied in from theme/static/: weblorg publishes that directory to the site root, and org-ssg publishes from content/, so /gpg.txt was a 404. styles.min.css is deliberately not copied — it is gitignored build output, and the tracked styles.css holds the same rules.
Diffstat (limited to 'content/org-ssg.toml')
-rw-r--r--content/org-ssg.toml34
1 files changed, 21 insertions, 13 deletions
diff --git a/content/org-ssg.toml b/content/org-ssg.toml
index b7feac6..4edb039 100644
--- a/content/org-ssg.toml
+++ b/content/org-ssg.toml
@@ -13,22 +13,21 @@
title = "cleberg.net"
description = "Stillness amidst the chaos."
language = "en"
-# Empty keeps every URL relative, so the site works from a preview directory as well as
-# from its real origin. Set it to "https://cleberg.net" when you want canonical links, or
-# an RSS feed — a feed is read away from the site that served it, so its links cannot be
-# relative.
-base_url = ""
+# Set, because the layout emits canonical links and /feed.xml — a feed is read away from
+# the site that served it, so its links cannot be relative. Ordinary page-to-page links
+# stay relative regardless, so a preview build still works from a directory.
+base_url = "https://cleberg.net"
[nav]
# 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.
+# is deliberately absent — the layout writes the Home link itself, exactly as weblorg's
+# base.html does.
#
# 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.
+# listed here gets appended after everything that is — which is why the tags collection
+# below does not set `nav = true`: the live nav has no Tags entry.
mode = "explicit"
pages = ["blog/index.html", "garden/index.html", "salary/index.org"]
@@ -62,14 +61,14 @@ section_numbers = false
source = "blog"
output = "index.html"
template = "home.html"
-title = "cleberg.net"
+title = "Christian Cleberg"
sort = "date"
order = "desc"
[[collections]]
source = "blog"
output = "blog/index.html"
-template = "list.html"
+template = "blog.html"
title = "Blog"
sort = "date"
order = "desc"
@@ -78,7 +77,7 @@ nav = true
[[collections]]
source = "garden"
output = "garden/index.html"
-template = "list.html"
+template = "garden.html"
title = "Garden"
sort = "date"
order = "desc"
@@ -96,4 +95,13 @@ title = "Tagged: {tag}"
index_output = "tags/index.html"
index_template = "tags.html"
index_title = "Tags"
-nav = true
+
+# The RSS feed. Not a separate feature — a collection whose template happens to be XML,
+# which is why /feed.xml is declared here alongside the HTML listings.
+[[collections]]
+source = "blog"
+output = "feed.xml"
+template = "feed.xml"
+title = "cleberg.net"
+sort = "date"
+order = "desc"