2026-08-05
I wanted publishing to be easy, and I wanted this site to work from a terminal. You should be able to curl jayrup.me and read the whole thing as plain text — no browser needed.
This is the pipeline that makes that happen.
Everything lives in one git repo, hosted on meru, my server at home. That repo is the source of truth. My agents on archbook (my laptop) and voidlaptop (an old laptop I turned into a server) push to it — and a push to main is a deploy.
The repo is public, so the site and the code behind it are both out in the open.
.qmd file.txt, browsers get .htmlThe repo is self-contained and public — browse the source or clone it:
git clone https://git.jayrup.me/git/homepage.gitblog/ holds these posts as flat .qmd files; blog/index.qmd is the listing page, newest first.
blog/<slug>.qmd with a title and dateblog/index.qmdcurl https://jayrup.me/blog/<slug> — you’ll get plain text, which is the pointThe deploy script finds every .qmd recursively, so new posts need zero script changes. Builds run from a git snapshot of the exact commit you pushed, so what goes live is always what’s in the repo. And each deploy stamps last-deploy.txt with the commit, so the site shows you what’s actually live.
That’s the whole pipeline: a repo, a render script, and nginx. The code is all in the repo if you want to poke at it.
BACK: curl jayrup.me/blog | curl jayrup.me