The blog's seven roro9stack posts, imported as a devlog section (/devlog/) in the site's style; Devlog replaces Blog in the navigation and the footer. Touches only site/ and docs/.
Text, tone and structure of the posts are unchanged. Links between them point to /devlog/<name>/ (same directory names as on the blog); one link to an unpublished work-in-progress post became plain text. The vinyl remote and ZFS rescue posts stay on the blog, which the devlog index links to.
The posts' parts (the "days since" sign, the cast, steps, asides, folded sections, captions, screenshots) are shortcodes restyled with the site's palette, notched boxes and fonts.
The 17 inline SVG diagrams had <style> blocks and style attributes, which the site's CSP refuses. Their rules moved to static/css/devlog-diagrams.css, and a diagram's minimum width is a class. No change to the Caddy policy is needed.
Atom feed at /devlog/atom.xml, linked from the devlog pages.
Checked: Chromium with the production CSP applied to every response, on the index and all seven posts at 1100 and 390 px: no violation, no broken image, no sideways scroll; check_site.py 24 pages, 0 problems; zola check clean. Looked at the index, an opening, a diagram, code and a table in dark and light (light only partly: a screenshot step failed once).
Not checked: every diagram in both themes, and the posts read through for stale wording ("this weekend" and such, kept as written). Caddy's @html cache matcher lists pages by name, so /guide/ and /devlog/ pages need */ added to it to get no-cache.
The blog's seven roro9stack posts, imported as a **devlog** section (`/devlog/`) in the site's style; **Devlog** replaces **Blog** in the navigation and the footer. Touches only `site/` and `docs/`.
- Text, tone and structure of the posts are unchanged. Links between them point to `/devlog/<name>/` (same directory names as on the blog); one link to an unpublished work-in-progress post became plain text. The vinyl remote and ZFS rescue posts stay on the blog, which the devlog index links to.
- The posts' parts (the "days since" sign, the cast, steps, asides, folded sections, captions, screenshots) are shortcodes restyled with the site's palette, notched boxes and fonts.
- The 17 inline SVG diagrams had `<style>` blocks and `style` attributes, which the site's CSP refuses. Their rules moved to `static/css/devlog-diagrams.css`, and a diagram's minimum width is a class. No change to the Caddy policy is needed.
- Atom feed at `/devlog/atom.xml`, linked from the devlog pages.
Checked: Chromium with the production CSP applied to every response, on the index and all seven posts at 1100 and 390 px: no violation, no broken image, no sideways scroll; `check_site.py` 24 pages, 0 problems; `zola check` clean. Looked at the index, an opening, a diagram, code and a table in dark and light (light only partly: a screenshot step failed once).
Not checked: every diagram in both themes, and the posts read through for stale wording ("this weekend" and such, kept as written). Caddy's `@html` cache matcher lists pages by name, so `/guide/` and `/devlog/` pages need `*/` added to it to get `no-cache`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
Seven posts imported into site/content/devlog/ with their text unchanged,
links between them pointing to /devlog/, and shortcodes (sign, cast, steps,
asides, folded sections, diagrams, captions) restyled in the site's palette.
The 17 inline SVG diagrams carried <style> blocks and style attributes the
site's Content-Security-Policy refuses: their rules moved to
devlog-diagrams.css, and a diagram's minimum width is a class. An Atom feed
at /devlog/atom.xml.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
"The last post" and "the first post" in the LoRa, Gemini and S1 posts are
now links. check_site.py follows every link to another page of the site and
the #fragment it names, so a broken one fails the Site job.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT
twisla
merged commit 362fbc2c0e into main2026-10-06 18:59:43 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The blog's seven roro9stack posts, imported as a devlog section (
/devlog/) in the site's style; Devlog replaces Blog in the navigation and the footer. Touches onlysite/anddocs/./devlog/<name>/(same directory names as on the blog); one link to an unpublished work-in-progress post became plain text. The vinyl remote and ZFS rescue posts stay on the blog, which the devlog index links to.<style>blocks andstyleattributes, which the site's CSP refuses. Their rules moved tostatic/css/devlog-diagrams.css, and a diagram's minimum width is a class. No change to the Caddy policy is needed./devlog/atom.xml, linked from the devlog pages.Checked: Chromium with the production CSP applied to every response, on the index and all seven posts at 1100 and 390 px: no violation, no broken image, no sideways scroll;
check_site.py24 pages, 0 problems;zola checkclean. Looked at the index, an opening, a diagram, code and a table in dark and light (light only partly: a screenshot step failed once).Not checked: every diagram in both themes, and the posts read through for stale wording ("this weekend" and such, kept as written). Caddy's
@htmlcache matcher lists pages by name, so/guide/and/devlog/pages need*/added to it to getno-cache.🤖 Generated with Claude Code
https://claude.ai/code/session_01EhqxQ49eCju4CzKYNjZzwT