Type object
File match **/resources/blueprints/**/*.yml **/resources/blueprints/**/*.yaml
Schema URL https://catalog.lintel.tools/schemas/schemastore/statamic-blueprint/latest.json
Source https://raw.githubusercontent.com/Konafets/statamic-blueprint-validation/main/statamic.blueprint.schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Properties

title string
tabs object

At its most basic, a blueprint has tabs. A tab has a handle, a display name, and an array of sections. Since Statamic 4

sections object

At its most basic, a blueprint has sections. A section has a handle, a display name, and an array of fields. Until Statamic 3

One of

1. variant
2. variant

Definitions

fields object[]

Here you define the fields of this section.

array object

This fieldtype is used to manage key: value array data in the right situation.

display string

The label shown above the field.

icon string

The icon

instructions string

Shown under the field's display label, like this very text. Markdown is supported.

instructions_position string

Where the instructions should be positioned relative to the field. Options: Above or Below.

Values: "above" "below"
listable boolean | string

Controls whether the field should be shown in control panel listings.

required boolean

Control whether or not this field is required.

localizable boolean

The validation rules for that field

type const: "array"
Constant: "array"
mode string
Values: "dynamic" "keyed"
keys object | array
value_header string
key_header string
assets object

The assets fieldtype is used to manage and relate files with your entries.

type const: "assets"
Constant: "assets"
mode string
Default: "list"
Values: "grid" "list"
container string
folder string
restrict boolean
Default: false
allow_uploads boolean
Default: true
show_filename boolean
Default: true
max_files integer
bard object

Bard is our recommended fieldtype for creating long form content from the control panel.

type const: "bard"
Constant: "bard"
always_show_set_button boolean

Enable to always show the "Add Set" button.

Default: false
sets object

Sets are configurable blocks of fields that can be inserted anywhere in your Bard content.

buttons string[]

Choose which buttons to show in the toolbar.

container string

Choose which asset container to use for this field.

save_html boolean

Save HTML instead of structured data. This simplifies but limits control of your template markup.

Default: false
toolbar_mode string

Choose which style of toolbar you prefer.

Default: "fixed"
Values: "fixed" "floating"
link_noopener boolean

Set rel="noopener" on all links.

Default: false
link_noreferrer boolean

Set rel="noreferrer" on all links.

Default: false
target_blank boolean

Set target="_blank" on all links.

Default: false
link_collections string[]

Entries from these collections will be available in the link selector. Leaving this empty will make all entries available.

reading_time boolean

Show estimated reading time at the bottom of the field.

Default: false
fullscreen boolean

Enable to toggle into fullscreen mode.

Default: true
allow_source boolean

Allow Source Mode

Default: true
enable_input_rules boolean

Enable Input Rules

Default: true
enable_paste_rules boolean

Enables Markdown-style shortcuts when typing content.

Default: true
display string

The label shown above the field.

instructions string

Shown under the field's display label, like this very text. Markdown is supported.

instructions_position string

Where the instructions should be positioned relative to the field. Options: Above or Below.

Values: "above" "below"
listable boolean | string

Controls whether the field should be shown in control panel listings.

required boolean

Control whether or not this field is required.

localizable boolean

The validation rules for that field

button_group object

The button group fieldtype is a multiple choice input where you only get one choice.

type const: "button_group"
Constant: "button_group"
options object | array

Set the array keys and their optional labels.

default string

Set the default value.

checkboxes object

The checkboxes fieldtype is a multiple choice input.

type const: "checkboxes"
Constant: "checkboxes"
inline boolean
Default: "false"
options object | array
default string
code object

If your content involves code snippets, this is the fieldtype for you.

type const: "code"
Constant: "code"
theme string

Choose your preferred theme.

Values: "light" "material"
mode string

Choose language for syntax highlighting.

Values: "clike" "css" "diff" "go" "haml" "handlebars" "htmlmixed" "less" "markdown" "gfm" "nginx" "text/x-java" "javascript" "jsx" "text/x-objectivec" "php" "python" "ruby" "scss" "shell" "sql" "twig" "vue" "xml" "yaml-frontmatter"
indent_type string

Set your preferred type of indentation.

Values: "tabs" "spaces"
indent_size integer

Set your preferred indentation size (in spaces).

Default: 4
key_map string

Choose preferred set of keyboard shortcuts.

Default: "default"
Values: "default" "sublime" "vim"
line_numbers boolean

Show Line Numbers

Default: true
line_wrapping boolean

Enable Line Wrapping

Default: true
collections object

This fieldtype is used to view and select from a list of Collections.

type const: "collections"
Constant: "collections"
max_items integer

Set a maximum number of selectable items.

mode string
Values: "default" "select" "typeahead"
color object

This fieldtype is a highly configurable color picker with simple and advanced UI modes, support for alpha channel, rgba, hsla, hsva, and more.

type const: "color"
Constant: "color"
swatches array

Pre-define colors that can be selected from a list. Supports all color mode formats.

uniqueItems=true
theme string

Choose between a classic and a simpler nano (mini) theme. Default: classic.

Values: "classic" "nano"
lock_opacity boolean

Disables the alpha slider, preventing adjustments to opacity.

Default: false
default_color_mode string

Set which color mode you wish to be the default. Default: hex.

Default: "HEXA"
Values: "HEXA" "RGBA" "HSLA" "HSVA" "CMYK"
color_modes string[]

Choose which color modes you want to enable in the UI. Available choices: hex, rgba, hsla, hsva, and cmyk. Default: hex.

Default: "hex"
uniqueItems=true
date object

Work with dates, times, and ranges with a variety of user interface options that make you really enjoy basically just picking numbers from a table.

columns integer

Show multiple months at one time, in columns and rows. Default: 1.

Default: 1
min=1
earliest_date string

Set the earliest selectable date in YYYY-MM-DD format.

Default: "1900-01-01"
One of: variant, variant
format string

How the date should be stored, using the PHP date format. Default: 'Y-m-d' or 'Y-m-d H:m'

Default: "'Y-m-d'"
full_width boolean

Enable to stretch the calendar out like Stretch Armstrong, using the maximum amount of available horizontal space. Default: false

Default: false
icon string
inline boolean

Always show the calendar instead of the text input and dropdown UI. Default: false.

Default: false
mode string

Choose between single or range. Range mode disables the time picker. Default: single.

Default: "single"
Values: "single" "range"
rows integer

Show multiple months at one time, in columns and rows. Default: 1.

Default: 1
min=1
time_enabled boolean

Enable/disable the timepicker. Default: false.

Default: false
time_required boolean

Makes the time field visible and non-dismissible. Default: false.

Default: false
type string
Constant: "date"
entries object
type const: "entries"
Constant: "entries"
max_items integer
min=1
mode string
Values: "default" "select" "typeahead"
create boolean
Default: true
collections string[]
uniqueItems=true
form object

The Form fieldtype is gives your users a way to pick a form to include along with the current entry.

type const: "form"
Constant: "form"
placeholder string
max_items integer
Default: 1
group object

The group fieldtype is a simple container that holds additional fields you would like grouped visually as well as under a parent key.

type const: "group"
Constant: "group"
fields object[]

A list of fields within the group.

grid object

The grid fieldtype is a meta fieldtype, a fieldtype that serves as a container for more fieldtypes.

type const: "grid"
Constant: "grid"
fields object[]

A list of fields, each of which create their own column.

mode string

The Grid is displayed as a table by default. If you have a large number of columns it can get pretty crowded. Choose stacked mode to group rows similar to Replicator. When Sneak Peek is enabled, Grids automatically toggle into stacked mode.

Values: "table" "stacked"
min_rows integer

The minimum number of required rows.

min=0
max_rows integer

The maximum number of rows allowed. Once reached the Add Row button will disappear.

min=1
add_row string

The Add Row button's label.

min=1
reorderable boolean

The minimum number of required rows.

Default: true
hidden object

The hidden field is perfect for setting default data when creating new entries.

type const: "hidden"
Constant: "hidden"
default string
html object

If you've ever wanted to add a little HTML to your blueprint, this is the way to do it.

type const: "html"
Constant: "html"
html string

Store whatever HTML you want — it's up to you.

import string

Importing Fieldsets. They serve to create reusable sets of fields, just like v2.

integer object

The integer fieldtype is a text-style input that only accepts integers (numbers) and has increment and decrement controls.

type const: "integer"
Constant: "integer"
default string | integer
list object

For when you want to manage a simple YAML list, this fieldtype is here for you.

type const: "list"
Constant: "list"
default array
markdown object

Write Markdown with the help of formatting buttons, assets integration, fullscreen mode, a Markdown cheatsheet, and HTML preview mode.

type const: "markdown"
Constant: "markdown"
container string

Set the name of an asset container to enable browsing, uploading, and inserting assets.

restrict boolean

If true, navigation within the asset browser will be disabled. Your users will be restricted to specified the container and folder. Default: false.

Default: false
automatic_line_breaks boolean

Automatically convert line breaks to
tags. Default: true.

Default: true
automatic_links boolean

Automatically links any URLs in the text. Default: false.

Default: false
escape_markup boolean

Escapes inline HTML markup. For example,

will be replaced with <div>. Default: true.

Default: false
smartypants boolean

Automatically convert straight quotes into curly quotes, dashes into en/em-dashes, and other similar text transformations. Default: false.

Default: false
antlers boolean

Enable Antlers parsing in this field's content.

Default: false
default string

Set the default value.

radio object

The radio fieldtype is a multiple choice input where you only get one choice.

type const: "radio"
Constant: "radio"
options object | array

Sets of key/value pairs define the values and labels of the radio options.

inline boolean

Show the radio buttons next to each other in a row instead of stacked vertically. Default: false

Default: false
cast_booleans boolean
Default: false
range object

