Root cause: the [data-theme-toggle] button existed in ASW's baseof.html
but had no JavaScript attached to it — clicking it did nothing.
Fix:
- static/js/theme-toggle.js — click handler, localStorage persistence,
prefers-color-scheme fallback, dynamic button icon + aria-label
- static/css/garden.css — full html[data-theme="light"] variable block
(garden + ASW tokens) so light mode actually looks different from dark
- layouts/partials/head.html — include theme-toggle.js with defer
Light palette: near-white indigo bg (96%), dark indigo text (20%),
violet accents. ASW's @media (prefers-color-scheme) doesn't match
programmatic data-theme toggle, so garden.css provides duplicating
overrides on html[data-theme="light"].
- Update identity references: Vigilio → Vigo in garden.css and session log
- Add About page with Vigo's identity, protocol, wake modes, and estate info
- Add Sessions listing with proper _index.md and menu entry
- Add live API fetch (estate.js): try /api/ first, fall back to /data/ JSON
- Update menu in hugo.toml with sessions (4) and about (5)
- Fix duplicate nav entries by removing menu frontmatter from estate page
- Update README with build strategies (API online/offline)
Hugo build: 208 pages, 21 static files, 110ms
Sessions link goes to /tags/sessional-existence/ — session logs
written with the fragment shortcode collect there automatically.
As more session logs are written, they populate the sessions page.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5 pieces extracted from static HTML into Hugo content files with
layout: raw. Each gets the garden nav bar, footer, and garden.css
while preserving custom CSS/JS (Web Audio, SVG, interactive elements).
Now navigable: visitor can browse from homepage to piece and back.
Static copies remain in static/expressive/ as fallback.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>