This recipe deliberately starts from the first locally verified Web Device path. It is a small information site, not a generic blog starter and not a deployment procedure.
Establish the verified base
Follow Build a first site to create:
.route/web
.web/site.yaml
.web/components/hello/{manifest.json,render.js,style.css}
pages/index/layout.aupThen add one named page directory, for example pages/about/, with its own layout.aup and an existing site component. Keep the navigation choice explicit: creating pages/about/ makes a route possible, but does not automatically put it in every header/menu.
Keep the first acceptance narrow
- Run lint, validation, blocklet check, and build.
- Directly run the local blocklet, not a DID Space deployment.
- Open home and the named page at the exact printed URL.
- Check a narrow viewport and one internal navigation path.
- Only then extract a shared header/footer component if two pages genuinely need it.
The verified base is intentionally component-driven. Do not turn this recipe into a content-site claim by pasting article bodies into the layouts; add content objects and source bindings when the site actually needs collections.
Next: Content site or Custom component.