Web Device Markdown structure — not an AUP primitive; not a theme/site layout component.
Sample contract
| Field | Value |
|---|---|
| Purpose | YAML flag that turns top-level HR breaks into slide boundaries and mounts the slides player path |
| Boundaries | Without flag → ordinary article; without widget → server transcript only; not a free-form canvas |
| Author entry | slides: true (+ often layout: slides) + HR boundaries |
| Surface | Web Device slides / document embed player |
| Public status | released |
| Fallback / failure | No flag → ordinary prose separators; no widget → transcript only |
| Verification | Routes below · demo page · arc --version = 2.0.0-beta.28 |
Sample
Author front matter on a content record:
---
title: A short technical explanation
slides: true
layout: slides
---
## Start with one idea
The first slide is an ordinary Markdown body.
---
## Continue on a new slide
- A list
- a tableThis documentation page does not flip itself into a deck (the page is a reference, not the slides record). Live player (when the serving runtime includes the slides widget): Slides demo.
A deck may add the sibling key slidesLayout (side · side-reverse · stacked · stacked-reverse) to pick how the reading form arranges each slide card and its notes; the default is side. On a serving runtime that includes the segment reading form, an unknown value fails the build. The full layout contract, including the narrow-screen fallback and divider pages, lives in the markdown-slides guide.
Pair structure: thematic-break / HR.
Failure and limits
| Situation | Expected result |
|---|---|
Missing slides: true | Ordinary article; HR is a separator only |
| Slides flag without widget mount | Server-side transcript / incomplete player chrome |
slidesLayout with an unknown value | Build rejects the deck, listing the valid values |
| Expecting free canvas editing | Out of contract |
Verification evidence
| Item | Value |
|---|---|
| Baseline | 2026-08-09 · arc --version → 2.0.0-beta.28 |
| Capability row | docs/aup/capability-matrix.md §6 · slides: true front matter · widget deck |
| Implementation | slides.ts · SLIDES_FRONT_MATTER_FIELD · widgets/slides · renderer/primitives/deck.ts |
| Public routes | /en/docs/web-device/markdown/slides-front-matter/ · /zh/docs/web-device/markdown/slides-front-matter/ · demo /en/docs/web-device/slides-demo/ |
| Local run | arc service start --blocklet blocklets/arcblock --port 4900 · open reference + demo |
| Accept | Source shows flag+HR contract; demo (if widget present) plays slides; no canvas claim |
Related
- Markdown hub — navigation only
- thematic-break
- Historical multi-unit hub: markdown-slides