Six layouts, each with a stripped-back specimen and a real page using it. The
specimen shows what the type gives you and nothing else; the real page shows it
carrying actual content. Open both when you are deciding which type a new page
should be.
The rules behind them are in Page Types — this page is only
the showroom.
The layouts
| Type | Skeleton | Live | What it is |
|---|---|---|---|
shelf |
Shelf | Home | The top level. Covers on a grid, nothing above it to close to |
contents |
Contents | Website | Inside one book. Rows, and a close back to the shelf |
doc |
Doc | Button | The default. Markdown, reading measure, contents rail, pager |
page |
Page | none yet | Doc chrome, hand-written HTML body, measure released |
tool |
Tool | SVG Cleaner | The shell and a close. Everything else is the tool's own |
bare |
Bare | Contact | Header only. No sidebar, outside the page transitions |
page has no live instance yet. The type, the wide frame and the raw-HTML body
path are built and exercised by the skeleton, but nothing real uses it — the
first page that needs a body the reading measure would crop will be the proof.
What each one carries
Open the skeleton. That is what this page is for — the specimen shows the chrome
directly, which is quicker to read than any table and cannot go stale.
The chrome matrix itself lives in Page Types, next to thePAGE_TYPES object it is transcribed from. It was duplicated here until it
drifted from that object, which is the argument for keeping it in one place.
Where the source lives
| Type | Source |
|---|---|
shelf, contents |
Generated. Nothing to author |
doc |
cms/<name>.md — omit type: |
page |
cms/<name>.md with type: "page", plus a <name>.html body |
tool |
cms/apps/<slug>.md + cms/apps/<slug>.html |
bare |
Hand-written, from templates/page-template.html |
The skeletons on this page live in cms/examples/, except the bare one, which
is examples/bare.html — hand-written, because a bare page has no sidebar and
no page-transition container and so cannot come out of the docs template at all.
The build rejects type: "bare" in a cms/*.md file for that reason.