FEATURE

DEFINE FIELDS.
STOP ERRORS.

The schema builder lets you define what frontmatter fields your content uses. Set the type, mark required fields, and configure defaults. md0 renders them as a structured form panel — no hand-editing YAML, no broken frontmatter from a typo.

START FREE

Field Types

Each collection gets its own schema. Schemas are per-collection — your blog post schema can differ from your docs schema.

Text

Single-line string. For titles, slugs, author names, URLs.

Textarea

Multi-line string. For descriptions, excerpts, summaries.

Date

ISO date field. Renders a date picker. Saves as YYYY-MM-DD.

Boolean

True/false toggle. For draft, featured, published flags.

Number

Integer or float. For order, priority, year, word count.

Select

Dropdown with predefined options. For layout, category, status.

Nested Object

Group related fields. For SEO metadata, author info, social links.

Schema Rules

REQUIRED FIELDS

Mark fields as required. md0 blocks saving if a required field is empty. No more posts published with missing titles or dates.

DEFAULT VALUES

Set a default for any field. New posts start with the right layout, draft:true, or a default author — without the editor having to remember to fill them.

TYPE VALIDATION

The form enforces types at input time. A date field won't accept free text. A boolean renders as a toggle, not a text box. Your frontmatter stays well-formed.

SELECT OPTIONS

For select fields, you define the allowed values. Layout options, category lists, status enums. The editor picks from a dropdown rather than typing free text that might not match your template.

Example Blog Post Schema

Collection: content/posts/**
titletextrequired
datedaterequired
excerpttextareaoptional
authortextdefault: "Your Name"
categoryselectoptions: tech, design, business
featuredbooleandefault: false
draftbooleandefault: true

md0 renders this schema as a structured form panel above the editor. Every new post starts with these fields pre-populated.

BUILD YOUR SCHEMA

Define fields once. Enforce them on every edit. Free for public repos.

START FREE