v1.1.0
Two new internal reference pages (/style/, /reference/) documenting the design system and markdown capabilities, expanded markdown support (footnotes, callouts, margin notes, custom heading IDs), a full content reset to start fresh, and a batch of styling and CI fixes.
- feat: SVG logo system —
logo.svg,logo-mark.svg; all icons generated at build time via Playwright (favicon.svg,favicon.ico,apple-touch-icon.png,icon-192.png,icon-512.png) - feat: OG image redesigned — left-aligned layout with logo, rule, title, subtitle
- feat: anatomy diagram saved as
images/anatomy-figure.svg+.png; served via<picture>on about page - feat: post permalinks changed to
/posts/{category}/{slug}/ - feat:
about.mdreplaces.njkpage file - infra:
generate-images.jsfully rewritten — Playwright for all raster output, resvg removed - infra:
deploy.yml— Playwright browser install + productionURLenv var added - infra:
svgContentsfilter for inlining SVG files in templates - chore: removed newsletter signup (page, forms, nav link, CSS) — Buttondown was never wired up; revisit later
- chore: removed all blog posts to start fresh with new content
- feat:
/style/page — internal reference (noindex, not in nav) rendering color tokens, type scale, spacing scale, category badges, and dividers - feat:
/reference/page — plain markdown file (src/reference.md), editable directly; mirrors musings' formatting reference, covering headings (h2-h4), nested lists, typographer, linkify, raw HTML passthrough, tables, code blocks, footnotes, callouts, margin notes, and custom heading IDs - fix:
.post__body img,.post__body table, and.post__body h4had no styling — added - fix: Google Fonts link only loaded IBM Plex Serif at weight 400 — bold text and h3/h4 headings had no real bold face to render with; added weight 700 (roman + italic)
- feat: footnotes via
markdown-it-footnote— numbered, bidirectionally linked - feat: custom heading IDs/classes/data-attrs via
markdown-it-attrs - feat:
{% callout %}and{% marginnote %}paired shortcodes — note/warning callouts with tinted backgrounds; margin notes that float left of content at ≥1100px and sit inline below that - style:
--color-code-bgand--color-code-inlinenow both alias--color-accent-paleinstead of separate greys - fix:
.post__body blockquote's child<p>kept its default bottom margin, which doesn't collapse through the blockquote's own padding — left a large gap after quoted text; zeroed on:last-child - style: merged
--color-border-subtleinto--color-borderand--color-text-faintinto--color-text-muted— both were near-duplicates used in one place each, andtext-faint's original justification (placeholder-only, WCAG-exempt) no longer applied once the newsletter form was removed - style:
/style/'s color swatches now grouped under Surfaces/Text/Accent/Callouts subheadings, and include the callout colors that were missing from the list - refactor: consolidated three copies of
p:last-child { margin-bottom: 0; }(blockquote, callout, margin-note) into one grouped rule; consolidatedmarkdownify/callout/marginnote's duplicatedmd.render()calls into onerenderMarkdownhelper; removed now-dead.sr-only(only user was the removed newsletter form) - fix:
.margin-note's wide-screen layout used a magic-200pxoffset unrelated to any token — reworked into non-overlapping narrow/wide rules driven by new--margin-note-width/--margin-note-gaptokens; breakpoint stays 1100px (verified: 230px gutter available there vs. 184px needed) - fix:
favicon.svgusedstroke="currentColor", which only resolves correctly when inlined into HTML with a CSS color cascade (aslogo.svg/logo-mark.svgare) — loaded standalone via<link rel="icon">it fell back to black; hardcoded to#4a7c59 - fix:
deploy.ymlnever installed ImageMagick —generate-images.js'smagick/convertauto-detect (added in an earlier fix) silently fell back to a binary that also doesn't exist onubuntu-latest, failing every deploy at thefavicon.icostep. Present locally on this machine the whole time, which is why it went unnoticed. Added an explicitapt-get install imagemagickstep