Pure ASW markup, zero classes, zero inline styles.
Messaging reflects the three-layer positioning:
agent as author, agent as builder, agent as reader.
New data-hero attribute for landing page hero sections.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Set noClasses=false so Hugo outputs Chroma CSS classes instead of
inline styles. 10-chroma.css now drives all syntax colors using
ASW's --syntax-* tokens. Fixed remaining primitive leaks
(--violet-4, --orange-3 → --syntax-keyword, --syntax-variable).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New data-demo attribute for demo blocks in documentation.
Replaced 16 files worth of inline style="" wrappers with <div data-demo>.
Only remaining style= is charts --size data injection (legitimate).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Navigation: Docs, Layouts, Lab (simplified from 6 items)
Layouts gallery: card grid showing all available page layouts
with live links to demo pages.
Docs restructure: 8 auto-generated sidebar sections
(Getting Started, Typography, Core, Content, Components,
Reference, Vault, Packs) with 20 new stub pages.
Each stub has inline HTML demos that ASW styles directly.
New Hugo layout template for layouts/ section.
Decap CMS nav updated.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Move top nav from hugo.toml menus to data/nav.yml (CMS-editable)
- Add categories taxonomy alongside tags
- Add Decap CMS settings collection for nav management
- Add categories field to articles and essays in CMS config
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Docs restructure:
- Move flat docs into section subdirs (getting-started/, core/,
components/, reference/) with _index.md for each
- Sidebar auto-generates from content structure — no manual menu entries
- New doc pages appear automatically when created in a section
Decap CMS:
- admin/index.html + config.yml for browser-based editing
- Local mode (npx decap-server) — no OAuth needed
- Collections for all content types: docs, articles, essays, notes, pages
Hugo head.html updated for new CSS layer filenames.
decap-server added as devDependency.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace hardcoded "On this page" with Hugo i18n function
(falls back to English if no i18n file exists).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract from monolithic 03-components.css:
- 03-landmarks.css: nav, article, section, hgroup, dt/dd, footer
- 04-forms.css: buttons, inputs, selects, checkboxes, validation
- 06-navigation.css: sidebar nav, TOC aside
03-components.css retains: accordion, dialog, breadcrumb, steps.
All files will be renumbered to final scheme in next task.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Separate framework source from website:
- src/layers/ + src/main.css: CSS framework source (was assets/css/)
- site/: Hugo website (content/, layouts/, hugo.toml)
- dist/: built output (asw.css, asw.min.css)
- vendor/open-props/: vendored dependency with version tracking
- Hugo module mounts: dist/ → static, site runs from site/
Build: hugo --source site/ passes (105 pages).
npm run build produces dist/asw.css.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Distinct from articles/essays/notes — pages have no publish lifecycle,
no date, no TOC, no prev/next. <main> landmark, not <article>.
Groundwork: layouts/page/single.html + content/pages/about.md stub.
- sidebar and TOC typography/colors moved from 08-layout.css to 03-components.css
- nav[data-nav="sidebar"] and aside[data-toc] layout-only rules remain in 08-layout.css
- <small> section labels replaced with <h3> in sidebar and TOC (semantic + accessible)
- dead selectors removed: nav[data-nav="sidebar"] nav a → nav[data-nav="sidebar"] a,
nav[data-nav="toc"] (Hugo never outputs data-nav="toc")
- webkit scrollbar pseudo-elements removed (scrollbar-width/color sufficient)
- sidebar/TOC sticky top values split: sidebar top space-4, TOC top space-8 + padding-top
- max-height magic number (--size-px-10) replaced with token expression
- layer convention established: 03=component identity, 04=modifiers, 08=placement only
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.