Commit 5d60a70d6a

5d60a70d6a963c234d311ca87829cf3150f72ef6

parent: 87068dcdb9

Unsigned

cmc <hello@cleberg.net> · 2026-08-11 21:48 UTC

org-ssg is called orgo now

The config file follows the tool: content/org-ssg.toml is content/orgo.toml, and
the build cache it writes is .orgo-cache.json. Nothing about the site changes —
196 pages, same output.

Layout: unified · split

content/org-ssg.toml → content/orgo.toml renamed +6 −6
@@ -1,13 +1,13 @@
1# org-ssg configuration for cleberg.net.
1# orgo configuration for cleberg.net.
22#
33# Lives in content/ because that directory is the site's URL root: content/blog/post.org
44# publishes at /blog/post.html. Neither this file nor templates/ is published.
55#
6# org-ssg serve content -o /tmp/preview # write and preview
7# org-ssg build content -o _site --strict # build for real, failing on broken links
6# orgo serve content -o /tmp/preview # write and preview
7# orgo build content -o _site --strict # build for real, failing on broken links
88#
99# This sits alongside the existing weblorg setup (publish.el, theme/) and changes nothing
10# about it. Delete this file and content/templates/ to remove org-ssg entirely.
10# about it. Delete this file and content/templates/ to remove orgo entirely.
1111
1212[site]
1313title = "cleberg.net"
@@ -32,7 +32,7 @@ mode = "explicit"
3232pages = ["blog/index.html", "garden/index.html", "salary/index.org"]
3333
3434[build]
35# theme/static/ is weblorg's static root, published at /. org-ssg reads it from here
35# theme/static/ is weblorg's static root, published at /. orgo reads it from here
3636# rather than needing its files copied next to the writing — one copy, not two.
3737assets = ["../theme/static"]
3838
@@ -74,7 +74,7 @@ section_numbers = true
7474# content/index.org was deleted to make room: it held only #+title and #+description,
7575# both of which are now [site] settings above. Restore it any time with
7676# `git checkout content/index.org`, but then this collection must output somewhere else —
77# two pages cannot claim one URL, and org-ssg fails the build rather than picking a winner.
77# two pages cannot claim one URL, and orgo fails the build rather than picking a winner.
7878[[collections]]
7979source = "blog"
8080output = "index.html"
content/templates/base.html +4 −4
@@ -1,12 +1,12 @@
1{# Page layout for org-ssg, mirroring theme/templates/base.html.
1{# Page layout for orgo, mirroring theme/templates/base.html.
22
33 Styling comes from theme/static/styles.css, published by `[build] assets` in
4 org-ssg.toml — the same directory weblorg serves at /, read in place rather than
4 orgo.toml — the same directory weblorg serves at /, read in place rather than
55 copied. weblorg links the minified styles.min.css instead; that file is gitignored
66 build output and the rules are the same, so this links the tracked one.
77
88 Available here: page (.title .url .source .date .date_iso .tags .excerpt .toc
9 .keywords), site, nav, root, stylesheet. See the org-ssg guide on Templates. #}
9 .keywords), site, nav, root, stylesheet. See the orgo guide on Templates. #}
1010{#- The table of contents, in the shape Emacs exports it. `page.toc` is a tree of
1111 {title, anchor, level, number, children}, and it is empty when the page has no
1212 headings or says `#+OPTIONS: toc:nil` — so pages that opt out render nothing here.
@@ -78,7 +78,7 @@
7878<p>{% for tag in page.tags %}<a href="{{ root }}tags/{{ tag }}.html">#{{ tag }}</a> {% endfor %}</p>
7979{%- endif %}
8080{#- Blog posts add a reply footer inside this block; see post.html, which the
81 [[pages]] rule in org-ssg.toml selects for everything under blog/. #}
81 [[pages]] rule in orgo.toml selects for everything under blog/. #}
8282<div>
8383{{- toc(page.toc) }}
8484{% block content %}{{ body | safe }}{% endblock %}</div>