Front-matter reference
Every key a deck’s front matter can carry. To learn how front matter works, and which settings most decks want, start with Deck settings.
This page is generated from the engine’s table of front-matter keys
(lib/core/deck-settings.js), the same table the Studio editor completes from and
lint:deck checks against. A key Lattice does not read draws an unknown-key
warning, and a value outside a key’s list draws unknown-<key>, so finsh: halo or
size: huge is caught instead of rendering the default. Marp’s own keys (marp:,
headingDivider:, author: and the like) are accepted and ignored, and are not listed
here. The groups match the
sections under Settings → Deck in the Studio, in the same order.
For an editor outside the Studio, npm run build writes the same table as a JSON
Schema, dist/schemas/front-matter.schema.json. Point your editor’s YAML support at
it to complete keys and values as you type.
One slide can differ from the deck through the per-slide form a row names.
Where it reads <value>, put the value there: the deck’s spectrum: off is
spectrum-off on one slide. Not every value has a class (there is no
spectrum-on, because on is what a slide gets with no class), and a key whose
row names no per-slide form, such as theme: or size:, applies to the whole
deck only.
The LFM specification defines a portable subset of these keys, for tools other than Lattice. This page is what Lattice itself reads.
Look
Theme, canvas, size and the overall hand of the deck.
| Key | What it does | Values | Default |
|---|---|---|---|
theme: | Deck theme (palette) — e.g. indaco, cuoio. Studio: Settings → Deck → Look → Theme. | a theme name, e.g. indaco, cuoio | indaco |
size: | Slide size — hd (16:9), standard, square, 4k, or a portrait format. Studio: Settings → Deck → Look → Size. | hd · HD · 4K · 4k · standard · 16:9 · mobile-landscape · square · 1:1 · portrait · 4:5 · story · reel · 9:16 · mobile | hd |
preset: | A named look that sets the backdrop, alignment and accent registers at once — an explicit key (finish:, rule:, …) overrides it. Studio: Settings → Deck → Look → Preset (also in Basic). | classic · editorial · brand · minimal | classic |
color-mode: | The mode the deck opens in. Studio: Settings → Deck → Look → Color mode. One slide: _class: dark · color-light · color-system · print. | light · dark · system · inherited · print | the theme’s own |
mode: | Rendering mode. Studio: Settings → Deck → Look → Mode. One slide: _class: sketch. | boardroom · sketch · sketch-clean | boardroom |
finish: | Finish backdrop — e.g. atrium, halo, gallery. Studio: Settings → Deck → Look → Finish. One slide: _class: finish-<name>. | none · atrium · meridian · strata · halo · ledger · nimbus · loom · savile · gallery | none |
finish-override: | Override the applied finish — a nested map (backdrop: { strength, clearance }, wash, …). Applies to: Studio only (written by Fabricate). | a nested map of finish layers | none |
backdrop: | Restrain any finish — e.g. `backdrop: 40 clear`. Studio: Settings → Deck → Look → Backdrop strength · Backdrop mask. One slide: _class: backdrop-<value>. | 20 · 40 · 60 · 80 · full · clear · open · spot-tl · spot-t · spot-tr · spot-l · spot-c · spot-r · spot-bl · spot-b · spot-br | the finish's own |
tag: | Style every card tag — e.g. `tag: plain band center`. Studio: Settings → Deck → Look → Card tags (Tag color · size · placement · text). One slide: _class: tag-<value>. | color · plain · none · small · regular · large · corner · foot · notch · band · inline · start · center · end | the component's own |
image-card: | Style the text card on every image slide that floats its words over the photo (spotlight, statement) — e.g. `image-card: top-right soft sm`, or `image-card: bottom band` for a full-width strip along the bottom edge. Applies to: image slides only. Studio: Settings → Deck → Image (Placement · Backing · Ink · Size · Density · Shape). One slide: _class: at-<corner> · card-<backing> · card-o<level> · ink-<value> · card-<size> · compact · card-regular · band · card-float. | bottom-left · bottom · bottom-right · center · top-left · top · top-right · solid · soft · sheer · clear · 5% · 10% · 15% · 20% · 25% · 30% · 35% · 40% · 45% · 50% · 60% · 65% · 70% · 75% · 85% · 90% · 95% · light · dark · md · sm · lg · regular · compact · float · band | bottom-left solid md regular |
lift: | Card lift — the "Struck" shadow on card surfaces. Studio: Settings → Deck → Look → Card lift. One slide: _class: lifted · flat. | on · off | off |
chart-finish: | How every chart spends its color. Applies to: every chart's marks and key. Studio: Settings → Deck → Look → Chart finish. One slide: _class: chart-finish-<value> · chart-finish-off. | off · pigment · etching · tone | off |
venue: | Where the deck is seen — sets the type size for the back row. laptop (default) · huddle (4–6 people) · conference (10–30) · hall (50+). Applies to: type size, label size and lint budgets. Studio: Settings → Deck → Look → Venue. One slide: _class: venue-<value>. | laptop · huddle · conference · hall | laptop |
cards: | Where a card row puts spare height — omit it and the component decides. Studio: Settings → Deck → Look → Frame and fit → Card rows. One slide: _class: cards-<value>. | center · stretch · top · spread | each component decides |
corners: | Slide surface corners. Studio: Settings → Deck → Look → Frame and fit → Corners. One slide: _class: corners-<value>. | square · rounded | square |
claim: | How much frame the content sits inside. Studio: Settings → Deck → Look → Frame and fit → Claim. One slide: _class: claim-<value>. | framed · quiet · hero · bleed | framed |
fit: | What the engine may do to make a slide fit — replaces guards:. Studio: Settings → Deck → Look → Frame and fit → Fit. One slide: _class: fit-<value>. | report · heal · trim | heal |
code: | Default options for every code block — e.g. numbers, wrap. A fence's own record wins. Applies to: every code fence. | code-record options, e.g. numbers, wrap | none |
avatar: | The deck's default for inline avatars. One slide: _class: avatar-<value>. | circle · rounded · square · framed · bare | circle framed |
callout: | The deck's default for inline callouts. One slide: _class: callout-<value>. | on · off | on |
icon: | The deck's default for inline icons. One slide: _class: icon-<value>. | framed · bare · pigment · etching · tone · square · rounded | framed pigment square |
spark: | The deck's default for inline sparks. One slide: _class: spark-<value>. | framed · bare · pigment · etching · tone · square · rounded | framed pigment square |
Chrome
The furniture on every slide: running header and footer, page numbers, logo.
| Key | What it does | Values | Default |
|---|---|---|---|
header: | Running header text on every slide. Studio: Settings → Deck → Chrome → Header. One slide: <!-- _header: … -->. | any text | none |
footer: | Running footer text on every slide. Studio: Settings → Deck → Chrome → Footer. One slide: <!-- _footer: … -->. | any text | none |
paginate: | Page numbers — on unless false (also no, off, 0). One slide opts out with the no-pagination class, back in with with-pagination. Studio: Settings → Deck → Chrome → Page numbers. One slide: _class: … no-pagination. | true · false | true |
meta: | The masthead bay’s meta line — a date, a document number, a review stage. Studio: Settings → Deck → Chrome → Meta line. | any text; | starts a new line | none |
logo: | Deck logo — a path beside the deck or a full URL, drawn into the masthead. Studio: Settings → Deck → Chrome → Logo. | a path beside the deck, a URL, or lattice | none |
logo-finish: | Style the logo on one line, up to one word per axis: placement (top-left / top-center / top-right / bottom-left / bottom-center / bottom-right — e.g. `logo-finish: bottom-center accent-ink`. `_class: no-logo` hides it on one slide. Studio: Settings → Deck → Chrome → Logo. | top-right · top-left · top-center · bottom-left · bottom-center · bottom-right · auto · accent · ink · muted · canvas · inverse · brand · accent-ink · accent-canvas · ink-canvas · no-plate · plate · md · sm · lg · all · title | top-right auto md all |
General
What the deck is called, what language it is in, and how its source is read.
| Key | What it does | Values | Default |
|---|---|---|---|
title: | Deck name — used in the switcher, in Share, and as the export filename. Defaults to the cover heading. Applies to: HTML title, Studio switcher, export filename. Studio: Settings → Deck → General → Deck name. | any text | the first heading |
lang: | Document language — overrides the workspace default (e.g. en-US). Drives <html lang> + read-aloud. Applies to: page language and read-aloud voice. Studio: Settings → Deck → General → Language. | a language tag, e.g. en-US | en |
ai-lang: | AI-output language — what the AI writes in, if it should differ from the document language. Defaults to lang. Applies to: Studio only. Studio: Settings → Deck → General → AI writes in. | a language tag | follows lang |
split: | How the body divides into slides — headings (default) or rule (--- only). Studio: Settings → Deck → General → New slide on. | rule · headings | headings |
inline-code: | Inline code pills and marks. Studio: Settings → Deck → General → Inline pills and marks. One slide: _class: inline-code-literal. | rich · literal | rich |
glossary: | Auto-glossary — append a reference slide built from the acronyms: definitions. Studio: Settings → Deck → General → Auto-glossary. | auto · off | off |
class: | Default _class applied to every slide (a modifier — a component name is ignored). Studio: Settings → Deck → General → Default slide class. One slide: _class:. | modifier classes, space-separated | none |
plugins: | Plugins the deck needs loaded — a list of plugin names. It only adds: a renderer that loads more by default still does. | anima · avatars · callout · chart-family · code · function-plot · icons · legend · math · mermaid · meta · pills · sparks | the built-in set |
Accent
The small decorations: brand bar, heading rule, kicker mark, stamps.
| Key | What it does | Values | Default |
|---|---|---|---|
spectrum: | Brand bar. Studio: Settings → Deck → Accent → Brand bar. One slide: _class: spectrum-<value>. | on · solid · duo · mono · off | on |
spectrum-edge: | Which edge the brand bar sits on. Studio: Settings → Deck → Accent → Bar placement. One slide: _class: spectrum-edge-<value>. | top · left · right · bottom · off | top |
spectrum-card: | Card rail style. Studio: Settings → Deck → Accent → Card rail. One slide: _class: spectrum-card (auto) · spectrum-card-<value>. | off · auto · solid · duo · mono · rainbow | off |
spectrum-card-edge: | Card rail placement. Studio: Settings → Deck → Accent → Card rail placement. One slide: _class: spectrum-card-edge-<value>. | left · top · right · bottom | left |
spectrum-trim: | Flow the spectrum onto structural accents (table rails, code strips, hr). Studio: Settings → Deck → Accent → Structural trim. One slide: _class: spectrum-trim · spectrum-trim-restrained. | off · restrained · on | off |
rule: | Heading underline. Studio: Settings → Deck → Accent → Heading rule. One slide: _class: rule-<value>. | auto · full · short · accent · none | auto |
eyebrow: | The mark on the mono-caps kicker. Studio: Settings → Deck → Accent → Eyebrow. One slide: _class: eyebrow-<value>. | plain · dot · bar · arrow · underline | plain |
headline: | Framing-text alignment. Studio: Settings → Deck → Accent → Headline alignment. One slide: _class: head-<value>. | auto · left · center · right | auto |
stamp: | Deck-wide state-badge shape — e.g. tab, notch, seal, pill. Studio: Settings → Deck → Accent → Badges → Stamp shape. One slide: _class: stamp-<value>. | tab · notch · bracket · seal · pill · ribbon · flag · underline · dot · mark · veil · bar · pin | tab |
tone: | Deck-wide review-tone shape. Studio: Settings → Deck → Accent → Badges → Tone shape. One slide: _class: tone-<value>. | rail · edge · glow | rail |
Motion
How charts move on live surfaces. A PDF is always still.
| Key | What it does | Values | Default |
|---|---|---|---|
motion: | Chart motion on the live surfaces — reaches the preview, Present and the exported player (see player-motion); the PDF stays still. Applies to: preview, Present and the exported player. Studio: Settings → Deck → Motion → Play. One slide: _class: motion-on · motion-off. | on · off | off |
motion-style: | How a chart moves. Studio: Settings → Deck → Motion → Style. One slide: _class: motion-<value>. | build · together · rise | build |
motion-speed: | How fast the build runs. Studio: Settings → Deck → Motion → Speed. One slide: _class: motion-<value>. | auto · slow · normal · fast | auto |
player-motion: | off ships still charts in the exported offline player while motion stays on for presenting. Omit it to follow motion. Applies to: exported player only. Studio: Settings → Deck → Motion → In the exported player. | off | follows motion |
Speech
How the deck is read aloud.
| Key | What it does | Values | Default |
|---|---|---|---|
pace: | Presentation rhythm. Applies to: self-presenting playback. Studio: Settings → Deck → Speech → Pace. | brisk · natural · deliberate | natural |
delivery: | How much the narrated Guide gestures. Applies to: the Present Guide while narration plays. | restrained · expressive · somber | restrained |
lexicon: | Read-aloud pronunciations — a nested map of token → spoken text. Applies to: read-aloud. Studio: Settings → Deck → Speech → Lexicon. | a nested map: word → how to say it | none |
acronyms: | Acronym registry — term → spoken expansion (and an optional glossary definition). Applies to: read-aloud, and glossary: auto. Studio: Settings → Deck → Speech → Acronyms. | a nested map: term → expansion, optional definition | none |
say: | Read-aloud text per slide — a nested map of slide number → what that slide says. A slide’s own <!-- say: --> wins over it. Applies to: read-aloud. One slide: <!-- say: … -->. | a nested map: slide number → what that slide says | none |
greeting: | What a narrated deck says first — your own words, true for the stock greeting, or off. Applies to: narrated playback. | true · off | none |
closing: | What a narrated deck says last — your own words, true for the stock closing, or off. Applies to: narrated playback. | true · off | none |
Export targets
What the command-line render produces. The Studio decides these in Share instead.
| Key | What it does | Values | Default |
|---|---|---|---|
present: | Open the exported PDF in presentation mode. CLI and front matter only — the Studio sets it at export. Applies to: command-line export only; yes/on and no/off also work. | true · false | false |
read: | Emit the .html as the reading article — prose instead of the slide stack. CLI and front matter only — the Studio sets it at export. Applies to: command-line export only; yes/on and no/off also work. | true · false | false |
fluid: | Emit the .html as the responsive fluid-box viewer — each slide fills the viewport and reflows to portrait on a phone. PDF/PPTX/PNG are unchanged. Applies to: command-line export only; yes/on and no/off also work. | true · false | false |
player: | Emit the .html as the self-contained offline player (Present · Read Slides · Read Article). Supersedes fluid. Applies to: command-line export only; yes/on and no/off also work. | true · false | false |
Raw styling
Marp-compatible CSS escape hatches. They bypass the theme, so reach for them last.
| Key | What it does | Values | Default |
|---|---|---|---|
style: | Raw CSS for this deck (a YAML block scalar). Applies to: command-line render only; the Studio preview and its exports ignore it. | CSS, as a YAML block (style: |) | none |
color: | Text color on every slide — any CSS color. Quote a hex value: "#1a1a1a". One slide: <!-- _color: … -->. | a CSS color, quoted: "#1a1a1a" | the theme’s |
backgroundColor: | Slide background color — any CSS color. Quote a hex value: "#ffffff". One slide: <!-- _backgroundColor: … -->. | a CSS color, quoted | the theme’s |
backgroundImage: | Slide background image — a CSS value, e.g. url(./bg.png). One slide: <!-- _backgroundImage: … -->. | a CSS value, e.g. url(./bg.png) | none |
backgroundPosition: | Where the background image sits — a CSS value, e.g. center. One slide: <!-- _backgroundPosition: … -->. | a CSS value | center |
backgroundRepeat: | Whether the background image tiles — a CSS value, e.g. no-repeat. One slide: <!-- _backgroundRepeat: … -->. | a CSS value | no-repeat |
backgroundSize: | Background image size — a CSS value, e.g. cover. One slide: <!-- _backgroundSize: … -->. | a CSS value | cover |
Developer
Tools for building and checking a deck. None of them changes an export.
| Key | What it does | Values | Default |
|---|---|---|---|
profile: | Genre the Coach judges STYLE against — general (default), teaching, or mission. Never affects the Craft score. Applies to: Coach only; never the render. Studio: Settings → Deck → Coach → Style judged as. | general · teaching · mission | general |
validate: | Inline validation in the editor — travels with the deck. Applies to: Studio editor only. | on · off | on |
debug: | Layout debug overlay — preview-only, stripped from every export. Applies to: previews only; stripped from every export. Studio: Settings → Deck → General → Developer → Debug overlay. One slide: <!-- _debug: … -->. | off · on-hover · on-always, plus verbose | off |