From ad2d5934148e17efa20e77879ddd45950209852b Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Tue, 11 Aug 2026 13:41:18 -0500 Subject: Bring the org-ssg templates to parity with the live site MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 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. --- content/templates/home.html | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'content/templates/home.html') diff --git a/content/templates/home.html b/content/templates/home.html index be5a0e6..8333312 100644 --- a/content/templates/home.html +++ b/content/templates/home.html @@ -2,10 +2,13 @@ A generated page, so it has no source .org file — `pages` holds the blog collection's entries, newest first, and the prose lives here. This mirrors what weblorg's - theme/templates/index.html does today. #} + theme/templates/index.html does today, including its bare <title>: the home page is + "cleberg.net" and not "cleberg.net - cleberg.net". #} {% extends "base.html" %} -{% block content %} +{% block subtitle %}{% endblock %} +{% block main %} <section> +<h1>{{ page.title }}</h1> <p>[ <a href="https://krz.sh">krz</a> · <a href="https://audit-labs.dev">audit labs</a> ]</p> <p>Privacy · Self-Hosting · iOS</p> <p>I build tools, write about systems, and run my own infrastructure. Focused on privacy, @@ -35,7 +38,7 @@ user control, and long-term utility.</p> <ul> <li>cgit (primary): <a href="https://git.krz.sh">~cmc</a></li> <li>GitHub (mirror): <a href="https://github.com/ccleberg">@ccleberg</a></li> -<li>Email: <a href="mailto:hello@cleberg.net">hello@cleberg.net</a></li> +<li>Email: <a href="mailto:hello@cleberg.net">hello@cleberg.net</a> (<a href="{{ root }}gpg.txt">GPG</a>)</li> <li>Lemmy: <a href="https://r.nf/u/cmc">@cmc</a></li> <li>Mastodon: <a href="https://c.im/@cmc">@cmc</a></li> <li>Pixelfed: <a href="https://gram.social/cmc">@cmc</a></li> -- cgit v1.2.3