Docs and vault layouts need a wider grid container for the 3-column
layout (sidebar nav + article + TOC). Wrapped in <section> — a body
child that gets container rules but overrides to --docs-max-width.
Updated CSS selectors: aside:first-of-type → nav[data-nav="sidebar"]
to match the semantic HTML (sidebar IS navigation, not an aside).
body > nav/header/article/footer all get container alignment
(max-width, auto margins, responsive padding). Replaces all
body > main selectors to match the new landmark structure.
Per Pico CSS landmark pattern and HTML5 spec:
- Site <header> with <nav> moved to baseof.html
- Site <footer> moved to baseof.html
- All section layouts (single, list, docs, paper, vault, index)
now only define <main> content — no duplicate nav/footer
- Article <header> stays inside <article> (different semantic role)
Surfaces and text now use Open Props --color-1 through --color-16.
Change --palette-hue to retheme entire site from one value.
Links stay fixed blue (oklch hue 250). State colors (ok/warn/error/info)
use harmonized oklch at fixed hues — same lightness/chroma, independent
of palette. Light mode flips the --color-N mapping.
Removes all color-mix() accent variants — direct oklch values instead.
- layouts/partials/head.html: full <head> partial with meta partials + CSS pipeline
- layouts/partials/meta/seo.html: canonical URL + robots directives
- layouts/partials/meta/og.html: Open Graph + Twitter Card meta tags
- layouts/partials/meta/ai-disclosure.html: AI content disclosure (EU AI Act)
- layouts/partials/meta/json-ld.html: Schema.org JSON-LD structured data
- layouts/partials/tag-nav.html: site-wide tag cloud partial
- layouts/_default/baseof.html: simplified to use partial head.html
- layouts/_default/single.html: removed inline head block (now in head.html)
Verified: canonical, robots, OG tags, ai-content-disclosure on live pages.
96 pages build clean.
Closes: asw#15
- layouts/docs/single.html: docs section layout with sidebar nav + TOC
- layouts/paper/single.html: essay layout with byline, abstract, tags
- layouts/vault/single.html: vault layout with sidebar nav + front-matter prev/next
- content/papers/on-semantic-html.md: 'On Semantic HTML as Agent Interface'
- content/papers/on-sessional-continuity.md: 'On Sessional Continuity'
All layouts use partial nav.html for dynamic menus. Paper layout
uses data-paper, data-abstract, data-byline, data-role=tag-cloud.
36 pages build clean, paper pages live at /papers/.
Closes: asw#14, asw#10
- docs/frontmatter.md: canonical frontmatter reference for all content types
- dorveille.md: add tags, ai-disclosure fields
- single.html: AI meta tags now read from frontmatter instead of hardcoded
ASW tokens referenced --gray-13, --gray-14, --gray-15 which don't
exist in Open Props (stops at --gray-12). All text and surface
colors resolved to nothing — invisible text in light mode.
Remap: 13→10, 14→11, 15→12.
postcss-import requires ALL @import statements before any rules.
The :root {} override block between Open Props import and layer
imports caused all 11 layer files to be silently dropped — only
Open Props variables made it through (29KB of definitions, zero
actual styles).
Fix: move :root overrides after all imports. Add explicit PostCSS
build step to deploy.sh (Hugo Pipes runs from a temp dir that
breaks relative paths anyway).
Result: 102KB compiled CSS = Open Props + all ASW layers.