staccato-hugo
2026-04-05
Code review fixes: missing templates, post-single CSS, and 155 test failures resolved
23 files · 941+ · 360-
Missing templates: 404 page and RSS feed
2 files changed
404.htmlNew 404 page template (39 lines)rss.xmlNew RSS feed template (21 lines)
- Two templates were missing from the initial release. layouts/404.html provides a themed 404 page using the site’s full layout (header, effects, settings drawer). layouts/_default/rss.xml provides an RSS 2.0 feed template for Hugo’s built-in RSS generation.
instantiate
behavioral
2 files
404.htmlrss.xml
Post-single CSS component and CSS custom properties extraction
4 files changed
post-single.cssNew post single component (84 lines): images, headings, lists, blockquotes, tables, copy buttonproperties.cssNew CSS custom properties file (48 lines): shared design tokensbase.cssscrollbar-gutter: stable addedsingle.htmlSimplified to use .post-single class; inline styles removed
- Post content styling extracted from posts/single.html inline styles into a dedicated post-single.css component (images with border-radius/margin, headings hierarchy, lists, blockquotes with accent border, tables, copy button). CSS custom properties extracted to properties.css for shared design tokens. base.css gains scrollbar-gutter: stable to prevent layout shift on scroll.
instantiate
behavioral
3 files
post-single.cssproperties.csssingle.html
Link style and accessibility hardening
4 files changed
links.cssLink item background opacity raised; backdrop-filter: blur(4px) addedheader.htmlAccessibility attribute fixesfooter.htmlAccessibility attribute fixessettings-drawer.htmlAccessibility fixes
- Link item cards gain backdrop-filter: blur(4px) and raised background opacity (8%→15%) for better legibility over canvas effects. Header, footer, and settings drawer partials updated with accessibility fixes from the external code review (aria attributes, semantic markup).
harden
behavioral
2 files
links.cssheader.html
Fix all 155 failing tests: WebGL mocks, search DOM, color assertions
5 files changed
canvas.tsWebGL mock expanded from ~260 to 405 lines: missing methods addedsearch.test.tsSearch test DOM fixtures rewritten (294-line change)EffectUI.test.tsColor assertion patterns corrected (28-line change)PolyCentriCityEffect.test.tsPolyCentriCity WebGL mock usage updated (38-line change)dom-helpers.test.tsDOM helper test fixtures updated
- All 155 failing tests fixed across three root causes: (1) WebGL canvas mock in mocks/canvas.ts was missing methods called by PolyCentriCity and EffectUI — expanded from 260 to 405 lines with full WebGLRenderingContext stub; (2) search.test.ts DOM fixtures didn’t match the updated search.ts markup structure — rewritten to match; (3) color assertions in EffectUI tests used exact RGB values that don’t survive the CSS variable pipeline — corrected to pattern-match.
qualify
internal
4 files
canvas.tssearch.test.tsEffectUI.test.tsPolyCentriCityEffect.test.ts
Search and theme-switcher improvements
3 files changed
search.tsSearch refactored: keyboard nav, result rendering (92-line change)theme-switcher.tsTheme switcher additions (46 lines)main.tsMain bootstrap updated (18-line change)
- search.ts refactored for improved keyboard navigation and result rendering consistency. theme-switcher.ts gains additional settings persistence. Changes paired with the search.test.ts DOM fixture rewrite.
instantiate
behavioral
2 files
search.tstheme-switcher.ts