Page
Route page design. Content is merged design Data for one website locale.
Field-level catalog tables below stay in English — they match the machine design schema used by the editor, API, and MCP.
Notes
- Saved block props are nested. Each block's own settings live under their group (for example
typography.sizeoraction.url). A button style isappearance.variant. Visibility and Customize live undershell(for exampleshell.visibility.breakpoints,shell.anchor.anchorId,shell.box.padding). Flat keys and older paths still load; the next save writes the nested shape. The field menu follows that stored tree.
Shared concepts
Categories
Content
- Simple text (
HeadingBlock) - Formatted text (
RichTextBlock) - Accordion list (
AccordionBlock)
Interactive
- Link list (
LinkListBlock) - Button (
ButtonBlock) - Interactive wrapper (
InteractiveWrapper) - Animated wrapper (
AnimatedWrapper) - Variable input (
VariableInputBlock)
Objects
- Component (
ComponentBlock)
Layout
- Decoration (
DecorationBlock) - Line (
LineBlock) - List (
FlexListBlock) - Grid (
GridListBlock) - Slot slider (
SlotSliderBlock) - Two-sided card (
TwoSideBlock) - Vertical spacer (
VerticalSpacer) - Modal (
ModalBlock) - Array template (
VariableArrayTemplateBlock)
Media
- Image block (
SingleImage) - Video (
VideoBlock) - Gallery (
MultipleImages) - SVG canvas (
SvgCanvasBlock) - Lottie (
LottieBlock)
Embeds
- YouTube video (
YoutubeEmbed) - Google Maps (
GoogleMapsEmbed) - Iframe (
IframeBlock)
Root fields
title
Static document title used for the page <title> / SEO title (locale-aware). On dynamic object routes, prefer titleFieldKey when the title comes from the bound entry.
title: "About us"description
Static SEO meta description string (root.props.description). Distinct from descriptionFieldKey, which binds the meta description to an object field on dynamic routes. Edited in the page root Settings panel alongside title (not a separate sidebar field key).
description: "Short summary for search engines."titleFieldKey
Object field key whose value overrides the static title for dynamic object routes. Empty means use the static title (or a title-like field fallback).
titleFieldKey: "title"descriptionFieldKey
Object field key whose value overrides the static description meta for dynamic object routes. Empty means use root.props.description (or a description/body field fallback).
descriptionFieldKey: "description"ogImage
Public image URL for Open Graph / Twitter when not bound to an object field.
ogImage: "https://cdn.example/share.jpg"ogImageFieldKey
Object image field key whose value overrides ogImage for dynamic object routes.
ogImageFieldKey: "cover"variables
Document variables, including type ticker (numeric, manual or automatic, with min, max, start, and automatic intervalMs/step). syncUrl keeps the query parameter equal to the variable name (page 1 is omitted). An older syncQueryKey still turns sync on, but the parameter is the name. scope: "site" is shared by the website; {{var:site.name}} reads it when a surface variable uses the same name. Edited in the Variables plugin. See shared concept ticker-and-page-rules.
variables: [{ id: "step", name: "Step", type: "ticker", ticker: { mode: "manual", min: 0, max: 3, start: 0 } }]rules
Page rules. Each rule has when (pageLoad or variableChange), conditions (auth, role label, or variable compare), and ordered actions (update variables, run a named data request, or redirect to an internal path). Edited in the Rules plugin. See shared concept ticker-and-page-rules.
rules: [{ id: "home", name: "Role home", enabled: true, when: { type: "pageLoad" }, conditions: [{ type: "auth", expect: "signedIn" }, { type: "role", roleLabel: "Reception" }], actions: [{ type: "redirect", path: "/reception" }] }]Blocks
- Simple text (
HeadingBlock) - Formatted text (
RichTextBlock) - Accordion list (
AccordionBlock) - Link list (
LinkListBlock) - Button (
ButtonBlock) - Interactive wrapper (
InteractiveWrapper) - Animated wrapper (
AnimatedWrapper) - Variable input (
VariableInputBlock) - Component (
ComponentBlock) - Decoration (
DecorationBlock) - Line (
LineBlock) - List (
FlexListBlock) - Grid (
GridListBlock) - Slot slider (
SlotSliderBlock) - Two-sided card (
TwoSideBlock) - Vertical spacer (
VerticalSpacer) - Modal (
ModalBlock) - Array template (
VariableArrayTemplateBlock) - Image block (
SingleImage) - Video (
VideoBlock) - Gallery (
MultipleImages) - SVG canvas (
SvgCanvasBlock) - Lottie (
LottieBlock) - YouTube video (
YoutubeEmbed) - Google Maps (
GoogleMapsEmbed) - Iframe (
IframeBlock)