Commit graph

67 commits

Author SHA1 Message Date
c469e69750
fix: homepage template — render content directly, no article wrapper
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 21:27:17 +02:00
aaf60139e3
feat: homepage — hero, three layers, vocabulary, packs, explore
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>
2026-04-11 21:26:33 +02:00
b28eb6be52
fix: default site to dark mode
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 20:46:43 +02:00
6d654e884b
feat: oklch color system, hamburger nav, theme toggle, footer, CSS fixes
Color system:
- Replace all --color-N references in dark mode with oklch()
- Fine-grained surface steps (12%→15%→18%→21%→22%)
- Smooth text gradient (92%→78%→62%→48%)
- Heading hierarchy (95%→65%)
- All palette-driven via --palette-hue and --palette-chroma

Navigation:
- Hamburger menu for mobile (data-nav-toggle + JS)
- Theme toggle button (sun/moon, localStorage persistence)
- data-theme="light|dark" override on <html>
- Cleaned nav CSS, removed old dropdown conflicts

Footer:
- Three-column nav grid (Framework, Resources, Project)
- Branding header + tagline
- Proper semantic structure (header + 3 nav + p)

Fixes:
- Sidebar: compact spacing, --sidebar-link-max token
- TOC: compact, scroll spy with IntersectionObserver
- Prev/next: inline arrows, data-role="prev-next" restored
- Section dividers scoped to article/main only
- Grid columns use tokens not hardcoded values

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 20:43:56 +02:00
e0bda45953
build: rebuild dist/asw.css with data-demo + chroma fixes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:00:14 +02:00
3e69279f3d
fix: switch Hugo to CSS class-based syntax highlighting
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>
2026-04-11 18:58:30 +02:00
fe8ddd6153
feat: add [data-demo] attribute, purge all inline CSS from docs
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>
2026-04-11 18:53:59 +02:00
414ede2957
fix: update all internal doc links to new nested URL structure
/docs/introduction/ → /docs/getting-started/introduction/
/docs/tokens/ → /docs/core/tokens/
/docs/semantic-html/ → /docs/core/semantic-html/
/docs/reset/ → /docs/core/reset/
/docs/data-attributes/ → /docs/core/data-attributes/
/docs/layouts/ → /docs/components/layouts/

Zero 404s in docs after clean build.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:50:08 +02:00
21524b4b25
refactor: standardize all Hugo templates — consistent landmark structure
All templates now follow: body > nav > article > header + content + footer

Removed:
- <hgroup> (redundant, header+h1+p serves same purpose)
- <main> (article is the content landmark)
- role="main" on article (incorrect ARIA)
- header block in baseof (header now inside article)

Standardized: default, docs, essay, notes, console, page, list, index.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:37:47 +02:00
080acfebb7
fix: add Packs to navbar, reorder docs sidebar by importance
Nav: Docs | Layouts | Packs | Lab
Sidebar: Getting Started → Core → Vault → Reference →
Components → Content → Typography → Packs

Promotes ASW-unique features (Vault, Reference) above
standard web framework docs (Typography, Content).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:30:20 +02:00
502b2e8266
feat: site restructure — layouts gallery, docs sections with inline demos
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>
2026-04-11 18:24:27 +02:00
c0426ea746
fix: wrap nav data in items key for Decap CMS compatibility
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:10:16 +02:00
219cc91dc2
fix: use hugo.Data instead of deprecated .Site.Data
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 18:08:59 +02:00
8ab5787e68
feat: CMS-editable nav, categories taxonomy, site settings
- 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>
2026-04-11 18:06:02 +02:00
dd810f5a63
feat: auto-generated docs sidebar, Decap CMS, content migration infra
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>
2026-04-11 18:02:34 +02:00
86464f3e21
feat: legacy import — packs, examples, lab, themes, docs, lineage
Import from agentic-semantic-web/ into restructured repo:
- 7 packs (apache, caddy, flask, hugo, nginx, pandoc, python)
- shared error pages (403-503)
- 17 lab experiments (boilerplate, charts, misc)
- 31 example pages (charts, components, content, layout, vault)
- 2 themes (garden, trentuna stub)
- 4 docs (llms.txt, vocabulary, philosophy, agent-directive)
- lineage.md (Pico/Open Props/Charts.css history)
- Hugo mounts for lab/ and examples/

