# Spec: Site Directory: `site/` ## Purpose The ASW framework's own website. Serves as documentation site, demo platform, and living proof that the framework works. Currently built with the Hugo pack. ## Content Types ### Docs (from `../docs/`) Framework documentation, mounted as Hugo content via module mount. Not duplicated — sourced from the engine-agnostic `docs/` directory. ### Articles (`content/articles/`) Short-form writing about ASW concepts, patterns, and techniques. No TOC. ### Essays (`content/essays/`) Long-form writing. TOC, description, wider reading measure. ### Notes (`content/notes/`) Exported PKM vault notes. Session logs, diffs, status, tasks, wikilinks. ### Pages (`content/pages/`) Static pages: about, etc. ## Engine Currently Hugo. The site uses `packs/hugo/` as its base and adds: - Site-specific layouts and overrides - `hugo.toml` with module mounts - Site-specific static assets ## Principle The site is a consumer of the framework, not part of it. A different site could be built with `packs/flask/` or `packs/caddy/` using the same `docs/` and `dist/asw.css`. The framework does not depend on the site. The site depends on the framework. ## Scenarios ### Given a framework docs change - **When** a markdown file in `docs/` is modified - **Then** the site picks it up automatically via Hugo mount - **And** no file in `site/` needs to change ### Given a CSS framework change - **When** `src/layers/` is modified - **Then** `dist/asw.css` is rebuilt - **And** the site serves the updated CSS ### Given a site-only change (new article, essay) - **When** content is added to `site/content/` - **Then** only the site is affected - **And** `src/`, `dist/`, `docs/` are untouched