- Description:
This key defines options that are specific to Rich Text Inputs.
- Appears in:
└── _inputs └── * └── Rich Text Input └── options- Type:
Object- Properties:
This key toggles whether CloudCannon will allow you to edit custom markup in rich text editors and explicitly accept the risk of unintentionally deleting elements that cannot be recreated.
Setting this key to
truewill enable editing of custom markup. When usingallow_custom_markupoutside of editable regions, content that uses JavaScript will not be editable for security reasons. These inputs will appear as uneditable snippets.⚠️ DEPRECATED: This key is deprecated. Use
preview_resizeinstead. This key toggles whether CloudCannon will show the resize handler to vertically resize the input.Setting this key to
falsewill hide the resize handler.By default, this key is
true(i.e., the resize handler is shown).This key defines which sources and DAMs you are allowed to upload to and browse.
The value can be an array of strings. Valid values include
site-filesand the reference key for any DAM connected to your site.If
site-filesis omitted from the array, site files will not be available as an asset source for this input.Show examplesHide examples
In this example, we have configured allowed sources for an Image Input.
Copied to clipboard_inputs: image: type: image options: allowed_sources: - site-files - my-cloudinary-dam{ "_inputs": { "image": { "type": "image", "options": { "allowed_sources": [ "site-files", "my-cloudinary-dam" ] } } } }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to wrap selected blocks of text in a block quote.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to wrap selected blocks of text in a block quote.Defaults to:
trueThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to bold selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to bold selected text.Defaults to:
trueThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an unordered list or convert selected text to an unordered list.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert an unordered list or convert selected text to an unordered list.Defaults to:
trueThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to center align selected text by toggling a class name for that text block.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to center align selected text. The value is the class name to align the text. The styles for this class must be defined in thestylesfile.This key toggles whether CloudCannon will display tools in your WYSIWYG toolbar to turn selected text into inline code and selected text into a code block.
Setting this key to
truewill enable two tools in your WYSIWYG toolbar to turn selected text into inline code and selected text into a code block.Defaults to:
falseThis key toggles whether CloudCannon will display a control in your WYSIWYG toolbar to insert a code block in editable regions.
Setting this key to
truewill enable a control in your WYSIWYG toolbar to insert a code block.By default, this key is
false(i.e., the code block control is not displayed).Defaults to:
falseThis key toggles whether CloudCannon will display a control in your WYSIWYG toolbar to create an inline code element, containing any selected text.
Setting this key to
truewill enable a control in your WYSIWYG toolbar to create an inline code element.By default, this key is
false(i.e., the inline code control is not displayed).Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to copy formatting from selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to copy formatting from selected text. Applies tobold,italic,underline,strike,subscript, andsuperscriptformatting. Does not copy other styles or formatting.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a region of raw HTML for YouTube, Vimeo, social media posts, or other media.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert a region of raw HTML. Embedded content is sanitized to mitigate XSS risks, which includes removingstyletags. Embeds containingscripttags are not loaded a rich text editor.Defaults to:
falseThis key defines how an 'empty' value will be saved. Does not apply to existing empty values.
Defaults to:
nullAllowed values:
nullstringThis key defines whether you can upscale an image to fit the bounding box while resizing an image prior to upload.
Has no effect if files are not resized.
Defaults to:
falseShow examplesHide examples
In this example, we have configured an Image Input to allow upscaling images to fit the bounding box while resizing.
Copied to clipboard_inputs: hero_image: type: image options: width: 1200 height: 600 resize_style: cover expandable: true{ "_inputs": { "hero_image": { "type": "image", "options": { "width": 1200, "height": 600, "resize_style": "cover", "expandable": true } } } }This key toggles whether CloudCannon will display a dropdown menu tool in your WYSIWYG toolbar for structured text.
Setting this key to
truewill enable a dropdown menu tool in your WYSIWYG toolbar for structured text. Valid values include forp,h1,h2,h3,h4,h5,h6,pre,address, anddiv. Include a space between each values, e.g.format: p h1 h2.Defaults to:
p h1 h2 h3 h4 h5 h6This key defines the height of the bounding box used in the resizing method defined by
resize_style.Show examplesHide examples
In this example, we have configured the height of the bounding box for an Image Input.
Copied to clipboard_inputs: hero_image: type: image options: width: 1200 height: 600 resize_style: cover{ "_inputs": { "hero_image": { "type": "image", "options": { "width": 1200, "height": 600, "resize_style": "cover" } } } }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a horizontal line.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert a horizontal line.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an image and enter alternative text and title text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert an image. Select an existing image, upload an image, or use an external link.Defaults to:
trueThis key toggles whether CloudCannon will instruct a rich text editor to save
widthandheightattributes on image elements.Setting this key to
truewill instruct the rich text editor to savewidthandheightattributes on image elements. This can prevent pop-in as a page loads.By default, this key is
false(i.e., width and height attributes are not saved on image elements). This defaults totrueif the Image Size Attributes site flag is enabled (this is enabled for sites created before June 23 2023, in order to keep those sites working).Defaults to:
trueShow examplesHide examples
In this example, CloudCannon will save width and height attributes on image elements in a Rich Text Input.
Copied to clipboard_inputs: content: type: markdown options: image_size_attributes: true{ "_inputs": { "content": { "type": "markdown", "options": { "image_size_attributes": true } } } }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to increase the indentation of a list item in an ordered or unordered list.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to increase the indentation of a list item.Defaults to:
falseThis key defines the initial height of this input in pixels (px).
This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to italicize selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to italicize selected text.Defaults to:
trueThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to merge a list item with the item above it in an ordered or unordered list.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to merge a list item with the item above it.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to merge a list item with the item below it in an ordered or unordered list.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to merge a list item with the item below it.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to justify selected text by toggling a class name for that text block.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to justify selected text. The value is the class name to align the text. The styles for this class must be defined in thestylesfile.This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to left align selected text by toggling a class name for that text block.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to left align selected text. The value is the class name to align the text. The styles for this class must be defined in thestylesfile.This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to create a hyperlink around selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to create a hyperlink around selected text.Defaults to:
trueThis key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have
max_words,min_words,max_graphemes, ormin_graphemesconfigured.This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.
This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes.
This key defines the maximum string length, in characters, that CloudCannon will allow in an Input.
When configured, CloudCannon will warn you when an Input value is too long.
If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.
Value can be any non-negative integer.
If this key is set to
0, CloudCannon requires the Input to be empty.If
options.min_lengthis also configured, this key cannot be a smaller number.This key has no default.
This key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.
To use this key in a Select Input,
allow_createmust be set totrue.Show examplesHide examples
In this example, we want our team to enter a blog description using the Rich Text
seo_descriptionInput. This Input limits you to a maximum of 125 characters.Copied to clipboard_inputs: seo_description: type: markdown comment: Enter a brief description of this blog. options: max_length: 125 min_length: 25{ "_inputs": { "seo_description": { "type": "markdown", "comment": "Enter a brief description of this blog.", "options": { "max_length": 125, "min_length": 25 } } } }This key defines a custom error message that explains why a value has failed the validation criteria from
options.max_length.This key requires you to define
options.max_length.This key has no default.
This key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.
Show examplesHide examples
In this example, we prompt our team to enter a valid number of characters using a custom message.
Copied to clipboard_inputs: seo_description: type: markdown comment: Enter a brief description of this blog. options: max_length: 125 max_length_message: You are only allowed 125 characters. min_length: 25 min_length_message: Please write more than 25 characters.{ "_inputs": { "seo_description": { "type": "markdown", "comment": "Enter a brief description of this blog.", "options": { "max_length": 125, "max_length_message": "You are only allowed 125 characters.", "min_length": 25, "min_length_message": "Please write more than 25 characters." } } } }This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.
This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words.
This key defines what format an image is converted to prior to upload.
Allowed values:
image/jpegimage/pngimage/webpShow examplesHide examples
In this example, we have configured an Image Input to convert images to WebP format prior to upload.
Copied to clipboard_inputs: hero_image: type: image options: mime_type: image/webp{ "_inputs": { "hero_image": { "type": "image", "options": { "mime_type": "image/webp" } } } }This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.
This key defines the message that explains which minimum string length an Input will accept. This key requires you to define
options.min_graphemes.This key defines the minimum string length, in characters, that CloudCannon will allow in an Input.
When configured, CloudCannon will warn you when an Input value is too short.
If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.
Value can be any positive integer.
If
options.max_lengthis also configured, this key cannot be a greater number.This key has no default.
This key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.
To use this key in a Select Input,
allow_createmust be set totrue.Show examplesHide examples
In this example, we want our team to enter a blog description using the Rich Text
seo_descriptionInput. This Input requires a minimum of 25 characters.Copied to clipboard_inputs: seo_description: type: markdown comment: Enter a brief description of this blog. options: max_length: 125 min_length: 25{ "_inputs": { "seo_description": { "type": "markdown", "comment": "Enter a brief description of this blog.", "options": { "max_length": 125, "min_length": 25 } } } }This key defines a custom error message that explains why a value has failed the validation criteria from
options.min_length.This key requires you to define
options.min_length.This key has no default.
This key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.
Show examplesHide examples
In this example, we prompt our team to enter a valid number of characters using a custom message.
Copied to clipboard_inputs: seo_description: type: markdown comment: Enter a brief description of this blog. options: max_length: 125 max_length_message: You are only allowed 125 characters. min_length: 25 min_length_message: Please write more than 25 characters.{ "_inputs": { "seo_description": { "type": "markdown", "comment": "Enter a brief description of this blog.", "options": { "max_length": 125, "max_length_message": "You are only allowed 125 characters.", "min_length": 25, "min_length_message": "Please write more than 25 characters." } } } }This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.
This key defines the message that explains which minimum string length an Input will accept. This key requires you to define
options.min_words.This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an ordered list or convert selected text to an ordered list.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert an ordered list or convert selected text to an ordered list.Defaults to:
trueThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to decrease the indentation of a list item in an ordered or unordered list.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to decrease the indentation of a list item.Defaults to:
falseThis key defines paths for your Rich Text editors or File inputs.
If undefined at higher levels of the configuration cascade,
pathswill default to any values configured in the CloudCannon configuration file.Show examplesHide examples
In this example, we have configured paths for the
blogCollection to set custom upload and static paths.Copied to clipboardcollections_config: blog: paths: uploads: /uploads/blog/ static: /assets/{ "collections_config": { "blog": { "paths": { "uploads": "/uploads/blog/", "static": "/assets/" } } } }This key defines a regular expression that the Input value must match.
When configured, CloudCannon will require you to enter a value that matches the REGEX pattern.
If the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved changes.
Value must be a valid REGEX string.
If your REGEX string includes a
\character and CloudCannon Configuration File is a.ymlfile, use single quotes'around the string to avoid a build error.This key has no default.
This key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.
To use this key in a Select Input,
allow_createmust be set totrue.Show examplesHide examples
In this example, we want our team to add an email address to the
contact_emailInput using the correct email format.Copied to clipboard_inputs: contact_email: type: email options: pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' pattern_message: Please use the format ___@___.__{ "_inputs": { "contact_email": { "type": "email", "options": { "pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", "pattern_message": "Please use the format ___@___.__" } } } }This key defines the flags (e.g. case-insensitive searching) for the regular expression set in
options.pattern.Show examplesHide examples
In this example, we have configured pattern flags for a text input to enable case-insensitive searching.
Copied to clipboard_inputs: search_term: type: text options: pattern: ^[a-z]+$ pattern_flags: ignore_case: true{ "_inputs": { "search_term": { "type": "text", "options": { "pattern": "^[a-z]+$", "pattern_flags": { "ignore_case": true } } } } }This key defines a custom error message that explains why a value has failed the validation criteria from
options.pattern.This key requires you to define
options.pattern.This key has no default.
This key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.
Show examplesHide examples
In this example, we prompt our team to use the correct email format in the
contact_emailInput using a pattern message.Copied to clipboard_inputs: contact_email: type: email options: pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' pattern_message: Please use the format ___@___.__{ "_inputs": { "contact_email": { "type": "email", "options": { "pattern": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}", "pattern_message": "Please use the format ___@___.__" } } } }Shows or hides the resize handler to vertically resize the input.
Defaults to:
falseThis key toggles whether CloudCannon will skip the image resizing process configured for this input when selecting existing images.
Setting this key to
truewill skip the image resizing process when selecting existing images.Defaults to:
falseShow examplesHide examples
In this example, CloudCannon will skip the image resizing process when selecting existing images for an Image Input.
Copied to clipboard_inputs: hero_image: type: image options: width: 1200 height: 600 resize_style: cover prevent_resize_existing_files: true{ "_inputs": { "hero_image": { "type": "image", "options": { "width": 1200, "height": 600, "resize_style": "cover", "prevent_resize_existing_files": true } } } }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to redo recent edits undone with
undo.Setting this key to
truewill enable a tool in your WYSIWYG toolbar to redo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts.Defaults to:
falseThis key toggles whether CloudCannon will allow you to strip custom markup from content edited in a rich text editor, allowing you to clean files of unnecessary HTML content.
Setting this key to
truewill enable stripping custom markup from content. Theremove_custom_markupkey is disabled ifallow_custom_markupis enabled.This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to remove formatting from selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to remove formatting. Applies tobold,italic,underline,strike,subscript, andsuperscriptformatting. Does not remove other styles or formatting.Defaults to:
trueThis key toggles whether CloudCannon requires this Input to have a value.
Setting this key to
truewill require you to enter a value to save your changes, or discard your unsaved changes.By default, this key is
false(i.e., CloudCannon does not require this Input to have a value).This key is available for Array, Code, Color, Date and Time, File, Number, Object, Select and Multiselect, Text, Rich Text, and URL Inputs.
Defaults to:
falseShow examplesHide examples
In this example, we want to require our team to enter an
authorvalue for markup files with this Input.Copied to clipboard_inputs: author: type: text comment: Enter the name of the author for this blog post. options: required: true{ "_inputs": { "author": { "type": "text", "comment": "Enter the name of the author for this blog post.", "options": { "required": true } } } }This key defines a custom error message that explains why a value has failed the validation criteria from
options.required.This key requires you to define
options.required.This key has no default.
This key is available for Array, Code, Color, Date and Time, File, Number, Object, Select and Multiselect, Text, Rich Text, and URL Inputs.
Show examplesHide examples
In this example, we prompt our team to use enter an Input value using a required message.
Copied to clipboard_inputs: author: type: text comment: Enter the name of the author for this blog post. options: required: true required_message: You are not allowed to leave this blank.{ "_inputs": { "author": { "type": "text", "comment": "Enter the name of the author for this blog post.", "options": { "required": true, "required_message": "You are not allowed to leave this blank." } } } }This key defines how image files are resized prior to upload, using a bounding box defined by
widthandheightoptions.Valid values are
cover,contain,crop, orstretch:coverkeeps aspect ratio and ensures the image covers the bounding boxcontainkeeps aspect ratio and ensures the image fits inside the bounding boxcropprompts the user with and interface to select an aspect-ratio-respecting areastretchignores aspect ratio and resizes the image to the bounding box
This key does not apply to existing images, and does not work if
widthandheightoptions are not defined.Defaults to:
containAllowed values:
covercontainstretchcropShow examplesHide examples
In this example, we have configured an Image Input to resize images using the
coverstyle to ensure images cover the bounding box while maintaining aspect ratio.Copied to clipboard_inputs: hero_image: type: image options: width: 1200 height: 600 resize_style: cover{ "_inputs": { "hero_image": { "type": "image", "options": { "width": 1200, "height": 600, "resize_style": "cover" } } } }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to right align selected text by toggling a class name for that text block.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to right align selected text. The value is the class name to align the text. The styles for this class must be defined in thestylesfile.This key defines definitions for creating additional images of different sizes when uploading or selecting existing files.
Show examplesHide examples
In this example, we have configured an Image Input to create additional images of different sizes when uploading or selecting files.
Copied to clipboard_inputs: hero_image: type: image options: sizes: - size: 2x - size: 3x{ "_inputs": { "hero_image": { "type": "image", "options": { "sizes": [ { "size": "2x" }, { "size": "3x" } ] } } } }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a Snippet, if any are available.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert a Snippet.Defaults to:
trueThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to strike through selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to strike through selected text.Defaults to:
falseThis key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.
Show examplesHide examples
In this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the
/css/styles.cssfile.Copied to clipboard_editables: content: styles: /css/styles.css{ "_editables": { "content": { "styles": "/css/styles.css" } } }This example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.
CSSCopied to clipboard/* Can be applied to blocks of content */ p.callout { margin: 10px; border: 1px solid #f5f5f5; background-color: #eee; } /* Can be applied to inline content */ span.big-blue-text { font-size: 2rem; color: blue; } /* Applied to content, excluded from style dropdown */ h2 { font-family: cursive; } /* Applied to content, excluded from style dropdown */ .align-left { text-align: left; } .align-center { text-align: center; } .align-right { text-align: right; } .align-justify { text-align: justify; }This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to subscript selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to subscript selected text.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to superscript selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to superscript selected text.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a table.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to insert a table. Further table options are available from the table context menu in the rich text editor.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to underline selected text.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to underline selected text.Defaults to:
falseThis key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to undo recent edits.
Setting this key to
truewill enable a tool in your WYSIWYG toolbar to undo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts.Defaults to:
false- Examples: