Tokens and controls
Nanoesis has no separate schema to maintain. You write a template in plain HTML, drop in a token where you want a value, and that token becomes a field in the editor. The template is the schema.
Every {token} you write becomes one field in the editor. The name in the braces is the field name, so {title} creates a field called title.
Where the token sits decides the kind of control you get. A token in a heading becomes a single-line box; in a paragraph, a multi-line box; in an image tag, an image picker. The common cases are inferred for you, and the few that are not, like rich text or a date, are opted into with a small data-type annotation.
Two related topics build on this: Components are reusable HTML you build into your templates, and Adding code covers code blocks in a body and code snippet fields.
The control types
Each token becomes one of these controls, picked by where it sits or set explicitly with data-type.
Short text
A single line of plain text. The default control, for titles and short values.
Text
Multi-line plain text with no formatting, inferred for paragraphs.
Rich text
Formatted body text in a visual editor: headings, links, lists, images.
Code
A monospaced code block, inferred inside pre, code, kbd and samp.
Date
A calendar date, shown as a date picker. Opt-in with data-type.
Time
A time of day, shown as a time picker. Opt-in with data-type.
An email address, inferred from a mailto: link.
Phone
A phone number, inferred from a tel: link.
File
A downloadable file asset such as a PDF or zip.
Image
An image asset, emitted as responsive picture variants on publish.
Link
A link target: an internal page reference or an external URL.
Authors
A byline rendered as one grammatical line. Opt-in with data-type.