From a6ee2e0ca79b83b7f6bd4a521777cffdaf2260f2 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Tue, 11 Aug 2026 20:34:02 -0500 Subject: Finish the move off weblorg Remove what the migration left behind, then cut build.py down to the work orgo does not do: 443 lines to 168. - Delete publish.el and theme/templates/, superseded by content/orgo.toml and content/templates/. theme/static/ stays; orgo publishes it as assets. - Drop the tag builder, the org-source copy, and the helpers that only fed them. orgo generates /tags/ and a page per tag from a collection. - Rewrite the README and the migration-era comments that explained the config by pointing at what weblorg used to do. - Serve styles.css as authored. Minifying 1KB of CSS saved 52 bytes over the wire once compressed, which did not pay for a build step and a toolchain dependency. - Stop wiping the output directory. The .orgo-cache.json inside it is what makes a build incremental, and orgo already prunes outputs whose source is gone and re-emits any that are missing. Production keeps .build/ and development gets .build-dev/, because production rewrites image URLs in the output and a shared directory would let one environment reuse pages rendered for the other. An incremental build is byte-identical to a clean one, and the site output is unchanged apart from the /uses/ stack row. --- content/templates/base.html | 12 ++++++------ content/templates/blog.html | 4 ++-- content/templates/feed.xml | 9 ++++----- content/templates/garden.html | 2 +- content/templates/home.html | 5 ++--- content/templates/tags.html | 9 ++++----- 6 files changed, 19 insertions(+), 22 deletions(-) (limited to 'content/templates') diff --git a/content/templates/base.html b/content/templates/base.html index e35098c..237c398 100644 --- a/content/templates/base.html +++ b/content/templates/base.html @@ -1,9 +1,9 @@ -{# Page layout for orgo, mirroring theme/templates/base.html. +{# Page layout for the site. Styling comes from theme/static/styles.css, published by `[build] assets` in - orgo.toml — the same directory weblorg serves at /, read in place rather than - copied. weblorg links the minified styles.min.css instead; that file is gitignored - build output and the rules are the same, so this links the tracked one. + orgo.toml and read in place rather than copied. It is served as authored: at ~1KB, + minifying it saved 52 bytes over the wire once compressed, which did not pay for a + build step and a toolchain dependency. Available here: page (.title .url .source .date .date_iso .tags .excerpt .toc .keywords), site, nav, root, stylesheet. See the orgo guide on Templates. #} @@ -45,8 +45,8 @@ -{#- rel="me" identity links. weblorg's base.html writes the last one as , which a - browser hoists out of ; is the spelling that stays where it is put. #} +{#- rel="me" identity links, spelled as rather than : a browser hoists a + stray out of , while stays where it is put. #} diff --git a/content/templates/blog.html b/content/templates/blog.html index 17f8870..ecb5c5d 100644 --- a/content/templates/blog.html +++ b/content/templates/blog.html @@ -1,5 +1,5 @@ -{# The blog index at /blog/, mirroring theme/templates/blog.html. - Separate from list.html because the live page carries its own prose. #} +{# The blog index at /blog/. + Separate from list.html because the page carries its own prose. #} {% extends "base.html" %} {#- Group the list under year headings, as the live site does. Set to false for one flat diff --git a/content/templates/feed.xml b/content/templates/feed.xml index fa761b8..7596b02 100644 --- a/content/templates/feed.xml +++ b/content/templates/feed.xml @@ -1,10 +1,9 @@ -{#- The RSS feed at /feed.xml, mirroring theme/templates/feed.xml. A feed is read away - from the site that served it, so every URL here is absolute — which is what - `| absolute` needs [site] base_url for. +{#- The RSS feed at /feed.xml. A feed is read away from the site that served it, so + every URL here is absolute — which is what `| absolute` needs [site] base_url for. - carries each post's full rendered HTML, as weblorg's feed does — the - collection sets `include_content` to ask for it. #} + carries each post's full rendered HTML — the collection sets + `include_content` to ask for it. #} : the home page is - "cleberg.net" and not "cleberg.net - cleberg.net". #} + entries, newest first, and the prose lives here. The is bare on purpose: the + home page is "cleberg.net" and not "cleberg.net - cleberg.net". #} {% extends "base.html" %} {% block subtitle %}{% endblock %} {% block main %} diff --git a/content/templates/tags.html b/content/templates/tags.html index 5240b27..9b3a1e2 100644 --- a/content/templates/tags.html +++ b/content/templates/tags.html @@ -1,11 +1,10 @@ {# The tag index at /tags/. Receives `groups` — every tag with its count — rather than `pages`, because it lists tags and not posts. - This deliberately differs in shape from the live weblorg page, which is one page with - every post inlined under an `#anchor` per tag. Here each tag is its own page, so a tag - has a URL worth linking to and the index stays short. The `id` on each entry keeps the - old `/tags/#audit` links landing in the right place — they scroll to the tag and its - link, rather than 404ing or dumping the reader at the top of a long page. #} + Each tag is its own page, so a tag has a URL worth linking to and the index stays + short. The `id` on each entry keeps older `/tags/#audit` links landing in the right + place — they scroll to the tag and its link, rather than dumping the reader at the + top of the index. #} {% extends "base.html" %} {% block main %} <h1>{{ page.title }}</h1> -- cgit v1.2.3