type decides what the input control looks like, how data is validated, and how the value is stored on disk.
This page is the full reference. Pick the type that matches the kind of data, and the editor takes care of the rest.
Common Field Properties
Every field type accepts these properties:
Type-specific properties (like
options for select or collection for reference) are documented per type below.
string
A single-line text value. UI: A text input, or atextarea if multiline: true.
Stores: A JSON string in the entry file.
Properties:
number
A numeric value (integer or floating point). UI: A numeric input with optional min/max/step. Stores: A JSON number. Properties:boolean
A true/false value. UI: A toggle switch. Stores:true or false JSON literal.
date
An ISO-8601 date or datetime. UI: A date picker (or datetime picker iftime: true).
Stores: A JSON string in YYYY-MM-DD or full ISO format.
Properties:
markdown
Long-form Markdown content. UI: A split-pane editor with live preview, syntax highlighting, image drop, and shortcuts. The same control is used for the body of MDX entries whenisBody: true.
Stores: Markdown source — either as a JSON string (for JSON collections) or as the body of the MDX file (when isBody: true).
Properties:
color
A color value. UI: A color picker with hex input. Stores: A JSON string in#rrggbb or #rrggbbaa form.
url
A URL. UI: A text input with URL validation. Stores: A JSON string. Validated against URL syntax on save.image
An image asset. UI: An upload dropzone with drag-and-drop, paste support, and an “Choose existing” button that opens the project’s media library. Resizes and serves through Hiveku’s image CDN automatically. Stores: A JSON string with the path to the uploaded file (e.g./uploads/hero.jpg), or an object with src, alt, width, height if metadata: true.
Properties:
file
A non-image file asset (PDF, video, audio, archives). UI: Same upload dropzone asimage, with a generic file preview.
Stores: A JSON string with the upload path.
Properties:
select
One of a fixed set of values. UI: A dropdown (or a radio group for short option lists). Stores: A JSON string matching one of the option values. Properties:array
A list of values, all of the same shape. UI: A reorderable list with add/remove buttons. Each row renders the editor for theitems type.
Stores: A JSON array.
Properties:
object
A grouped set of fields edited together. UI: A collapsible group of nested form controls. Stores: A nested JSON object. Properties:reference
A pointer to another collection’s entry. UI: A picker that opens a searchable list of entries from the target collection. The picker shows each entry’s title field for easy identification. Stores: A JSON string with the referenced entry’s slug, or an array of slugs ifmultiple: true.
Properties:
Choosing a Type
A few rules of thumb:- Long-form prose with formatting?
markdown(andisBody: trueif it’s the main body of an MDX entry). - Short text?
string. Addmultiline: truefor things like excerpts or short descriptions. - A fixed set of choices?
select. Usemultiple: truefor multi-select. - A list of similar things?
array. Setitemsto a primitive or to anobjectfor richer rows. - A pointer to another piece of content?
reference. Don’t duplicate fields across collections — link them. - Something that should just be one record? Use a singleton collection (manifest-level
singleton: true) and put your fields directly on it.
What’s Next?
The Manifest
How fields fit into the larger manifest schema
Collections
Reusable patterns for blog, products, and more
References
Link collections together with reference fields
Editing Content
See how each field type renders in the CMS panel