How this site works

This site is the thing it describes, so it makes a decent tour of what a cairn deployment actually is.

The site itself is a Waymark scaffold in a single repository, the same starting point the tutorial produces, consuming @glw907/cairn-cms from npm. The content model is the stock set, deliberately unmodified: Posts (this page is one), Pages (the home page is one), and the embedded-only Fragments they can share. What’s composed rather than stock is the routing. The home page’s route pulls a Pages entry and the latest posts through the same delivery exports any site gets, and the blog receives the template’s archive; the point of the arrangement is that a site can rearrange cairn’s pieces without touching its internals.

The whole thing, public pages and admin both, deploys as one Cloudflare Worker. Beside it sit three stores: a D1 database for the editor list and sign-in sessions, an R2 bucket for media bytes, and the git repository, which holds every word. The sign-in email goes out through Cloudflare’s Email Sending. There is no server anywhere, and no content database; the markdown files are the content. One screen in the admin, Signups, isn’t cairn’s at all: it’s a custom screen mounted through the extending seam, reading its own separate database, there to show where a real site’s domain features go.

The editor at /admin is not a demo. Posts like this one are written in it, saved as private drafts, and published from it, and each publish becomes a commit in the site’s repository through a GitHub App, authored in the writer’s name. A deploy then carries it live. When something needs investigating, the engine’s structured logs name each auth and publish event, queryable from the Cloudflare dashboard.

The chrome you’re reading, serif headings and warm paper, is the cairn theme over neutral Waymark; the previous post tells that story. And the /help pages serve more than this site: they’re the standing editor orientation a cairn site’s developer can point their admin’s support contact at.

That’s the deployment. A more precise version of everything above lives in the docs, and the tutorial that builds one from an empty directory is Build your first cairn site.