All agentic.css references updated to asw.css.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 16:57:39 +02:00
e9895cf90d
fix: CSS task 12 — i18n-ready TOC heading in docs and notes layouts
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>
2026-04-11 16:04:51 +02:00
5fb4b1a6cf
refactor: CSS task 11 — audit and remove 22 unused tokens
Removed: --accent-underline, --accent-hover-underline, --font-prose,
--grid-gap-tight, --scrollbar-size, --width-full, --absolute-white,
--task-done/wip/blocked/todo, --callout-info/warn/error/note,
--session-bg, --wikilink, --redacted, --syntax-function/number/operator/tag

168 → 146 defined tokens. Build passes.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 16:03:27 +02:00
79b6b85a94
refactor: CSS task 10 — final layer numbering, merge essay into layout
Rename all layers to target numbering scheme:
  02-typography, 05-components, 07-data-attrs, 08-utilities,
  09-charts, 10-chroma, 11-layout, 12-landing

Merge 08a-essay.css into 11-layout.css.
13 clean layers, 00 through 12.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:30:37 +02:00
9ace9ea2bb
refactor: CSS tasks 7-9 — split components into landmarks, forms, navigation
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>
2026-04-11 15:29:35 +02:00
b602a8d54e
refactor: CSS tasks 1-6 — add token aliases, fix all primitive leaks
- Rename 01-asw.css → 01-tokens.css (pure :root, no rules)
- Add semantic aliases: --weight-*, --shadow-*, --focus-ring-width,
  --dropdown-min-width, --space-5a, --weight-light, --border-width-thick
- Extract editorial rules from token file to components/layout
- Replace all Open Props primitives in layers 02-09 with semantic aliases
- Zero primitive leaks remain outside 01-tokens.css

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 15:26:02 +02:00
910b0e42a6
refactor: restructure repo into src/ site/ dist/ vendor/ packs/
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>
2026-04-11 15:12:42 +02:00
5bf233348d
feat: add OpenSpec specs and changes for ASW restructure
Specs: repo-structure, 10 framework layer specs, packs, site.
Changes: repo-restructure (10 tasks), css-refactor (12 tasks),
legacy-import (proposal + triage categories).

Supersede docs/css-refactor-plan.md in favor of OpenSpec change.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 14:58:39 +02:00
ecfbed0374
feat: add page content type for site infrastructure
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.
2026-04-11 13:37:52 +02:00
15a6db9c0e
refactor: rename content types to semantic taxonomy
- vault → notes (PKM-exported content)
- posts → articles (short-form, no TOC)
- papers → essays (long-form, with TOC)
- type: post → type: article (posts are just short articles)
- layouts/paper → layouts/essay
- 08a-paper.css → 08a-essay.css
- CSS: fix redundant li resets, remove role="main" from article,
  replace <small> prev/next labels, add console layout
- Update hugo.toml menus, internal URLs, front matter throughout
- Add docs/context.md, docs/css-refactor-plan.md
2026-04-11 13:36:58 +02:00
1408a52e8b
docs: add css/html cleanup todo note
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-11 02:18:12 +02:00
b42e4942fa
css: move sidebar/TOC component styles out of layout, replace <small> with <h3>
- 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>
2026-04-11 02:14:42 +02:00
a302d81f14
docs layout: wrap sidebar+article+toc in <section data-layout="docs">
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).
2026-04-10 21:05:31 +02:00
8ea2358412
layout tokens: all dimensions in 01-asw.css, 08-layout.css only uses var()
New tokens: --width-prose (65ch), --width-report (72ch), --container-padding,
--grid-gap, --grid-gap-tight. Layout layer no longer picks values —
edit 01-asw.css to change any layout dimension.
2026-04-10 20:57:57 +02:00
593b40fc15
fix: import open-props/media.min.css — custom media queries were not resolving 2026-04-10 20:45:01 +02:00
e6175b69e0
move container rules from 02-semantic to 08-layout — widths are layout, not semantics 2026-04-10 20:40:31 +02:00
82754338a9
fix: remap CSS container rules from <main> to <article>
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.
2026-04-10 20:39:13 +02:00
c2261bfc9f
drop <main>, use <article role="main"> — bold landmark structure
body direct children: <nav>, <header>, <article role="main">, <footer>
- <nav>: site navigation (own landmark)
- <header>: page identity — title, author, date, metadata
- <article role="main">: content (screen reader gets landmark via role)
- <footer>: site footer