Range fields let the user choose a numeric value which must be no less than a given value, and no more than another.

type const: "range"
Constant: "range"
step integer

The minimum size between values.

Default: 1
min=1
min integer

The minimum, left-most value.

Default: 0
min=0
max integer

The maximum, right-most value.

Default: 100
default integer

Set the default value.

replicator object

The Replicator is a meta fieldtype giving you the ability to define sets of fields that you can dynamically piece together in whatever order and arrangement you imagine.

type const: "replicator"
Constant: "replicator"
revealer object

The revealer is a simple button that reveals conditional fields without saving any additional data.

type const: "revealer"
Constant: "revealer"
section object
type const: "section"
Constant: "section"
select object

Give your users a list of options to choose from.

options array | object required

A set of key/value pairs that define the values and labels. If you don't define the keys, the value and label will be the same.

type const: "select"
Constant: "select"
clearable boolean

Allow deselecting any chosen option and making null a possible value. Default: false.

Default: false
placeholder string
default string

Set the default option key. Default: none.

multiple boolean

Allow multiple selections. Default: false.

Default: false
searchable boolean

Enable search with suggestions by typing in the select box. Default: true.

Default: true
taggable boolean

Use a "tag" style UI when selecting multiples. Default: false.

Default: false
push_tags boolean

Add newly created options to the list. Default: false.

Default: false
sites object
type const: "sites"
Constant: "sites"
max_items integer
min=1
mode string
Values: "default" "select" "typeahead"
slug object
type const: "slug"
Constant: "slug"
generate boolean
Default: true
structures object

Use this fieldtype to create a one-way relationship with one or more structures in your site.

type const: "structures"
Constant: "structures"
max_items integer
min=1
mode string
Values: "default" "select" "typeahead"
table object

This fieldtype gives you a way to create flexible tabular data.

type const: "table"
Constant: "table"
taggable object

Users can enter “taggable” values, which are formatted automatically into a YAML list format.

type const: "taggable"
Constant: "taggable"
placeholder string
taxonomies object
type const: "taxonomies"
Constant: "taxonomies"
max_items integer
min=1
mode string
Values: "default" "select" "typeahead"
template object

This is generally used as a "system" field to control an entry's template.

type const: "template"
Constant: "template"
hide_partials boolean
Default: true
terms object

Taxonomies are usually relationships established on the collection-configuration level.

type const: "terms"
Constant: "terms"
max_items integer
min=1
mode string
Values: "default" "select" "typeahead"
create boolean
taxonomies array
text object

A text field that has the ability to morph into an intergalactic dragon and devour entire planets!

type const: "text"
Constant: "text"
placeholder string
input_type string
Default: "text"
Values: "color" "date" "email" "hidden" "month" "number" "password" "tel" "text" "time" "url" "week"
character_limit integer
antlers boolean

Enable Antlers parsing in this field's content.

Default: false
default string
append string
prepend string
textarea object

A long textarea field that functions like a swimming pool for letters and numbers on a hot day.

type const: "textarea"
Constant: "textarea"
placeholder string
character_limit integer | string
antlers boolean

Enable Antlers parsing in this field's content.

Default: false
default string
time object

The original time field from the set of Kiefer Sutherland's hit drama "24".

type const: "time"
Constant: "time"
default string
pattern=^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
toggle object

A nice little toggle switch generally used to manage settings-type variables.

type const: "toggle"
Constant: "toggle"
default boolean
Default: false
user_groups object

The User Group fieldtype gives your users a way to pick one or more User Groups to attach to the current entry.

type const: "user_groups"
Constant: "user_groups"
max_items integer | null
Default: null
min=1
mode string
Values: "default" "select" "typeahead"
user_roles object

The User Role fieldtype gives your users a way to pick one or more User Groups to attach to the current entry.

type const: "user_roles"
Constant: "user_roles"
max_items integer | null
Default: null
min=1
mode string
Values: "default" "select" "typeahead"
users object

The most common use for the Users fieldtype is to set the "author" for entries, but it's not the only use.

type const: "users"
Constant: "users"
max_items integer | null
Default: null
min=1
mode string
Values: "default" "select" "typeahead"
default string
Constant: "current"
video object
type const: "video"
Constant: "video"
placeholder string
default string
format=url
yaml object

This field is a code fieldtype that gets saved as YAML instead of a string.

type const: "yaml"
Constant: "yaml"
default object | string
display string

The label shown above the field.

icon string

The icon

instructions string

Shown under the field's display label, like this very text. Markdown is supported.

instructions_position string

Where the instructions should be positioned relative to the field. Options: Above or Below.

listable boolean | string

Controls whether the field should be shown in control panel listings.

required boolean

Control whether or not this field is required.

localizable boolean
validate ruleMin | validationRules[]

The validation rules for that field

ruleMin string
validationRules string
userSelectModes string
placeholder string
antlers boolean

Enable Antlers parsing in this field's content.

max_items integer