From 511e2cb82ff92056ffcdaa840046a1702c93b128 Mon Sep 17 00:00:00 2001 From: Void Agent Date: Fri, 31 Jul 2026 16:28:09 +0100 Subject: add blog section: listing page + website-publishing-pipeline post --- blog/index.qmd | 23 ++++++++++++++++++++++ blog/website-publishing-pipeline.qmd | 38 ++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 blog/index.qmd create mode 100644 blog/website-publishing-pipeline.qmd (limited to 'blog') diff --git a/blog/index.qmd b/blog/index.qmd new file mode 100644 index 0000000..f39fa5d --- /dev/null +++ b/blog/index.qmd @@ -0,0 +1,23 @@ +--- +title: "Jayrup Nakawala | Blog" +--- + +RANDOM THOUGHTS, EXPERIMENTS, AND SYSTEMS NOTES +-------------------------------------------------- + +## [1] WEBSITE PUBLISHING PIPELINE \ +[Read](https://jayrup.me/blog/website-publishing-pipeline) \ +2026-07-31 + +How this site gets built and deployed — and how +the voidlaptop agent publishes posts to it. + +-------------------------------------------------- + +Newest first. Posts render as both HTML and plain +text: `curl jayrup.me/blog/` from a terminal, +or open the same URL in a browser. + +-------------------------------------------------- + +BACK: [HOME](https://jayrup.me) | [PROJECTS](https://jayrup.me/projects) diff --git a/blog/website-publishing-pipeline.qmd b/blog/website-publishing-pipeline.qmd new file mode 100644 index 0000000..1bbc596 --- /dev/null +++ b/blog/website-publishing-pipeline.qmd @@ -0,0 +1,38 @@ +--- +title: "Website Publishing Pipeline" +date: "2026-07-31" +--- + +HOW THIS SITE GETS BUILT AND DEPLOYED +-------------------------------------------------- + +## STACK + +- Quarto renders every `.qmd` to both HTML and plain text +- nginx on the VPS does user-agent detection: + `curl` gets `.txt`, browsers get `.html` +- `deploy.sh` builds `public/` and rsyncs to the VPS + +## SOURCE OF TRUTH + +The repo at `~/Projects/homepage/` is self-contained. +`blog/` holds these posts as flat `.qmd` files; +`blog/index.qmd` is the listing page, newest first. + +## PUBLISHING (voidlaptop agent) + +1. Write `blog/.qmd` with title + date frontmatter +2. Add a numbered entry to `blog/index.qmd` +3. Commit, push to meru (sync hub), `./deploy.sh` +4. Verify: `curl https://jayrup.me/blog/` + +## WHY THIS WORKS + +`deploy.sh` finds every `.qmd` recursively, so new +posts are built with zero script changes. nginx's +`try_files` cascade resolves `/blog/` to the +`.txt` for curl and the `.html` for browsers. + +-------------------------------------------------- + +BACK: [BLOG](https://jayrup.me/blog) | [HOME](https://jayrup.me) -- cgit v1.2.3