No <main> wrapper. Fewer tags, clearer signal.
Header block defined per-layout (prose gets eyebrow/date, docs gets hgroup).
Content block defined per-layout (docs adds sidebar <nav> + <aside> TOC).
2026-04-10 20:33:25 +02:00
169374e2fd
landmark structure: header/main/footer as direct children of body
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)
2026-04-10 20:17:50 +02:00
2df2c67018
complete oklch migration: zero named palette refs remain
- 01-asw.css: 20 new tokens (14 --syntax-*, 6 utility: print, absolute, high-contrast)
- Layers 02-09: all 30 TODO refs replaced with semantic/syntax tokens
- Zero --gray-N, --green-N, --blue-N, --red-N, --yellow-N in layers 02-09
- Palette-hue knob now controls entire site. Syntax highlighting uses fixed oklch hues.
2026-04-10 20:00:47 +02:00
d9641b0485
build: updated compiled CSS + palette-test.html demo page 2026-04-10 19:44:11 +02:00
ea51dbd7cf
M3: dead code purge + layer refs → semantic tokens
Dead code removed:
- 05-utilities: grid-2/card-grid/stats block (superseded by 08-layout)
- 02-semantic: dialog min-width:100% (conflicted with 03-components)
- 02-semantic: hgroup p dead font-family, redundant nested list margin
- All layers: [ai-disclosure] → [data-ai-disclosure] (bug fix)
- table.striped → [data-table="striped"] (classless alignment)

Ref cleanup: 12 --gray-N/--green-N/--blue-N replaced with semantic
tokens. 24 refs marked TODO (syntax highlighting needs --syntax-* aliases).
2026-04-10 19:44:05 +02:00
9b1dcdab6e
M3: migrate 01-asw.css to oklch --color-N palette system
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.
2026-04-10 19:43:55 +02:00
376bfb2364
cleanup: replace 37 hardcoded values with token references
Across 6 layer files: 1px→var(--border-width), 1rem→var(--space-4),
2rem→var(--space-6), etc. Intentionally left: 3px accent borders,
graduated chart spacing, em-based sub/sup ratios.
2026-04-10 19:27:46 +02:00
bffb86338d
restructure: main.css is the manifest, 01-asw.css is the framework
- asw.css → main.css (just imports, no theming :root)
- 01-tokens.css → 01-asw.css (this IS the ASW design system)
- Removed empty :root {} theming block
- Updated deploy.sh PostCSS path
2026-04-10 19:27:39 +02:00
5deaa22e38
Port head partials: SEO, OG, JSON-LD, AI disclosure, tag-nav
- 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
2026-04-10 18:42:21 +02:00
da1d02ccd1
Port vault section (5 pages) and docs section (11 pages)
- content/vault/: _index.md, diff.md, session.md, status.md, tasks.md, wikilinks.md
- content/docs/: _index.md, introduction, tokens, reset, semantic-html,
  components, data-attributes, navigation, layouts, charts, chroma, accordion-dialog

96 pages build clean (was 36). Docs use sidebar nav + TOC layout.
Vault uses sidebar with section fallback (no vault menu configured yet).
URLs fixed: playground refs → asw.trentuna.com.

Closes: asw#12, asw#9
2026-04-10 18:40:50 +02:00
cbe44d845c
Port section layouts (docs, paper, vault) and papers content
- 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
2026-04-10 18:40:12 +02:00
267a7b1bc8
Port homepage, posts section, shortcodes; update hugo.toml menus
- content/_index.md: homepage with site description and callout examples
- content/posts/asw-vocabulary.md: ASW data-* attribute vocabulary reference
- content/posts/getting-started.md: ASW-Hugo setup guide (updated URLs)
- hugo.toml: add params, taxonomies, menus (main + docs sidebar), ToC settings
- layouts/partials/nav.html: dynamic Hugo menu rendering (was hardcoded)
- layouts/shortcodes/callout.html, wikilink.html: ported from asw-hugo theme

Closes: asw#17, asw#13, asw#11, asw#16
28 pages build clean, deploy confirmed at port 8000.
2026-04-10 18:38:31 +02:00
4f2b0a67e1
frontmatter spec + dorveille tags + dynamic AI disclosure in templates
- 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
2026-04-10 18:28:03 +02:00
5a8c39c3a0
fix: remap gray-13/14/15 to Open Props range (0-12)
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.
2026-04-10 17:57:09 +02:00
20f2974cfd
test: final verification of push-to-render 2026-04-10 17:53:53 +02:00
8a9cfc22bb
fix: CSS layers were silently dropped by postcss-import
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.
2026-04-10 17:53:17 +02:00
f8821c226d
Switch to pre-built CSS pipeline: postcss before Hugo, no pipe subprocess 2026-04-10 17:52:03 +02:00
e8f5e78881
test: bash no login shell 2026-04-10 17:51:24 +02:00