Field types
A data-ueee slot is plain text by default. Add a data-ueee-type — and, optionally, a
few constraints — to say what kind of value it holds. The editor uses that to validate input,
and the published page uses it to render (e.g. markdown for richtext).
Everything here is optional. A slot with no type is a text field, and any value ueee doesn’t recognise quietly falls back to text — nothing in this markup can break a page. Like all ueee markers, these attributes are stripped from the production HTML.
Attributes
Section titled “Attributes”| Attribute | Applies to | Meaning |
|---|---|---|
data-ueee-type | any leaf | text (default), richtext, number, url, image, select |
data-ueee-required | any | present = the value may not be empty |
data-ueee-maxlength | text, richtext | maximum number of characters |
data-ueee-min / data-ueee-max | number | numeric bounds |
data-ueee-options | select | comma-separated list of allowed values |
data-ueee-pattern | text | a regular expression the value must match |
data-ueee-label | any | friendly name shown in the editor (defaults to the path) |
text— the default. A single-line value.richtext— multi-line markdown. Rendered to HTML (and sanitized) on the published page; edited as markdown source in the browser, so it round-trips cleanly.number— a numeric value. Saved to your content as a real number, not a string.url— a link. Validated as a URL; usually paired withdata-ueee-attr="href".image— a media reference. Pair withdata-ueee-attr="src"and point it at a/media/...URL from your library.select— one of a fixed set, listed indata-ueee-options.
Example
Section titled “Example”<section data-ueee-parent="hero"> <!-- text is the default: no type needed --> <h1 data-ueee="title" data-ueee-required data-ueee-maxlength="60">Welcome</h1>
<!-- markdown --> <div data-ueee="tagline" data-ueee-type="richtext">A better way to ship.</div>
<!-- image: a /media URL in src --> <img data-ueee="image" data-ueee-type="image" data-ueee-attr="src" src="/placeholder.jpg" alt="">
<!-- url: written into href, validated --> <a data-ueee="ctaUrl" data-ueee-type="url" data-ueee-attr="href" href="#">Get started</a></section>
<div data-ueee-parent="plan"> <span data-ueee="price" data-ueee-type="number" data-ueee-min="0">29</span> <span data-ueee="tier" data-ueee-type="select" data-ueee-options="starter,pro,enterprise">pro</span></div>Validation
Section titled “Validation”On Save, ueee checks every field against its constraints — required, length, numeric
range, pattern, and select options. If a value doesn’t fit, the save is blocked and the
editor jumps to the first field that needs fixing, with the reason in the status bar.
Fallbacks
Section titled “Fallbacks”None of this is required, and none of it can break a page:
- No
data-ueee-type→ the slot is a text field. - An unknown or misspelled type → text.
- A non-numeric bound or an empty
optionslist → that one constraint is ignored.