Skip to main content

Static Website Architecture

Semantic HTML and CSS — No JavaScript, No Dependencies, No Build

Overview

Static website architecture builds content-focused sites purely from web standards: semantic HTML for structure and modern CSS for presentation and interactivity. There is no JavaScript, no external dependency, and no build system — the files you write are exactly the files you ship. This approach suits documentation, marketing sites, portfolios, and any project where no client-side state is required.

The BCE pattern maps naturally onto static sites: semantic HTML pages act as Boundaries — the user-facing entry points; CSS-only interactive patterns take the role of Controls — behavior without scripts; and content together with design tokens forms the Entity layer — the data and the design system the pages render. Verification happens from the outside, by driving a real browser against the rendered pages.

Business Components

Content areas are organized as business component directories named after their domain topics (e.g., workshops, trainings, articles, about). Each component contains its own pages, images, and a checks.md manifest describing the observable behavior of its pages.

The site root holds the entry page and shared assets: index.html, css/style.css, images/, fonts/, and icons/. For small sites a flat structure — HTML files, a single stylesheet, and an images directory — is sufficient.

Boundary

Semantic HTML pages serving as the user-facing entry points. Boundaries structure content with landmarks, a strict heading hierarchy, labeled forms, skip links, and alternative text — accessible by construction, indexable by default, and rendered identically to what was authored.

Control

CSS-only interactive patterns implementing behavior without a single line of JavaScript. Controls turn native HTML elements and CSS pseudo-classes into accordions, modals, tabs, dropdowns, and mobile menus — interactivity that works in every browser, with no script to load, parse, or fail.

Entity

Content and design tokens representing the site's data and design system. Custom properties on :root define colors, spacing, typography, and radii as the single source of truth; component and page rules reference tokens, never raw values. The design intent can be captured in a DESIGN.md at the project root.

Implementation Characteristics

Constraints

Verification Loop

checks.md

Development Experience

Resources

Examples & References