@cloudcannon/configuration-types 0.0.52 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloudcannon-collections.schema.json +1230 -2147
- package/dist/cloudcannon-config.documentation.schema.json +781 -489
- package/dist/cloudcannon-config.latest.schema.json +570 -256
- package/dist/cloudcannon-config.legacy-eleventy.schema.json +606 -315
- package/dist/cloudcannon-config.legacy-hugo.schema.json +606 -315
- package/dist/cloudcannon-config.legacy-jekyll.schema.json +606 -315
- package/dist/cloudcannon-config.legacy-reader.schema.json +607 -316
- package/dist/cloudcannon-editables.schema.json +196 -332
- package/dist/cloudcannon-initial-site-settings.documentation.schema.json +15 -15
- package/dist/cloudcannon-initial-site-settings.schema.json +9 -9
- package/dist/cloudcannon-inputs.schema.json +499 -187
- package/dist/cloudcannon-routing.documentation.schema.json +23 -23
- package/dist/cloudcannon-routing.schema.json +13 -13
- package/dist/cloudcannon-schemas.schema.json +495 -181
- package/dist/cloudcannon-snippets-definitions.schema.json +21 -21
- package/dist/cloudcannon-snippets-imports.schema.json +55 -55
- package/dist/cloudcannon-snippets.schema.json +499 -185
- package/dist/cloudcannon-structure-value.schema.json +856 -541
- package/dist/cloudcannon-structures.schema.json +499 -187
- package/dist/documentation.json +1302 -14
- package/package.json +4 -4
- package/src/inputs.ts +50 -3
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"title": "Structure Value",
|
|
4
|
-
"description": "A single value option within a structure, defining the data format and appearance for content editors.",
|
|
5
3
|
"$id": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-structure-value.schema.json",
|
|
6
4
|
"allOf": [
|
|
7
5
|
{
|
|
@@ -9,274 +7,7 @@
|
|
|
9
7
|
}
|
|
10
8
|
],
|
|
11
9
|
"definitions": {
|
|
12
|
-
"type.structure.values.[*]": {
|
|
13
|
-
"title": "Structure Value",
|
|
14
|
-
"description": "This key represents a single value option within a structure, defining the data format and appearance for content editors.",
|
|
15
|
-
"type": "object",
|
|
16
|
-
"properties": {
|
|
17
|
-
"reorder_inputs": {
|
|
18
|
-
"description": "This key toggles whether CloudCannon will reorder inputs in a file to match the order defined in a given value from a Structure.\n\nSetting this key to `false` will preserve the existing order of inputs in a file, regardless of the order defined in the Structure value.\n\nBy default, this key is `true` (i.e., inputs are reordered to match the Structure value).\n\nYou can also configure this behavior for all values of a Structure using `reorder_inputs` inside `_structures.*`.",
|
|
19
|
-
"default": true,
|
|
20
|
-
"type": "boolean",
|
|
21
|
-
"documented": true,
|
|
22
|
-
"title": "reorder_inputs",
|
|
23
|
-
"markdownDescription": "This key toggles whether CloudCannon will reorder inputs in a file to match the order defined in a given value from a Structure.\n\nSetting this key to `false` will preserve the existing order of inputs in a file, regardless of the order defined in the Structure value.\n\nBy default, this key is `true` (i.e., inputs are reordered to match the Structure value).\n\nYou can also configure this behavior for all values of a Structure using `reorder_inputs` inside `_structures.*`."
|
|
24
|
-
},
|
|
25
|
-
"hide_extra_inputs": {
|
|
26
|
-
"description": "This key toggles whether CloudCannon will hide inputs that are not present in a given value from a Structure from the [Data\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\nSetting this key to `true` will hide inputs that are not present in a given value from a Structure from the Data Editor. Hiding these inputs does not delete the data. You can see non-structure data keys by opening a file in the [Source Editor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). This key has no effect if `remove_extra_inputs` is `true`.\n\nYou can also configure this behavior for all values of a Structure using `hide_extra_inputs` inside `_structures.*`.",
|
|
27
|
-
"default": false,
|
|
28
|
-
"type": "boolean",
|
|
29
|
-
"documented": true,
|
|
30
|
-
"title": "hide_extra_inputs",
|
|
31
|
-
"markdownDescription": "This key toggles whether CloudCannon will hide inputs that are not present in a given value from a Structure from the [Data\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\nSetting this key to `true` will hide inputs that are not present in a given value from a Structure from the Data Editor. Hiding these inputs does not delete the data. You can see non-structure data keys by opening a file in the [Source Editor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). This key has no effect if `remove_extra_inputs` is `true`.\n\nYou can also configure this behavior for all values of a Structure using `hide_extra_inputs` inside `_structures.*`."
|
|
32
|
-
},
|
|
33
|
-
"remove_empty_inputs": {
|
|
34
|
-
"description": "This key toggles whether CloudCannon will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file.\n\nSetting this key to `true` will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file. CloudCannon considers an input to be empty when its value is `null`, `' '`, or undefined. If this key is true, empty inputs will be visible in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/) but not the [Source\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). For this key to function, you must also configure `id_key` for the Structure, as removing inputs prevents CloudCannon from comparing Structure values.\n\nYou can also configure this behavior for all values of a Structure using `remove_empty_inputs` inside `_structures.*`.",
|
|
35
|
-
"default": false,
|
|
36
|
-
"type": "boolean",
|
|
37
|
-
"documented": true,
|
|
38
|
-
"title": "remove_empty_inputs",
|
|
39
|
-
"markdownDescription": "This key toggles whether CloudCannon will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file.\n\nSetting this key to `true` will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file. CloudCannon considers an input to be empty when its value is `null`, `' '`, or undefined. If this key is true, empty inputs will be visible in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/) but not the [Source\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). For this key to function, you must also configure `id_key` for the Structure, as removing inputs prevents CloudCannon from comparing Structure values.\n\nYou can also configure this behavior for all values of a Structure using `remove_empty_inputs` inside `_structures.*`."
|
|
40
|
-
},
|
|
41
|
-
"remove_extra_inputs": {
|
|
42
|
-
"description": "This key toggles whether CloudCannon will remove inputs that are not present in a given value from a Structure from a file before loading it in an\nEditing Interface.\n\nSetting this key to `true` will remove inputs that are not present in a given value from a Structure from a file before loading it in an Editing Interface. Non-Structure inputs will not be visible in the [Visual Editor](https://cloudcannon.com/documentation/articles/what-is-the-visual-editor/), [Content\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-content-editor/), or [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/), and saving the file\nwill remove them from the file before persisting the changes to your Git repository.\n\nYou can also configure this behavior for all values of a Structure using `remove_extra_inputs` inside `_structures.*`.",
|
|
43
|
-
"default": true,
|
|
44
|
-
"type": "boolean",
|
|
45
|
-
"documented": true,
|
|
46
|
-
"title": "remove_extra_inputs",
|
|
47
|
-
"markdownDescription": "This key toggles whether CloudCannon will remove inputs that are not present in a given value from a Structure from a file before loading it in an\nEditing Interface.\n\nSetting this key to `true` will remove inputs that are not present in a given value from a Structure from a file before loading it in an Editing Interface. Non-Structure inputs will not be visible in the [Visual Editor](https://cloudcannon.com/documentation/articles/what-is-the-visual-editor/), [Content\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-content-editor/), or [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/), and saving the file\nwill remove them from the file before persisting the changes to your Git repository.\n\nYou can also configure this behavior for all values of a Structure using `remove_extra_inputs` inside `_structures.*`."
|
|
48
|
-
},
|
|
49
|
-
"preview": {
|
|
50
|
-
"allOf": [
|
|
51
|
-
{
|
|
52
|
-
"$ref": "#/definitions/type.preview"
|
|
53
|
-
}
|
|
54
|
-
],
|
|
55
|
-
"documented": false,
|
|
56
|
-
"title": "preview"
|
|
57
|
-
},
|
|
58
|
-
"picker_preview": {
|
|
59
|
-
"allOf": [
|
|
60
|
-
{
|
|
61
|
-
"$ref": "#/definitions/type.picker_preview"
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
|
-
"documented": false,
|
|
65
|
-
"title": "picker_preview"
|
|
66
|
-
},
|
|
67
|
-
"_inputs": {
|
|
68
|
-
"allOf": [
|
|
69
|
-
{
|
|
70
|
-
"$ref": "#/definitions/type._inputs"
|
|
71
|
-
}
|
|
72
|
-
],
|
|
73
|
-
"documented": false,
|
|
74
|
-
"title": "_inputs"
|
|
75
|
-
},
|
|
76
|
-
"_inputs_from_glob": {
|
|
77
|
-
"allOf": [
|
|
78
|
-
{
|
|
79
|
-
"$ref": "#/definitions/type._inputs_from_glob"
|
|
80
|
-
}
|
|
81
|
-
],
|
|
82
|
-
"documented": false,
|
|
83
|
-
"title": "_inputs_from_glob"
|
|
84
|
-
},
|
|
85
|
-
"_select_data": {
|
|
86
|
-
"allOf": [
|
|
87
|
-
{
|
|
88
|
-
"$ref": "#/definitions/type._select_data"
|
|
89
|
-
}
|
|
90
|
-
],
|
|
91
|
-
"documented": false,
|
|
92
|
-
"title": "_select_data"
|
|
93
|
-
},
|
|
94
|
-
"_structures": {
|
|
95
|
-
"allOf": [
|
|
96
|
-
{
|
|
97
|
-
"$ref": "#/definitions/type._structures"
|
|
98
|
-
}
|
|
99
|
-
],
|
|
100
|
-
"documented": false,
|
|
101
|
-
"title": "_structures"
|
|
102
|
-
},
|
|
103
|
-
"_structures_from_glob": {
|
|
104
|
-
"allOf": [
|
|
105
|
-
{
|
|
106
|
-
"$ref": "#/definitions/type._structures_from_glob"
|
|
107
|
-
}
|
|
108
|
-
],
|
|
109
|
-
"documented": false,
|
|
110
|
-
"title": "_structures_from_glob"
|
|
111
|
-
},
|
|
112
|
-
"id": {
|
|
113
|
-
"description": "This key defines the string used to identify a given Structure value when refering to it from other input configuration.\n\n## Examples\n\nIn this example, we have configured the `blog_post` ID for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n id: blog_post\n```",
|
|
114
|
-
"type": "string",
|
|
115
|
-
"documented": true,
|
|
116
|
-
"title": "id",
|
|
117
|
-
"markdownDescription": "This key defines the string used to identify a given Structure value when refering to it from other input configuration.\n\n## Examples\n\nIn this example, we have configured the `blog_post` ID for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n id: blog_post\n```"
|
|
118
|
-
},
|
|
119
|
-
"default": {
|
|
120
|
-
"description": "This key toggles whether CloudCannon should treat an entry in the `values` array as the default option for your Object or Array input.\n\nSetting this key to `true` will mark this entry as the default option for your Object or Array input. If multiple entries in the `values` array are set to `true`, CloudCannon will use the first entry. If CloudCannon cannot determine the type of an entry within the `values` array based on the `id_key` or matching inputs across `values[*].value` objects,\nit will fall back to the default entry.\n\n## Examples\n\nIn this example, we want the entry labelled `Employee` to be our default option for populating inputs configured with the `staff` Structure.\n\n```yaml\n_structures:\n staff:\n style: modal\n values:\n - label: Employee\n default: true\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```",
|
|
121
|
-
"default": false,
|
|
122
|
-
"type": "boolean",
|
|
123
|
-
"documented": true,
|
|
124
|
-
"title": "default",
|
|
125
|
-
"markdownDescription": "This key toggles whether CloudCannon should treat an entry in the `values` array as the default option for your Object or Array input.\n\nSetting this key to `true` will mark this entry as the default option for your Object or Array input. If multiple entries in the `values` array are set to `true`, CloudCannon will use the first entry. If CloudCannon cannot determine the type of an entry within the `values` array based on the `id_key` or matching inputs across `values[*].value` objects,\nit will fall back to the default entry.\n\n## Examples\n\nIn this example, we want the entry labelled `Employee` to be our default option for populating inputs configured with the `staff` Structure.\n\n```yaml\n_structures:\n staff:\n style: modal\n values:\n - label: Employee\n default: true\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```"
|
|
126
|
-
},
|
|
127
|
-
"icon": {
|
|
128
|
-
"description": "This key defines an icon used when displaying the structure (defaults to either `format_list_bulleted` for items in arrays, or `notes` otherwise).\n\n## Examples\n\nIn this example, CloudCannon will display the `article` icon for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n icon: article\n```",
|
|
129
|
-
"allOf": [
|
|
130
|
-
{
|
|
131
|
-
"$ref": "#/definitions/icon"
|
|
132
|
-
}
|
|
133
|
-
],
|
|
134
|
-
"documented": true,
|
|
135
|
-
"title": "icon",
|
|
136
|
-
"markdownDescription": "This key defines an icon used when displaying the structure (defaults to either `format_list_bulleted` for items in arrays, or `notes` otherwise).\n\n## Examples\n\nIn this example, CloudCannon will display the `article` icon for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n icon: article\n```"
|
|
137
|
-
},
|
|
138
|
-
"image": {
|
|
139
|
-
"description": "This key defines the path to an image in your source files used when displaying the structure value.\n\nCan be either a source (has priority) or output path.\n\n## Examples\n\nIn this example, we have configured the `/images/blog-icon.png` image for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n image: /images/blog-icon.png\n```",
|
|
140
|
-
"type": "string",
|
|
141
|
-
"documented": true,
|
|
142
|
-
"title": "image",
|
|
143
|
-
"markdownDescription": "This key defines the path to an image in your source files used when displaying the structure value.\n\nCan be either a source (has priority) or output path.\n\n## Examples\n\nIn this example, we have configured the `/images/blog-icon.png` image for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n image: /images/blog-icon.png\n```"
|
|
144
|
-
},
|
|
145
|
-
"label": {
|
|
146
|
-
"description": "This key defines the display name for a given value in a Structure.\n\nThe name will appear in the *+ Add* button dropdown below an Object or Array input or in the Structures modal (if configured).\n\nBy default, this key falls back to `unknown`.\n\n## Examples\n\nIn this example, we want two value options for our `staff` structure: one called `Manager` and one called `Employee`.\n\n```yaml\n_structures:\n staff:\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```",
|
|
147
|
-
"type": "string",
|
|
148
|
-
"documented": true,
|
|
149
|
-
"title": "label",
|
|
150
|
-
"markdownDescription": "This key defines the display name for a given value in a Structure.\n\nThe name will appear in the *+ Add* button dropdown below an Object or Array input or in the Structures modal (if configured).\n\nBy default, this key falls back to `unknown`.\n\n## Examples\n\nIn this example, we want two value options for our `staff` structure: one called `Manager` and one called `Employee`.\n\n```yaml\n_structures:\n staff:\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```"
|
|
151
|
-
},
|
|
152
|
-
"tags": {
|
|
153
|
-
"description": "This key defines which tags are associated with a given value in a Structure.\n\nYou can use tags to group and filter Structure options when selecting from a modal.\n\nThis key has no default.\n\n## Examples\n\nIn this example we have three options for the `page_components` Structure: `Hero Component`, `Feature Component`, and `Video Component`. We can search the Structure modal using the `image`, `text`, `button`, and `video` tags to filter Structure values.\n\n```yaml\n_structures:\n page_components:\n style: modal\n values:\n - label: Hero Component\n tags:\n - image\n - text\n value:\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n tags:\n - image\n - text\n - button\n value:\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n tags:\n - image\n - video\n value:\n image_path:\n videoUrl:\n```",
|
|
154
|
-
"type": "array",
|
|
155
|
-
"items": {
|
|
156
|
-
"type": "string",
|
|
157
|
-
"documented": true,
|
|
158
|
-
"title": "tags[*]",
|
|
159
|
-
"description": "This key represents an individual tag string in the `values[*].tags` array.\n\nThe value is a string that specifies a tag associated with a structure value.\n\n## Examples\n\nIn this example, we have configured the `featured` and `news` tags for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n tags:\n - featured\n - news\n```",
|
|
160
|
-
"markdownDescription": "This key represents an individual tag string in the `values[*].tags` array.\n\nThe value is a string that specifies a tag associated with a structure value.\n\n## Examples\n\nIn this example, we have configured the `featured` and `news` tags for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n tags:\n - featured\n - news\n```"
|
|
161
|
-
},
|
|
162
|
-
"documented": true,
|
|
163
|
-
"title": "tags",
|
|
164
|
-
"markdownDescription": "This key defines which tags are associated with a given value in a Structure.\n\nYou can use tags to group and filter Structure options when selecting from a modal.\n\nThis key has no default.\n\n## Examples\n\nIn this example we have three options for the `page_components` Structure: `Hero Component`, `Feature Component`, and `Video Component`. We can search the Structure modal using the `image`, `text`, `button`, and `video` tags to filter Structure values.\n\n```yaml\n_structures:\n page_components:\n style: modal\n values:\n - label: Hero Component\n tags:\n - image\n - text\n value:\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n tags:\n - image\n - text\n - button\n value:\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n tags:\n - image\n - video\n value:\n image_path:\n videoUrl:\n```"
|
|
165
|
-
},
|
|
166
|
-
"groups": {
|
|
167
|
-
"description": "This key defines the order and custom grouping for inputs within a Structure.\n\nThe value is an array of group objects. Each group object can contain a `heading`, `comment`, `collapsed`, and `inputs` array.\n\n## Examples\n\nIn this example, we want to separate the inputs into two groups with descriptive headings: `title` and `subtitle` under the `Titles` heading, and `author` under the `Details` heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
168
|
-
"type": "array",
|
|
169
|
-
"items": {
|
|
170
|
-
"type": "object",
|
|
171
|
-
"properties": {
|
|
172
|
-
"heading": {
|
|
173
|
-
"description": "This key defines the main text for the group shown when collapsed or expanded.\n\nThe value is a string that specifies the heading text displayed for the group.\n\n## Examples\n\nIn this example, we have configured a group heading to organize structure inputs under the \"Titles\" heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
174
|
-
"type": "string",
|
|
175
|
-
"documented": true,
|
|
176
|
-
"title": "heading",
|
|
177
|
-
"markdownDescription": "This key defines the main text for the group shown when collapsed or expanded.\n\nThe value is a string that specifies the heading text displayed for the group.\n\n## Examples\n\nIn this example, we have configured a group heading to organize structure inputs under the \"Titles\" heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
178
|
-
},
|
|
179
|
-
"comment": {
|
|
180
|
-
"description": "This key defines the subtext displayed below the `heading` for a group.\n\nThe value is a string that supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\n## Examples\n\nIn this example, we have configured a group comment with Markdown formatting to provide additional context below the heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n comment: Make these SEO-friendly\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
181
|
-
"type": "string",
|
|
182
|
-
"documented": true,
|
|
183
|
-
"title": "comment",
|
|
184
|
-
"markdownDescription": "This key defines the subtext displayed below the `heading` for a group.\n\nThe value is a string that supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\n## Examples\n\nIn this example, we have configured a group comment with Markdown formatting to provide additional context below the heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n comment: Make these SEO-friendly\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
185
|
-
},
|
|
186
|
-
"collapsed": {
|
|
187
|
-
"description": "This key defines whether a group is collapsed or expanded when first viewed.\n\nThe value is a boolean. When `true`, CloudCannon displays the group in a collapsed state. When `false`, CloudCannon displays the group in an expanded state.\n\nBy default, CloudCannon displays groups in an expanded state.\n\n## Examples\n\nIn this example, we have configured the \"Details\" group to be collapsed by default.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n collapsed: true\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
188
|
-
"default": false,
|
|
189
|
-
"type": "boolean",
|
|
190
|
-
"documented": true,
|
|
191
|
-
"title": "collapsed",
|
|
192
|
-
"markdownDescription": "This key defines whether a group is collapsed or expanded when first viewed.\n\nThe value is a boolean. When `true`, CloudCannon displays the group in a collapsed state. When `false`, CloudCannon displays the group in an expanded state.\n\nBy default, CloudCannon displays groups in an expanded state.\n\n## Examples\n\nIn this example, we have configured the \"Details\" group to be collapsed by default.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n collapsed: true\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
193
|
-
},
|
|
194
|
-
"inputs": {
|
|
195
|
-
"description": "This key defines which inputs are included in a group within a structure value.\n\nThe value is an array of input key name strings that specify which inputs belong to this group.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` and `subtitle` inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
196
|
-
"type": "array",
|
|
197
|
-
"items": {
|
|
198
|
-
"type": "string",
|
|
199
|
-
"documented": true,
|
|
200
|
-
"title": "inputs[*]",
|
|
201
|
-
"description": "This key represents an individual input key name string in the `values[*].groups[*].inputs` array.\n\nThe value is a string that specifies the key name of an input to include in a group within a structure value.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` input.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
202
|
-
"markdownDescription": "This key represents an individual input key name string in the `values[*].groups[*].inputs` array.\n\nThe value is a string that specifies the key name of an input to include in a group within a structure value.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` input.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
203
|
-
},
|
|
204
|
-
"documented": true,
|
|
205
|
-
"title": "inputs",
|
|
206
|
-
"markdownDescription": "This key defines which inputs are included in a group within a structure value.\n\nThe value is an array of input key name strings that specify which inputs belong to this group.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` and `subtitle` inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
207
|
-
},
|
|
208
|
-
"documentation": {
|
|
209
|
-
"description": "Provides a custom link for documentation for editors shown above the collection file list.",
|
|
210
|
-
"allOf": [
|
|
211
|
-
{
|
|
212
|
-
"$ref": "#/definitions/type.documentation"
|
|
213
|
-
}
|
|
214
|
-
],
|
|
215
|
-
"documented": false,
|
|
216
|
-
"title": "documentation",
|
|
217
|
-
"markdownDescription": "Provides a custom link for documentation for editors shown above the collection file list."
|
|
218
|
-
}
|
|
219
|
-
},
|
|
220
|
-
"additionalProperties": false,
|
|
221
|
-
"documented": true,
|
|
222
|
-
"title": "groups[*]",
|
|
223
|
-
"description": "This key represents an individual group object in the `values[*].groups` array.\n\nThe value is an object that groups inputs together within a structure value without changing the data structure. Each group typically contains a `heading` and `inputs` array.\n\n## Examples\n\nIn this example, we have configured a group with a heading and inputs array to organize structure inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
224
|
-
"markdownDescription": "This key represents an individual group object in the `values[*].groups` array.\n\nThe value is an object that groups inputs together within a structure value without changing the data structure. Each group typically contains a `heading` and `inputs` array.\n\n## Examples\n\nIn this example, we have configured a group with a heading and inputs array to organize structure inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
225
|
-
},
|
|
226
|
-
"documented": true,
|
|
227
|
-
"title": "groups",
|
|
228
|
-
"markdownDescription": "This key defines the order and custom grouping for inputs within a Structure.\n\nThe value is an array of group objects. Each group object can contain a `heading`, `comment`, `collapsed`, and `inputs` array.\n\n## Examples\n\nIn this example, we want to separate the inputs into two groups with descriptive headings: `title` and `subtitle` under the `Titles` heading, and `author` under the `Details` heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
229
|
-
},
|
|
230
|
-
"place_groups_below": {
|
|
231
|
-
"description": "This key defines which order input groups and ungrouped inputs appear in.",
|
|
232
|
-
"default": false,
|
|
233
|
-
"type": "boolean",
|
|
234
|
-
"documented": true,
|
|
235
|
-
"title": "place_groups_below",
|
|
236
|
-
"markdownDescription": "This key defines which order input groups and ungrouped inputs appear in."
|
|
237
|
-
},
|
|
238
|
-
"tabbed": {
|
|
239
|
-
"description": "This key toggles whether CloudCannon should create tabs in the Data Editor if you have two layers of nested object within your Structure.\n\nSetting this key to `true` will create tabs in the Data Editor for two layers of nested objects within your Structure.\n\nBy default, this key is `false` (i.e., Object and Array inputs using this Structure option are not tabbed).\n\n## Examples\n\nIn this example, we want the `content` and `style` keys in our Structure to be tabs at the top of the Data Editor, with the `title` and `text`, and `color` and `font` keys nested within those tabs respectively.\n\n```yaml\n_structures:\n components:\n values:\n - label: Component\n tabbed: true\n value:\n content:\n title:\n text:\n style:\n color:\n font:\n```",
|
|
240
|
-
"default": false,
|
|
241
|
-
"type": "boolean",
|
|
242
|
-
"documented": true,
|
|
243
|
-
"title": "tabbed",
|
|
244
|
-
"markdownDescription": "This key toggles whether CloudCannon should create tabs in the Data Editor if you have two layers of nested object within your Structure.\n\nSetting this key to `true` will create tabs in the Data Editor for two layers of nested objects within your Structure.\n\nBy default, this key is `false` (i.e., Object and Array inputs using this Structure option are not tabbed).\n\n## Examples\n\nIn this example, we want the `content` and `style` keys in our Structure to be tabs at the top of the Data Editor, with the `title` and `text`, and `color` and `font` keys nested within those tabs respectively.\n\n```yaml\n_structures:\n components:\n values:\n - label: Component\n tabbed: true\n value:\n content:\n title:\n text:\n style:\n color:\n font:\n```"
|
|
245
|
-
},
|
|
246
|
-
"value": {
|
|
247
|
-
"description": "This key defines which nested inputs the Structure value should add to an Object or Array input.\n\nYou must define this key for the Structure value to function.\n\nNested keys can be any [input](https://cloudcannon.com/documentation/articles/what-are-inputs/) you require in your Object or Array.\n\nFor more information, please read our documentation on [configuring an Object input](https://cloudcannon.com/documentation/articles/configure-an-object-input/) and\n[configuring and Array input](https://cloudcannon.com/documentation/articles/configure-an-array-input/).\n\n## Examples\n\nIn this example we want to populate the `details` Object input with the nested keys `title`, `subtitle`, and `author` we have defined under the `values.value` key.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n_inputs:\n details:\n type: object\n options:\n structures: _structures.article_information\n```",
|
|
248
|
-
"documented": true,
|
|
249
|
-
"title": "value",
|
|
250
|
-
"markdownDescription": "This key defines which nested inputs the Structure value should add to an Object or Array input.\n\nYou must define this key for the Structure value to function.\n\nNested keys can be any [input](https://cloudcannon.com/documentation/articles/what-are-inputs/) you require in your Object or Array.\n\nFor more information, please read our documentation on [configuring an Object input](https://cloudcannon.com/documentation/articles/configure-an-object-input/) and\n[configuring and Array input](https://cloudcannon.com/documentation/articles/configure-an-array-input/).\n\n## Examples\n\nIn this example we want to populate the `details` Object input with the nested keys `title`, `subtitle`, and `author` we have defined under the `values.value` key.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n_inputs:\n details:\n type: object\n options:\n structures: _structures.article_information\n```"
|
|
251
|
-
},
|
|
252
|
-
"description": {
|
|
253
|
-
"description": "This key defines short descriptive text for editors shown in the Data Editor for expanded values matching this Structure value.\n\nHas no default.\n\nSupports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
|
|
254
|
-
"type": "string",
|
|
255
|
-
"documented": true,
|
|
256
|
-
"title": "description",
|
|
257
|
-
"markdownDescription": "This key defines short descriptive text for editors shown in the Data Editor for expanded values matching this Structure value.\n\nHas no default.\n\nSupports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed."
|
|
258
|
-
},
|
|
259
|
-
"documentation": {
|
|
260
|
-
"description": "Provides a custom link for documentation for editors shown in the Data Editor for expanded values matching this Structure value. Has no default.",
|
|
261
|
-
"allOf": [
|
|
262
|
-
{
|
|
263
|
-
"$ref": "#/definitions/type.documentation"
|
|
264
|
-
}
|
|
265
|
-
],
|
|
266
|
-
"documented": false,
|
|
267
|
-
"title": "documentation",
|
|
268
|
-
"markdownDescription": "Provides a custom link for documentation for editors shown in the Data Editor for expanded values matching this Structure value. Has no default."
|
|
269
|
-
}
|
|
270
|
-
},
|
|
271
|
-
"required": [
|
|
272
|
-
"value"
|
|
273
|
-
],
|
|
274
|
-
"additionalProperties": false,
|
|
275
|
-
"documented": true,
|
|
276
|
-
"markdownDescription": "This key represents a single value option within a structure, defining the data format and appearance for content editors."
|
|
277
|
-
},
|
|
278
10
|
"type.preview": {
|
|
279
|
-
"title": "Preview",
|
|
280
11
|
"type": "object",
|
|
281
12
|
"properties": {
|
|
282
13
|
"text": {
|
|
@@ -308,6 +39,7 @@
|
|
|
308
39
|
}
|
|
309
40
|
},
|
|
310
41
|
"additionalProperties": false,
|
|
42
|
+
"title": "Preview",
|
|
311
43
|
"documented": true,
|
|
312
44
|
"description": "This key defines the appearance of a Card.\n\nYou can configure Card preview for [Collections](https://cloudcannon.com/documentation/articles/what-is-a-collection/), [Schemas](https://cloudcannon.com/documentation/articles/what-is-a-schema/),\n[Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/), [Array inputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/), [Select\ninputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/), [Structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/), the Structure modal,\n[Snippets](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), and the Snippet modal.\n\nFor more information about previews, please read our documentation on [configuring card previews](https://cloudcannon.com/documentation/articles/configure-your-card-previews/).\n\n## Examples\n\nIn this example, we have configured the appearance of file Cards in the *Collection browser*.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n subtext:\n - key: author\n icon: edit_note\n icon_color:\n - key: color\n - '#ff0000'\n image:\n - key: image\n metadata:\n - template: [url]\n - icon: event\n text:\n - template: 'Published on {date|date_long}'\n gallery:\n - key: featured_image\n```\n\nIn this example, we have configured the appearance of Cards in inputs using the Structure `staff`.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
|
|
313
45
|
"markdownDescription": "This key defines the appearance of a Card.\n\nYou can configure Card preview for [Collections](https://cloudcannon.com/documentation/articles/what-is-a-collection/), [Schemas](https://cloudcannon.com/documentation/articles/what-is-a-schema/),\n[Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/), [Array inputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/), [Select\ninputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/), [Structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/), the Structure modal,\n[Snippets](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), and the Snippet modal.\n\nFor more information about previews, please read our documentation on [configuring card previews](https://cloudcannon.com/documentation/articles/configure-your-card-previews/).\n\n## Examples\n\nIn this example, we have configured the appearance of file Cards in the *Collection browser*.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n subtext:\n - key: author\n icon: edit_note\n icon_color:\n - key: color\n - '#ff0000'\n image:\n - key: image\n metadata:\n - template: [url]\n - icon: event\n text:\n - template: 'Published on {date|date_long}'\n gallery:\n - key: featured_image\n```\n\nIn this example, we have configured the appearance of Cards in inputs using the Structure `staff`.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```"
|
|
@@ -339,17 +71,16 @@
|
|
|
339
71
|
"title": "text(previewentries)"
|
|
340
72
|
},
|
|
341
73
|
"type.preview-entry.(array)": {
|
|
342
|
-
"title": "Array Preview Entry",
|
|
343
74
|
"type": "array",
|
|
344
75
|
"items": {
|
|
345
76
|
"$ref": "#/definitions/type.preview-entry"
|
|
346
77
|
},
|
|
78
|
+
"title": "Array Preview Entry",
|
|
347
79
|
"documented": true,
|
|
348
80
|
"description": "This key represents an array of preview entries for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an array of preview entry objects, strings, or `false` values. Each preview entry object can contain a `key`, `template`, or `text` property. When multiple entries are provided, CloudCannon will use them in order as fallback options.\n\n## Examples\n\nIn this example, we have configured an array of preview entries with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```",
|
|
349
81
|
"markdownDescription": "This key represents an array of preview entries for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an array of preview entry objects, strings, or `false` values. Each preview entry object can contain a `key`, `template`, or `text` property. When multiple entries are provided, CloudCannon will use them in order as fallback options.\n\n## Examples\n\nIn this example, we have configured an array of preview entries with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```"
|
|
350
82
|
},
|
|
351
83
|
"type.preview-entry": {
|
|
352
|
-
"title": "Preview Entry",
|
|
353
84
|
"anyOf": [
|
|
354
85
|
{
|
|
355
86
|
"$ref": "#/definitions/type.preview-entry.(key)"
|
|
@@ -367,17 +98,17 @@
|
|
|
367
98
|
"$ref": "#/definitions/type.preview-entry.(false)"
|
|
368
99
|
}
|
|
369
100
|
],
|
|
101
|
+
"title": "Preview Entry",
|
|
370
102
|
"documented": true,
|
|
371
103
|
"description": "This key defines a preview entry configuration for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value can be an object with a `key`, `template`, or `text` property, a raw text string, `false`, or an array of these values. When multiple entries are provided, CloudCannon will use them in order as fallback options. Preview entries are used to configure how data is displayed in card previews.\n\n## Examples\n\nIn this example, we have configured a preview entry with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```\n\nIn this example, we have configured a preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```",
|
|
372
104
|
"markdownDescription": "This key defines a preview entry configuration for displaying data on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value can be an object with a `key`, `template`, or `text` property, a raw text string, `false`, or an array of these values. When multiple entries are provided, CloudCannon will use them in order as fallback options. Preview entries are used to configure how data is displayed in card previews.\n\n## Examples\n\nIn this example, we have configured a preview entry with an array of values to provide fallback options. CloudCannon will use the value of `title` first, then the `{name}` template, and finally fall back to the static text value.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n - template: '{name}'\n - text: 'Untitled'\n```\n\nIn this example, we have configured a preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```"
|
|
373
105
|
},
|
|
374
106
|
"type.preview-entry.(key)": {
|
|
375
|
-
"title": "Key Preview Entry",
|
|
376
107
|
"type": "object",
|
|
377
108
|
"properties": {
|
|
378
109
|
"key": {
|
|
379
|
-
"title": "Key Value",
|
|
380
110
|
"type": "string",
|
|
111
|
+
"title": "Key Value",
|
|
381
112
|
"documented": true,
|
|
382
113
|
"description": "This key defines the data key name to display in a key preview entry.\n\nThe value is a string that specifies the name of a data key whose value will be displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the key value to display the `title` field.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```",
|
|
383
114
|
"markdownDescription": "This key defines the data key name to display in a key preview entry.\n\nThe value is a string that specifies the name of a data key whose value will be displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the key value to display the `title` field.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```"
|
|
@@ -387,17 +118,17 @@
|
|
|
387
118
|
"key"
|
|
388
119
|
],
|
|
389
120
|
"additionalProperties": false,
|
|
121
|
+
"title": "Key Preview Entry",
|
|
390
122
|
"documented": true,
|
|
391
123
|
"description": "This key represents a key preview entry type for displaying data from a specific key on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `key` property with a string value. This displays the value of the specified data key in card previews.\n\n## Examples\n\nIn this example, we have configured a key preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```",
|
|
392
124
|
"markdownDescription": "This key represents a key preview entry type for displaying data from a specific key on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `key` property with a string value. This displays the value of the specified data key in card previews.\n\n## Examples\n\nIn this example, we have configured a key preview entry to display the `title` key.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - key: title\n```"
|
|
393
125
|
},
|
|
394
126
|
"type.preview-entry.(template)": {
|
|
395
|
-
"title": "Template Preview Entry",
|
|
396
127
|
"type": "object",
|
|
397
128
|
"properties": {
|
|
398
129
|
"template": {
|
|
399
|
-
"title": "Template Value",
|
|
400
130
|
"type": "string",
|
|
131
|
+
"title": "Template Value",
|
|
401
132
|
"documented": true,
|
|
402
133
|
"description": "This key defines the template string to use in a template preview entry.\n\nThe value is a string that specifies a template with placeholders (e.g., `{name}`, `{date}`) that will be replaced with data values when displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the template value to display author and date.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```",
|
|
403
134
|
"markdownDescription": "This key defines the template string to use in a template preview entry.\n\nThe value is a string that specifies a template with placeholders (e.g., `{name}`, `{date}`) that will be replaced with data values when displayed on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the template value to display author and date.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```"
|
|
@@ -407,17 +138,17 @@
|
|
|
407
138
|
"template"
|
|
408
139
|
],
|
|
409
140
|
"additionalProperties": false,
|
|
141
|
+
"title": "Template Preview Entry",
|
|
410
142
|
"documented": true,
|
|
411
143
|
"description": "This key represents a template preview entry type for displaying formatted text using a template on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `template` property with a string value. This displays formatted text using template syntax (e.g., `{name}`) in card previews.\n\n## Examples\n\nIn this example, we have configured a template preview entry to display formatted text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```",
|
|
412
144
|
"markdownDescription": "This key represents a template preview entry type for displaying formatted text using a template on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `template` property with a string value. This displays formatted text using template syntax (e.g., `{name}`) in card previews.\n\n## Examples\n\nIn this example, we have configured a template preview entry to display formatted text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - template: '{author} - {date}'\n```"
|
|
413
145
|
},
|
|
414
146
|
"type.preview-entry.(text)": {
|
|
415
|
-
"title": "Text Preview Entry",
|
|
416
147
|
"type": "object",
|
|
417
148
|
"properties": {
|
|
418
149
|
"text": {
|
|
419
|
-
"title": "Text Value",
|
|
420
150
|
"type": "string",
|
|
151
|
+
"title": "Text Value",
|
|
421
152
|
"documented": true,
|
|
422
153
|
"description": "This key defines the static text string to display in a text preview entry.\n\nThe value is a string that specifies static text to display on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the text value to display a static fallback message.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```",
|
|
423
154
|
"markdownDescription": "This key defines the static text string to display in a text preview entry.\n\nThe value is a string that specifies static text to display on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\n## Examples\n\nIn this example, we have configured the text value to display a static fallback message.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```"
|
|
@@ -427,21 +158,22 @@
|
|
|
427
158
|
"text"
|
|
428
159
|
],
|
|
429
160
|
"additionalProperties": false,
|
|
161
|
+
"title": "Text Preview Entry",
|
|
430
162
|
"documented": true,
|
|
431
163
|
"description": "This key represents a text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `text` property with a string value. This displays static text in card previews.\n\n## Examples\n\nIn this example, we have configured a text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```",
|
|
432
164
|
"markdownDescription": "This key represents a text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is an object that contains a `text` property with a string value. This displays static text in card previews.\n\n## Examples\n\nIn this example, we have configured a text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text:\n - text: 'Untitled'\n```"
|
|
433
165
|
},
|
|
434
166
|
"type.preview-entry.(raw-text)": {
|
|
435
|
-
"title": "Raw Text Preview Entry",
|
|
436
167
|
"type": "string",
|
|
168
|
+
"title": "Raw Text Preview Entry",
|
|
437
169
|
"documented": true,
|
|
438
170
|
"description": "This key represents a raw text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is a string that specifies static text to display in card previews. This is equivalent to using `{ text: \"...\" }` but in a simpler format.\n\n## Examples\n\nIn this example, we have configured a raw text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: 'Untitled'\n```",
|
|
439
171
|
"markdownDescription": "This key represents a raw text preview entry type for displaying static text on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value is a string that specifies static text to display in card previews. This is equivalent to using `{ text: \"...\" }` but in a simpler format.\n\n## Examples\n\nIn this example, we have configured a raw text preview entry to display static text.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: 'Untitled'\n```"
|
|
440
172
|
},
|
|
441
173
|
"type.preview-entry.(false)": {
|
|
442
|
-
"title": "False Preview Entry",
|
|
443
174
|
"type": "boolean",
|
|
444
175
|
"const": false,
|
|
176
|
+
"title": "False Preview Entry",
|
|
445
177
|
"documented": true,
|
|
446
178
|
"description": "This key represents a preview entry that disables the preview display for a specific field on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value must be `false`. Setting a preview entry to `false` will hide that preview element.\n\n## Examples\n\nIn this example, we have configured the preview text to be disabled.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: false\n```",
|
|
447
179
|
"markdownDescription": "This key represents a preview entry that disables the preview display for a specific field on *Cards* in the *Collection browser*, *Structures*, and *Snippets*.\n\nThe value must be `false`. Setting a preview entry to `false` will hide that preview element.\n\n## Examples\n\nIn this example, we have configured the preview text to be disabled.\n\n```yaml\ncollections_config:\n blog:\n preview:\n text: false\n```"
|
|
@@ -617,9 +349,16 @@
|
|
|
617
349
|
"description": "This key defines the appearance of a Card when choosing an item to create. This uses `preview` as a base, and keys inside this object are overrides.\n\nYou can configure Card preview for [Collections](https://cloudcannon.com/documentation/articles/what-is-a-collection/), [Schemas](https://cloudcannon.com/documentation/articles/what-is-a-schema/),\n[Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/), [Array inputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/), [Select\ninputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/), [Structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/), the Structure modal,\n[Snippets](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), and the Snippet modal.\n\nFor more information about previews, please read our documentation on [configuring card previews](https://cloudcannon.com/documentation/articles/configure-your-card-previews/).\n\n## Examples\n\nIn this example, we have configured the appearance of Cards in inputs using the Structure `staff` when adding items.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n picker_preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n picker_preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
|
|
618
350
|
"markdownDescription": "This key defines the appearance of a Card when choosing an item to create. This uses `preview` as a base, and keys inside this object are overrides.\n\nYou can configure Card preview for [Collections](https://cloudcannon.com/documentation/articles/what-is-a-collection/), [Schemas](https://cloudcannon.com/documentation/articles/what-is-a-schema/),\n[Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/), [Array inputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/), [Select\ninputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/), [Structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/), the Structure modal,\n[Snippets](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), and the Snippet modal.\n\nFor more information about previews, please read our documentation on [configuring card previews](https://cloudcannon.com/documentation/articles/configure-your-card-previews/).\n\n## Examples\n\nIn this example, we have configured the appearance of Cards in inputs using the Structure `staff` when adding items.\n\n```yaml\n_structures:\n staff:\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n picker_preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n picker_preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```"
|
|
619
351
|
},
|
|
352
|
+
"__schema0": {
|
|
353
|
+
"allOf": [
|
|
354
|
+
{
|
|
355
|
+
"$ref": "#/definitions/type._inputs"
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"documented": false,
|
|
359
|
+
"title": "_inputs"
|
|
360
|
+
},
|
|
620
361
|
"type._inputs": {
|
|
621
|
-
"title": "Inputs",
|
|
622
|
-
"description": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```",
|
|
623
362
|
"type": "object",
|
|
624
363
|
"propertyNames": {
|
|
625
364
|
"type": "string"
|
|
@@ -627,15 +366,14 @@
|
|
|
627
366
|
"additionalProperties": {
|
|
628
367
|
"$ref": "#/definitions/Input"
|
|
629
368
|
},
|
|
369
|
+
"title": "Inputs",
|
|
370
|
+
"description": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```",
|
|
630
371
|
"documented": true,
|
|
631
372
|
"markdownDescription": "This key defines which inputs are available at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_inputs` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured the `date_created` key as a *Date and Time Input*, which will automatically populate when you create a file using this input. Editors cannot alter this input as the interface is disabled.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n comment: UTC +0 timezone\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n hidden: false\n disabled: true\n instance_value: NOW\n cascade: true\n options:\n timezone: Etc/UTC\n```\n\nIn this example, we have configured the `blog_tags` key as a *Multiselect Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n blog_tags:\n type: multiselect\n label: Blog type\n comment: Select a blog type\n context:\n open: false\n title: Help\n icon: help\n content: |\n Blog tags help our users filter articles by topic.\n options:\n values:\n - Opinion\n - Feature\n - Resource\n```"
|
|
632
373
|
},
|
|
633
374
|
"Input": {
|
|
634
|
-
"title": "Input",
|
|
635
375
|
"anyOf": [
|
|
636
376
|
{
|
|
637
|
-
"title": "Known Input",
|
|
638
|
-
"description": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```",
|
|
639
377
|
"oneOf": [
|
|
640
378
|
{
|
|
641
379
|
"$ref": "#/definitions/TextInput"
|
|
@@ -695,6 +433,8 @@
|
|
|
695
433
|
"$ref": "#/definitions/AutoInput"
|
|
696
434
|
}
|
|
697
435
|
],
|
|
436
|
+
"title": "Known Input",
|
|
437
|
+
"description": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```",
|
|
698
438
|
"documented": true,
|
|
699
439
|
"markdownDescription": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```"
|
|
700
440
|
},
|
|
@@ -702,13 +442,12 @@
|
|
|
702
442
|
"$ref": "#/definitions/UnknownInput"
|
|
703
443
|
}
|
|
704
444
|
],
|
|
445
|
+
"title": "Input",
|
|
705
446
|
"documented": true,
|
|
706
447
|
"description": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```",
|
|
707
448
|
"markdownDescription": "This key defines an input configuration at a given level of the configuration cascade.\n\nThe value is an object that can contain `type`, `label`, `options`, `disabled`, `hidden`, and other input-specific properties. Each input configuration defines how team members interact with data in the *Data Editor*.\n\nFor more information, please read our documentation on [inputs](https://cloudcannon.com/documentation/articles/what-are-inputs/).\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _inputs:\n title:\n type: text\n label: Title\n```"
|
|
708
449
|
},
|
|
709
450
|
"TextInput": {
|
|
710
|
-
"title": "Text Input",
|
|
711
|
-
"description": "This key defines a simple editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input*.\n\n```yaml\n_inputs:\n title:\n type: text\n label: Blog Title\n```",
|
|
712
451
|
"type": "object",
|
|
713
452
|
"properties": {
|
|
714
453
|
"comment": {
|
|
@@ -753,8 +492,6 @@
|
|
|
753
492
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
754
493
|
},
|
|
755
494
|
"type": {
|
|
756
|
-
"title": "Type",
|
|
757
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* type.\n\n```yaml\n_inputs:\n title:\n type: text\n```",
|
|
758
495
|
"type": "string",
|
|
759
496
|
"enum": [
|
|
760
497
|
"text",
|
|
@@ -766,11 +503,12 @@
|
|
|
766
503
|
"github",
|
|
767
504
|
"instagram"
|
|
768
505
|
],
|
|
506
|
+
"title": "Type",
|
|
507
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* type.\n\n```yaml\n_inputs:\n title:\n type: text\n```",
|
|
769
508
|
"documented": true,
|
|
770
509
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input* type.\n\n```yaml\n_inputs:\n title:\n type: text\n```"
|
|
771
510
|
},
|
|
772
511
|
"options": {
|
|
773
|
-
"description": "This key defines options that are specific to Text Inputs.\n\n## Examples\n\nIn this example, we have configured *Text Input* options including comment and icon.\n\n```yaml\n_inputs:\n title:\n type: text\n options:\n comment: Enter a title\n icon: title\n```",
|
|
774
512
|
"type": "object",
|
|
775
513
|
"properties": {
|
|
776
514
|
"max_length": {
|
|
@@ -785,6 +523,33 @@
|
|
|
785
523
|
"min_length_message": {
|
|
786
524
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
787
525
|
},
|
|
526
|
+
"max_words": {
|
|
527
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
528
|
+
},
|
|
529
|
+
"max_words_message": {
|
|
530
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
531
|
+
},
|
|
532
|
+
"min_words": {
|
|
533
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
534
|
+
},
|
|
535
|
+
"min_words_message": {
|
|
536
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
537
|
+
},
|
|
538
|
+
"max_graphemes": {
|
|
539
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
540
|
+
},
|
|
541
|
+
"max_graphemes_message": {
|
|
542
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
543
|
+
},
|
|
544
|
+
"min_graphemes": {
|
|
545
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
546
|
+
},
|
|
547
|
+
"min_graphemes_message": {
|
|
548
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
549
|
+
},
|
|
550
|
+
"locale": {
|
|
551
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
552
|
+
},
|
|
788
553
|
"pattern": {
|
|
789
554
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
790
555
|
},
|
|
@@ -851,6 +616,7 @@
|
|
|
851
616
|
}
|
|
852
617
|
},
|
|
853
618
|
"additionalProperties": false,
|
|
619
|
+
"description": "This key defines options that are specific to Text Inputs.\n\n## Examples\n\nIn this example, we have configured *Text Input* options including comment and icon.\n\n```yaml\n_inputs:\n title:\n type: text\n options:\n comment: Enter a title\n icon: title\n```",
|
|
854
620
|
"documented": true,
|
|
855
621
|
"title": "options",
|
|
856
622
|
"markdownDescription": "This key defines options that are specific to Text Inputs.\n\n## Examples\n\nIn this example, we have configured *Text Input* options including comment and icon.\n\n```yaml\n_inputs:\n title:\n type: text\n options:\n comment: Enter a title\n icon: title\n```"
|
|
@@ -860,6 +626,8 @@
|
|
|
860
626
|
"type"
|
|
861
627
|
],
|
|
862
628
|
"additionalProperties": false,
|
|
629
|
+
"title": "Text Input",
|
|
630
|
+
"description": "This key defines a simple editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input*.\n\n```yaml\n_inputs:\n title:\n type: text\n label: Blog Title\n```",
|
|
863
631
|
"documented": true,
|
|
864
632
|
"markdownDescription": "This key defines a simple editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `title` key as a *Text Input*.\n\n```yaml\n_inputs:\n title:\n type: text\n label: Blog Title\n```"
|
|
865
633
|
},
|
|
@@ -871,7 +639,6 @@
|
|
|
871
639
|
"markdownDescription": "This key defines the subtitle text above an Input.\n\nCloudCannon supports a limited selection of Markdown formatting for the value of this key: links, bold, italic, subscript, superscript, and inline\ncode.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add helpful guidance for our `page_description` Input.\n\n```yaml\n_inputs:\n page_description:\n type: text\n label: Page Description\n comment: Enter a brief description of this page for search engines\n```"
|
|
872
640
|
},
|
|
873
641
|
"type._inputs.*.context": {
|
|
874
|
-
"description": "This key defines a context box for extra information about an Input.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add a context box to our `date_created` Input to explain its purpose.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n instance_value: NOW\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n```",
|
|
875
642
|
"type": "object",
|
|
876
643
|
"properties": {
|
|
877
644
|
"content": {
|
|
@@ -909,13 +676,12 @@
|
|
|
909
676
|
}
|
|
910
677
|
},
|
|
911
678
|
"additionalProperties": false,
|
|
679
|
+
"description": "This key defines a context box for extra information about an Input.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add a context box to our `date_created` Input to explain its purpose.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n instance_value: NOW\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n```",
|
|
912
680
|
"documented": true,
|
|
913
681
|
"title": "context",
|
|
914
682
|
"markdownDescription": "This key defines a context box for extra information about an Input.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add a context box to our `date_created` Input to explain its purpose.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n instance_value: NOW\n context:\n open: false\n title: Help\n icon: help\n content: This date field will automatically populate when you create an article.\n```"
|
|
915
683
|
},
|
|
916
684
|
"icon": {
|
|
917
|
-
"title": "Icon",
|
|
918
|
-
"description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
|
|
919
685
|
"type": "string",
|
|
920
686
|
"enum": [
|
|
921
687
|
"123",
|
|
@@ -4503,17 +4269,17 @@
|
|
|
4503
4269
|
"zoom_out",
|
|
4504
4270
|
"zoom_out_map"
|
|
4505
4271
|
],
|
|
4272
|
+
"title": "Icon",
|
|
4273
|
+
"description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
|
|
4506
4274
|
"documented": false,
|
|
4507
4275
|
"markdownDescription": "Material Symbol icon names available in CloudCannon for UI elements and content previews."
|
|
4508
4276
|
},
|
|
4509
4277
|
"type.documentation": {
|
|
4510
|
-
"title": "Documentation",
|
|
4511
|
-
"description": "This key defines the documentation link at the top of a *Collection browser*.\n\nCollection documentation is useful for assisting your team members.\n\n## Examples\n\nIn this example, the documentation link for the `data` Collection goes to [CloudCannon Documentation](https://cloudcannon.com/documentation/).\n\n```yaml\ncollections_config:\n data:\n documentation:\n url: https://cloudcannon.com/documentation/\n text: CloudCannon Documentation\n icon: star\n```",
|
|
4512
4278
|
"type": "object",
|
|
4513
4279
|
"properties": {
|
|
4514
4280
|
"url": {
|
|
4515
|
-
"description": "This key defines the URL for the documentation link at the top of a *Collection browser*.\n\nYou must define this key for the\n`documentation` object to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have configured the `blog` Collection documentation link to go to `example.com`.\n\n```yaml\ncollections_config:\n blog:\n documentation:\n url: https://example.com\n```",
|
|
4516
4281
|
"type": "string",
|
|
4282
|
+
"description": "This key defines the URL for the documentation link at the top of a *Collection browser*.\n\nYou must define this key for the\n`documentation` object to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have configured the `blog` Collection documentation link to go to `example.com`.\n\n```yaml\ncollections_config:\n blog:\n documentation:\n url: https://example.com\n```",
|
|
4517
4283
|
"documented": true,
|
|
4518
4284
|
"title": "url",
|
|
4519
4285
|
"markdownDescription": "This key defines the URL for the documentation link at the top of a *Collection browser*.\n\nYou must define this key for the\n`documentation` object to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have configured the `blog` Collection documentation link to go to `example.com`.\n\n```yaml\ncollections_config:\n blog:\n documentation:\n url: https://example.com\n```"
|
|
@@ -4542,6 +4308,8 @@
|
|
|
4542
4308
|
"url"
|
|
4543
4309
|
],
|
|
4544
4310
|
"additionalProperties": false,
|
|
4311
|
+
"title": "Documentation",
|
|
4312
|
+
"description": "This key defines the documentation link at the top of a *Collection browser*.\n\nCollection documentation is useful for assisting your team members.\n\n## Examples\n\nIn this example, the documentation link for the `data` Collection goes to [CloudCannon Documentation](https://cloudcannon.com/documentation/).\n\n```yaml\ncollections_config:\n data:\n documentation:\n url: https://cloudcannon.com/documentation/\n text: CloudCannon Documentation\n icon: star\n```",
|
|
4545
4313
|
"documented": true,
|
|
4546
4314
|
"markdownDescription": "This key defines the documentation link at the top of a *Collection browser*.\n\nCollection documentation is useful for assisting your team members.\n\n## Examples\n\nIn this example, the documentation link for the `data` Collection goes to [CloudCannon Documentation](https://cloudcannon.com/documentation/).\n\n```yaml\ncollections_config:\n data:\n documentation:\n url: https://cloudcannon.com/documentation/\n text: CloudCannon Documentation\n icon: star\n```"
|
|
4547
4315
|
},
|
|
@@ -4557,15 +4325,15 @@
|
|
|
4557
4325
|
"default": false,
|
|
4558
4326
|
"anyOf": [
|
|
4559
4327
|
{
|
|
4560
|
-
"title": "Boolean Hidden",
|
|
4561
4328
|
"type": "boolean",
|
|
4329
|
+
"title": "Boolean Hidden",
|
|
4562
4330
|
"documented": true,
|
|
4563
4331
|
"description": "This key represents a boolean value for the `hidden` key that toggles whether CloudCannon hides an input from view.\n\nWhen set to `true`, CloudCannon hides the input from the *Data Editor* and the sidebar of the *Visual Editor* or *Content Editor*. The input still exists in the file and can be edited in the *Source Editor*.\n\nWhen set to `false`, CloudCannon displays the input normally.\n\nBy default, this key follows the input naming convention where key names beginning with an underscore are hidden (`true`). Otherwise, this key defaults to `false` (i.e., the input is visible).\n\n## Examples\n\nIn this example, we have configured an input to be hidden using a boolean value, making it only editable in the *Source Editor*.\n\n```yaml\n_inputs:\n internal_id:\n type: text\n label: Internal ID\n hidden: true\n```",
|
|
4564
4332
|
"markdownDescription": "This key represents a boolean value for the `hidden` key that toggles whether CloudCannon hides an input from view.\n\nWhen set to `true`, CloudCannon hides the input from the *Data Editor* and the sidebar of the *Visual Editor* or *Content Editor*. The input still exists in the file and can be edited in the *Source Editor*.\n\nWhen set to `false`, CloudCannon displays the input normally.\n\nBy default, this key follows the input naming convention where key names beginning with an underscore are hidden (`true`). Otherwise, this key defaults to `false` (i.e., the input is visible).\n\n## Examples\n\nIn this example, we have configured an input to be hidden using a boolean value, making it only editable in the *Source Editor*.\n\n```yaml\n_inputs:\n internal_id:\n type: text\n label: Internal ID\n hidden: true\n```"
|
|
4565
4333
|
},
|
|
4566
4334
|
{
|
|
4567
|
-
"title": "Query String Hidden",
|
|
4568
4335
|
"type": "string",
|
|
4336
|
+
"title": "Query String Hidden",
|
|
4569
4337
|
"documented": true,
|
|
4570
4338
|
"description": "This key represents a query string value for the `hidden` key that conditionally hides an input based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to hide this input.\n\nWhen the referenced input is truthy, CloudCannon hides this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be hidden when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n hidden: published\n```\n\nIn this example, we have configured an input to be hidden when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n publish_date:\n type: datetime\n label: Publish date\n hidden: '!published'\n```",
|
|
4571
4339
|
"markdownDescription": "This key represents a query string value for the `hidden` key that conditionally hides an input based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to hide this input.\n\nWhen the referenced input is truthy, CloudCannon hides this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be hidden when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n hidden: published\n```\n\nIn this example, we have configured an input to be hidden when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n publish_date:\n type: datetime\n label: Publish date\n hidden: '!published'\n```"
|
|
@@ -4580,15 +4348,15 @@
|
|
|
4580
4348
|
"default": false,
|
|
4581
4349
|
"anyOf": [
|
|
4582
4350
|
{
|
|
4583
|
-
"title": "Boolean",
|
|
4584
4351
|
"type": "boolean",
|
|
4352
|
+
"title": "Boolean",
|
|
4585
4353
|
"documented": true,
|
|
4586
4354
|
"description": "This key represents a boolean value for the `disabled` key that toggles whether CloudCannon prevents editing of an input value.\n\nWhen set to `true`, CloudCannon prevents team members from editing the input value in the *Data Editor* or the sidebar of the *Visual Editor* or *Content Editor*. The input value is still displayed but cannot be modified outside of the *Source Editor*.\n\nWhen set to `false`, team members can edit the input value normally.\n\nBy default, this key is `false` (i.e., team members can edit input values).\n\n## Examples\n\nIn this example, we have configured a datetime input to be disabled using a boolean value, preventing editors from modifying the automatically generated date.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n disabled: true\n instance_value: NOW\n```",
|
|
4587
4355
|
"markdownDescription": "This key represents a boolean value for the `disabled` key that toggles whether CloudCannon prevents editing of an input value.\n\nWhen set to `true`, CloudCannon prevents team members from editing the input value in the *Data Editor* or the sidebar of the *Visual Editor* or *Content Editor*. The input value is still displayed but cannot be modified outside of the *Source Editor*.\n\nWhen set to `false`, team members can edit the input value normally.\n\nBy default, this key is `false` (i.e., team members can edit input values).\n\n## Examples\n\nIn this example, we have configured a datetime input to be disabled using a boolean value, preventing editors from modifying the automatically generated date.\n\n```yaml\n_inputs:\n date_created:\n type: datetime\n label: Date of article creation\n disabled: true\n instance_value: NOW\n```"
|
|
4588
4356
|
},
|
|
4589
4357
|
{
|
|
4590
|
-
"title": "Query String",
|
|
4591
4358
|
"type": "string",
|
|
4359
|
+
"title": "Query String",
|
|
4592
4360
|
"documented": true,
|
|
4593
4361
|
"description": "This key represents a query string value for the `disabled` key that conditionally prevents editing of an input value based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to disable this input.\n\nWhen the referenced input is truthy, CloudCannon disables this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be disabled when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n edit_date:\n type: datetime\n label: Last edited\n disabled: published\n```\n\nIn this example, we have configured an input to be disabled when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n disabled: '!published'\n```",
|
|
4594
4362
|
"markdownDescription": "This key represents a query string value for the `disabled` key that conditionally prevents editing of an input value based on another input's value.\n\nThe value is a string that references a sibling input key name. CloudCannon evaluates the referenced input's value to determine whether to disable this input.\n\nWhen the referenced input is truthy, CloudCannon disables this input. You can reverse this behavior by prefixing the string with `!`.\n\nFor reverse values in YAML files, the string should be wrapped in single or double quotation marks.\n\n## Examples\n\nIn this example, we have configured an input to be disabled when the `published` input is truthy.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n edit_date:\n type: datetime\n label: Last edited\n disabled: published\n```\n\nIn this example, we have configured an input to be disabled when the `published` input is falsy using the `!` prefix.\n\n```yaml\n_inputs:\n published:\n type: checkbox\n label: Published\n draft_notes:\n type: textarea\n label: Draft notes\n disabled: '!published'\n```"
|
|
@@ -4653,6 +4421,69 @@
|
|
|
4653
4421
|
"title": "min_length_message",
|
|
4654
4422
|
"markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.min_length`.\n\nThis key requires you to define `options.min_length`.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\n## Examples\n\nIn this example, we prompt our team to enter a valid number of characters using a custom message.\n\n```yaml\n_inputs:\n seo_description:\n type: markdown\n comment: Enter a brief description of this blog.\n options:\n max_length: 125\n max_length_message: You are only allowed 125 characters.\n min_length: 25\n min_length_message: Please write more than 25 characters.\n```"
|
|
4655
4423
|
},
|
|
4424
|
+
"type._inputs.*.options.max_words": {
|
|
4425
|
+
"description": "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.",
|
|
4426
|
+
"type": "number",
|
|
4427
|
+
"documented": true,
|
|
4428
|
+
"title": "max_words",
|
|
4429
|
+
"markdownDescription": "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."
|
|
4430
|
+
},
|
|
4431
|
+
"type._inputs.*.options.max_words_message": {
|
|
4432
|
+
"description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words.",
|
|
4433
|
+
"type": "string",
|
|
4434
|
+
"documented": true,
|
|
4435
|
+
"title": "max_words_message",
|
|
4436
|
+
"markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words."
|
|
4437
|
+
},
|
|
4438
|
+
"type._inputs.*.options.min_words": {
|
|
4439
|
+
"description": "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.",
|
|
4440
|
+
"type": "number",
|
|
4441
|
+
"documented": true,
|
|
4442
|
+
"title": "min_words",
|
|
4443
|
+
"markdownDescription": "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."
|
|
4444
|
+
},
|
|
4445
|
+
"type._inputs.*.options.min_words_message": {
|
|
4446
|
+
"description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`.",
|
|
4447
|
+
"type": "string",
|
|
4448
|
+
"documented": true,
|
|
4449
|
+
"title": "min_words_message",
|
|
4450
|
+
"markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`."
|
|
4451
|
+
},
|
|
4452
|
+
"type._inputs.*.options.max_graphemes": {
|
|
4453
|
+
"description": "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.",
|
|
4454
|
+
"type": "number",
|
|
4455
|
+
"documented": true,
|
|
4456
|
+
"title": "max_graphemes",
|
|
4457
|
+
"markdownDescription": "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."
|
|
4458
|
+
},
|
|
4459
|
+
"type._inputs.*.options.max_graphemes_message": {
|
|
4460
|
+
"description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes.",
|
|
4461
|
+
"type": "string",
|
|
4462
|
+
"documented": true,
|
|
4463
|
+
"title": "max_graphemes_message",
|
|
4464
|
+
"markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes."
|
|
4465
|
+
},
|
|
4466
|
+
"type._inputs.*.options.min_graphemes": {
|
|
4467
|
+
"description": "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.",
|
|
4468
|
+
"type": "number",
|
|
4469
|
+
"documented": true,
|
|
4470
|
+
"title": "min_graphemes",
|
|
4471
|
+
"markdownDescription": "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."
|
|
4472
|
+
},
|
|
4473
|
+
"type._inputs.*.options.min_graphemes_message": {
|
|
4474
|
+
"description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`.",
|
|
4475
|
+
"type": "string",
|
|
4476
|
+
"documented": true,
|
|
4477
|
+
"title": "min_graphemes_message",
|
|
4478
|
+
"markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`."
|
|
4479
|
+
},
|
|
4480
|
+
"type._inputs.*.options.locale": {
|
|
4481
|
+
"description": "This 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`, or `min_graphemes` configured.",
|
|
4482
|
+
"type": "string",
|
|
4483
|
+
"documented": true,
|
|
4484
|
+
"title": "locale",
|
|
4485
|
+
"markdownDescription": "This 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`, or `min_graphemes` configured."
|
|
4486
|
+
},
|
|
4656
4487
|
"type._inputs.*.options.pattern": {
|
|
4657
4488
|
"description": "This key defines a [regular expression](https://re2js.leopard.in.ua/) that the Input value must match.\n\nWhen configured, CloudCannon will require you to enter a value that matches the REGEX pattern.\n\nIf the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved\nchanges.\n\nValue must be a valid REGEX string.\n\nIf your REGEX string includes a `\\` character and CloudCannon Configuration File is a `.yml` file, use single quotes `'` around the string to avoid a\nbuild error.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\nTo use this key in a Select Input, `allow_create` must be set to `true`.\n\n## Examples\n\nIn this example, we want our team to add an email address to the `contact_email` Input using the correct email format.\n\n```yaml\n_inputs:\n contact_email:\n type: email\n options:\n pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}'\n pattern_message: 'Please use the format ___@___.__'\n```",
|
|
4658
4489
|
"type": "string",
|
|
@@ -4741,8 +4572,8 @@
|
|
|
4741
4572
|
"markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.required`.\n\nThis key requires you to define `options.required`.\n\nThis key has no default.\n\nThis key is available for Array, Code, Color, Date and Time, File, Number, Object, Select and Multiselect, Text, Rich Text, and URL Inputs.\n\n## Examples\n\nIn this example, we prompt our team to use enter an Input value using a required message.\n\n```yaml\n_inputs:\n author:\n type: text\n comment: Enter the name of the author for this blog post.\n options:\n required: true\n required_message: You are not allowed to leave this blank.\n```"
|
|
4742
4573
|
},
|
|
4743
4574
|
"type._inputs.*.options.empty_type(text)": {
|
|
4744
|
-
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
|
|
4745
4575
|
"default": "null",
|
|
4576
|
+
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
|
|
4746
4577
|
"type": "string",
|
|
4747
4578
|
"enum": [
|
|
4748
4579
|
"null",
|
|
@@ -4753,8 +4584,6 @@
|
|
|
4753
4584
|
"markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values."
|
|
4754
4585
|
},
|
|
4755
4586
|
"TextareaInput": {
|
|
4756
|
-
"title": "Textarea Input",
|
|
4757
|
-
"description": "This key defines an editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input*.\n\n```yaml\n_inputs:\n description:\n type: textarea\n label: Description\n```",
|
|
4758
4587
|
"type": "object",
|
|
4759
4588
|
"properties": {
|
|
4760
4589
|
"comment": {
|
|
@@ -4799,15 +4628,14 @@
|
|
|
4799
4628
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
4800
4629
|
},
|
|
4801
4630
|
"type": {
|
|
4802
|
-
"title": "Type",
|
|
4803
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input* type.\n\n```yaml\n_inputs:\n description:\n type: textarea\n```",
|
|
4804
4631
|
"type": "string",
|
|
4805
4632
|
"const": "textarea",
|
|
4633
|
+
"title": "Type",
|
|
4634
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input* type.\n\n```yaml\n_inputs:\n description:\n type: textarea\n```",
|
|
4806
4635
|
"documented": true,
|
|
4807
4636
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input* type.\n\n```yaml\n_inputs:\n description:\n type: textarea\n```"
|
|
4808
4637
|
},
|
|
4809
4638
|
"options": {
|
|
4810
|
-
"description": "This key defines options that are specific to Textarea Inputs.\n\n## Examples\n\nIn this example, we have configured *Textarea Input* options including comment and character count.\n\n```yaml\n_inputs:\n description:\n type: textarea\n options:\n comment: Enter a description\n show_count: true\n```",
|
|
4811
4639
|
"type": "object",
|
|
4812
4640
|
"properties": {
|
|
4813
4641
|
"max_length": {
|
|
@@ -4822,6 +4650,33 @@
|
|
|
4822
4650
|
"min_length_message": {
|
|
4823
4651
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
4824
4652
|
},
|
|
4653
|
+
"max_words": {
|
|
4654
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
4655
|
+
},
|
|
4656
|
+
"max_words_message": {
|
|
4657
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
4658
|
+
},
|
|
4659
|
+
"min_words": {
|
|
4660
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
4661
|
+
},
|
|
4662
|
+
"min_words_message": {
|
|
4663
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
4664
|
+
},
|
|
4665
|
+
"max_graphemes": {
|
|
4666
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
4667
|
+
},
|
|
4668
|
+
"max_graphemes_message": {
|
|
4669
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
4670
|
+
},
|
|
4671
|
+
"min_graphemes": {
|
|
4672
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
4673
|
+
},
|
|
4674
|
+
"min_graphemes_message": {
|
|
4675
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
4676
|
+
},
|
|
4677
|
+
"locale": {
|
|
4678
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
4679
|
+
},
|
|
4825
4680
|
"pattern": {
|
|
4826
4681
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
4827
4682
|
},
|
|
@@ -4863,6 +4718,7 @@
|
|
|
4863
4718
|
}
|
|
4864
4719
|
},
|
|
4865
4720
|
"additionalProperties": false,
|
|
4721
|
+
"description": "This key defines options that are specific to Textarea Inputs.\n\n## Examples\n\nIn this example, we have configured *Textarea Input* options including comment and character count.\n\n```yaml\n_inputs:\n description:\n type: textarea\n options:\n comment: Enter a description\n show_count: true\n```",
|
|
4866
4722
|
"documented": true,
|
|
4867
4723
|
"title": "options",
|
|
4868
4724
|
"markdownDescription": "This key defines options that are specific to Textarea Inputs.\n\n## Examples\n\nIn this example, we have configured *Textarea Input* options including comment and character count.\n\n```yaml\n_inputs:\n description:\n type: textarea\n options:\n comment: Enter a description\n show_count: true\n```"
|
|
@@ -4872,12 +4728,12 @@
|
|
|
4872
4728
|
"type"
|
|
4873
4729
|
],
|
|
4874
4730
|
"additionalProperties": false,
|
|
4731
|
+
"title": "Textarea Input",
|
|
4732
|
+
"description": "This key defines an editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input*.\n\n```yaml\n_inputs:\n description:\n type: textarea\n label: Description\n```",
|
|
4875
4733
|
"documented": true,
|
|
4876
4734
|
"markdownDescription": "This key defines an editing interface for plain text.\n\n## Examples\n\nIn this example, we have configured the `description` key as a *Textarea Input*.\n\n```yaml\n_inputs:\n description:\n type: textarea\n label: Description\n```"
|
|
4877
4735
|
},
|
|
4878
4736
|
"CodeInput": {
|
|
4879
|
-
"title": "Code Input",
|
|
4880
|
-
"description": "This key defines an editing interface for code or mono-spaced plain text content.",
|
|
4881
4737
|
"type": "object",
|
|
4882
4738
|
"properties": {
|
|
4883
4739
|
"comment": {
|
|
@@ -4922,15 +4778,14 @@
|
|
|
4922
4778
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
4923
4779
|
},
|
|
4924
4780
|
"type": {
|
|
4925
|
-
"title": "Type",
|
|
4926
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
4927
4781
|
"type": "string",
|
|
4928
4782
|
"const": "code",
|
|
4783
|
+
"title": "Type",
|
|
4784
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
4929
4785
|
"documented": true,
|
|
4930
4786
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
4931
4787
|
},
|
|
4932
4788
|
"options": {
|
|
4933
|
-
"description": "This key defines options that are specific to Code Inputs.",
|
|
4934
4789
|
"type": "object",
|
|
4935
4790
|
"properties": {
|
|
4936
4791
|
"tab_size": {
|
|
@@ -4981,6 +4836,33 @@
|
|
|
4981
4836
|
"min_length_message": {
|
|
4982
4837
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
4983
4838
|
},
|
|
4839
|
+
"max_words": {
|
|
4840
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
4841
|
+
},
|
|
4842
|
+
"max_words_message": {
|
|
4843
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
4844
|
+
},
|
|
4845
|
+
"min_words": {
|
|
4846
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
4847
|
+
},
|
|
4848
|
+
"min_words_message": {
|
|
4849
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
4850
|
+
},
|
|
4851
|
+
"max_graphemes": {
|
|
4852
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
4853
|
+
},
|
|
4854
|
+
"max_graphemes_message": {
|
|
4855
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
4856
|
+
},
|
|
4857
|
+
"min_graphemes": {
|
|
4858
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
4859
|
+
},
|
|
4860
|
+
"min_graphemes_message": {
|
|
4861
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
4862
|
+
},
|
|
4863
|
+
"locale": {
|
|
4864
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
4865
|
+
},
|
|
4984
4866
|
"pattern": {
|
|
4985
4867
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
4986
4868
|
},
|
|
@@ -5032,6 +4914,7 @@
|
|
|
5032
4914
|
}
|
|
5033
4915
|
},
|
|
5034
4916
|
"additionalProperties": false,
|
|
4917
|
+
"description": "This key defines options that are specific to Code Inputs.",
|
|
5035
4918
|
"documented": true,
|
|
5036
4919
|
"title": "options",
|
|
5037
4920
|
"markdownDescription": "This key defines options that are specific to Code Inputs."
|
|
@@ -5041,6 +4924,8 @@
|
|
|
5041
4924
|
"type"
|
|
5042
4925
|
],
|
|
5043
4926
|
"additionalProperties": false,
|
|
4927
|
+
"title": "Code Input",
|
|
4928
|
+
"description": "This key defines an editing interface for code or mono-spaced plain text content.",
|
|
5044
4929
|
"documented": true,
|
|
5045
4930
|
"markdownDescription": "This key defines an editing interface for code or mono-spaced plain text content."
|
|
5046
4931
|
},
|
|
@@ -5077,8 +4962,6 @@
|
|
|
5077
4962
|
"title": "theme(theme)"
|
|
5078
4963
|
},
|
|
5079
4964
|
"Syntax": {
|
|
5080
|
-
"title": "Syntax",
|
|
5081
|
-
"description": "Available syntax highlighting languages for code editors in CloudCannon.",
|
|
5082
4965
|
"type": "string",
|
|
5083
4966
|
"enum": [
|
|
5084
4967
|
"c_cpp",
|
|
@@ -5150,12 +5033,12 @@
|
|
|
5150
5033
|
"xquery",
|
|
5151
5034
|
"yaml"
|
|
5152
5035
|
],
|
|
5036
|
+
"title": "Syntax",
|
|
5037
|
+
"description": "Available syntax highlighting languages for code editors in CloudCannon.",
|
|
5153
5038
|
"documented": false,
|
|
5154
5039
|
"markdownDescription": "Available syntax highlighting languages for code editors in CloudCannon."
|
|
5155
5040
|
},
|
|
5156
5041
|
"ColorInput": {
|
|
5157
|
-
"title": "Color Input",
|
|
5158
|
-
"description": "This key defines an editing interface for color values.",
|
|
5159
5042
|
"type": "object",
|
|
5160
5043
|
"properties": {
|
|
5161
5044
|
"comment": {
|
|
@@ -5200,15 +5083,14 @@
|
|
|
5200
5083
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5201
5084
|
},
|
|
5202
5085
|
"type": {
|
|
5203
|
-
"title": "Type",
|
|
5204
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5205
5086
|
"type": "string",
|
|
5206
5087
|
"const": "color",
|
|
5088
|
+
"title": "Type",
|
|
5089
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5207
5090
|
"documented": true,
|
|
5208
5091
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5209
5092
|
},
|
|
5210
5093
|
"options": {
|
|
5211
|
-
"description": "This key defines options that are specific to Color Inputs.",
|
|
5212
5094
|
"type": "object",
|
|
5213
5095
|
"properties": {
|
|
5214
5096
|
"max_length": {
|
|
@@ -5223,6 +5105,33 @@
|
|
|
5223
5105
|
"min_length_message": {
|
|
5224
5106
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5225
5107
|
},
|
|
5108
|
+
"max_words": {
|
|
5109
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5110
|
+
},
|
|
5111
|
+
"max_words_message": {
|
|
5112
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5113
|
+
},
|
|
5114
|
+
"min_words": {
|
|
5115
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5116
|
+
},
|
|
5117
|
+
"min_words_message": {
|
|
5118
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5119
|
+
},
|
|
5120
|
+
"max_graphemes": {
|
|
5121
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5122
|
+
},
|
|
5123
|
+
"max_graphemes_message": {
|
|
5124
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5125
|
+
},
|
|
5126
|
+
"min_graphemes": {
|
|
5127
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5128
|
+
},
|
|
5129
|
+
"min_graphemes_message": {
|
|
5130
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5131
|
+
},
|
|
5132
|
+
"locale": {
|
|
5133
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5134
|
+
},
|
|
5226
5135
|
"pattern": {
|
|
5227
5136
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5228
5137
|
},
|
|
@@ -5291,6 +5200,7 @@
|
|
|
5291
5200
|
}
|
|
5292
5201
|
},
|
|
5293
5202
|
"additionalProperties": false,
|
|
5203
|
+
"description": "This key defines options that are specific to Color Inputs.",
|
|
5294
5204
|
"documented": true,
|
|
5295
5205
|
"title": "options",
|
|
5296
5206
|
"markdownDescription": "This key defines options that are specific to Color Inputs."
|
|
@@ -5300,12 +5210,12 @@
|
|
|
5300
5210
|
"type"
|
|
5301
5211
|
],
|
|
5302
5212
|
"additionalProperties": false,
|
|
5213
|
+
"title": "Color Input",
|
|
5214
|
+
"description": "This key defines an editing interface for color values.",
|
|
5303
5215
|
"documented": true,
|
|
5304
5216
|
"markdownDescription": "This key defines an editing interface for color values."
|
|
5305
5217
|
},
|
|
5306
5218
|
"BooleanInput": {
|
|
5307
|
-
"title": "Boolean Input",
|
|
5308
|
-
"description": "This key defines an editing interface for true or false values.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input*.\n\n```yaml\n_inputs:\n featured:\n type: switch\n label: Featured\n```",
|
|
5309
5219
|
"type": "object",
|
|
5310
5220
|
"properties": {
|
|
5311
5221
|
"comment": {
|
|
@@ -5350,13 +5260,13 @@
|
|
|
5350
5260
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5351
5261
|
},
|
|
5352
5262
|
"type": {
|
|
5353
|
-
"title": "Type",
|
|
5354
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input* type.\n\n```yaml\n_inputs:\n featured:\n type: switch\n```",
|
|
5355
5263
|
"type": "string",
|
|
5356
5264
|
"enum": [
|
|
5357
5265
|
"checkbox",
|
|
5358
5266
|
"switch"
|
|
5359
5267
|
],
|
|
5268
|
+
"title": "Type",
|
|
5269
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input* type.\n\n```yaml\n_inputs:\n featured:\n type: switch\n```",
|
|
5360
5270
|
"documented": true,
|
|
5361
5271
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input* type.\n\n```yaml\n_inputs:\n featured:\n type: switch\n```"
|
|
5362
5272
|
}
|
|
@@ -5365,12 +5275,12 @@
|
|
|
5365
5275
|
"type"
|
|
5366
5276
|
],
|
|
5367
5277
|
"additionalProperties": false,
|
|
5278
|
+
"title": "Boolean Input",
|
|
5279
|
+
"description": "This key defines an editing interface for true or false values.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input*.\n\n```yaml\n_inputs:\n featured:\n type: switch\n label: Featured\n```",
|
|
5368
5280
|
"documented": true,
|
|
5369
5281
|
"markdownDescription": "This key defines an editing interface for true or false values.\n\n## Examples\n\nIn this example, we have configured the `featured` key as a *Boolean Input*.\n\n```yaml\n_inputs:\n featured:\n type: switch\n label: Featured\n```"
|
|
5370
5282
|
},
|
|
5371
5283
|
"NumberInput": {
|
|
5372
|
-
"title": "Number Input",
|
|
5373
|
-
"description": "This key defines an editing interface for numeric values.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input*.\n\n```yaml\n_inputs:\n quantity:\n type: number\n label: Quantity\n```",
|
|
5374
5284
|
"type": "object",
|
|
5375
5285
|
"properties": {
|
|
5376
5286
|
"comment": {
|
|
@@ -5415,15 +5325,14 @@
|
|
|
5415
5325
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5416
5326
|
},
|
|
5417
5327
|
"type": {
|
|
5418
|
-
"title": "Type",
|
|
5419
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input* type.\n\n```yaml\n_inputs:\n quantity:\n type: number\n```",
|
|
5420
5328
|
"type": "string",
|
|
5421
5329
|
"const": "number",
|
|
5330
|
+
"title": "Type",
|
|
5331
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input* type.\n\n```yaml\n_inputs:\n quantity:\n type: number\n```",
|
|
5422
5332
|
"documented": true,
|
|
5423
5333
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input* type.\n\n```yaml\n_inputs:\n quantity:\n type: number\n```"
|
|
5424
5334
|
},
|
|
5425
5335
|
"options": {
|
|
5426
|
-
"description": "This key defines options that are specific to Number Inputs.\n\n## Examples\n\nIn this example, we have configured *Number Input* options including min and max values.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n min: 1\n max: 100\n```",
|
|
5427
5336
|
"type": "object",
|
|
5428
5337
|
"properties": {
|
|
5429
5338
|
"required": {
|
|
@@ -5470,6 +5379,7 @@
|
|
|
5470
5379
|
}
|
|
5471
5380
|
},
|
|
5472
5381
|
"additionalProperties": false,
|
|
5382
|
+
"description": "This key defines options that are specific to Number Inputs.\n\n## Examples\n\nIn this example, we have configured *Number Input* options including min and max values.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n min: 1\n max: 100\n```",
|
|
5473
5383
|
"documented": true,
|
|
5474
5384
|
"title": "options",
|
|
5475
5385
|
"markdownDescription": "This key defines options that are specific to Number Inputs.\n\n## Examples\n\nIn this example, we have configured *Number Input* options including min and max values.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n min: 1\n max: 100\n```"
|
|
@@ -5479,12 +5389,14 @@
|
|
|
5479
5389
|
"type"
|
|
5480
5390
|
],
|
|
5481
5391
|
"additionalProperties": false,
|
|
5392
|
+
"title": "Number Input",
|
|
5393
|
+
"description": "This key defines an editing interface for numeric values.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input*.\n\n```yaml\n_inputs:\n quantity:\n type: number\n label: Quantity\n```",
|
|
5482
5394
|
"documented": true,
|
|
5483
5395
|
"markdownDescription": "This key defines an editing interface for numeric values.\n\n## Examples\n\nIn this example, we have configured the `quantity` key as a *Number Input*.\n\n```yaml\n_inputs:\n quantity:\n type: number\n label: Quantity\n```"
|
|
5484
5396
|
},
|
|
5485
5397
|
"type._inputs.*.options.empty_type(number)": {
|
|
5486
|
-
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty number values will be saved.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n empty_type: number\n```",
|
|
5487
5398
|
"default": "null",
|
|
5399
|
+
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty number values will be saved.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n empty_type: number\n```",
|
|
5488
5400
|
"type": "string",
|
|
5489
5401
|
"enum": [
|
|
5490
5402
|
"null",
|
|
@@ -5495,15 +5407,15 @@
|
|
|
5495
5407
|
"markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty number values will be saved.\n\n```yaml\n_inputs:\n quantity:\n type: number\n options:\n empty_type: number\n```"
|
|
5496
5408
|
},
|
|
5497
5409
|
"type._inputs.*.options.min": {
|
|
5498
|
-
"description": "This key defines the minimum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a lesser numerical value.\n\nIf the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any number.\n\nIf `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a minimum rating of one.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
|
|
5499
5410
|
"type": "number",
|
|
5411
|
+
"description": "This key defines the minimum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a lesser numerical value.\n\nIf the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any number.\n\nIf `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a minimum rating of one.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
|
|
5500
5412
|
"documented": true,
|
|
5501
5413
|
"title": "min",
|
|
5502
5414
|
"markdownDescription": "This key defines the minimum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a lesser numerical value.\n\nIf the Input already contains a lesser numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any number.\n\nIf `options.max` is also configured, this key cannot be a greater number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a minimum rating of one.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```"
|
|
5503
5415
|
},
|
|
5504
5416
|
"type._inputs.*.options.max": {
|
|
5505
|
-
"description": "This key defines the maximum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a greater numerical value.\n\nIf the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any integer.\n\nIf `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a maximum rating of five.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
|
|
5506
5417
|
"type": "number",
|
|
5418
|
+
"description": "This key defines the maximum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a greater numerical value.\n\nIf the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any integer.\n\nIf `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a maximum rating of five.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```",
|
|
5507
5419
|
"documented": true,
|
|
5508
5420
|
"title": "max",
|
|
5509
5421
|
"markdownDescription": "This key defines the maximum numerical value CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from entering a greater numerical value.\n\nIf the Input already contains a greater numerical value, CloudCannon will require you to enter a valid value to save your changes, or discard your\nunsaved changes.\n\nThis key is required for `range` inputs.\n\nValue can be any integer.\n\nIf `options.min` is also configured, this key cannot be a lesser number.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we want to add a rating out of five for each article in our travel blog using the `rating` Input. This Input limits you to a maximum rating of five.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n min: 1\n```"
|
|
@@ -5530,8 +5442,6 @@
|
|
|
5530
5442
|
"markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.max`.\nThis key requires you to define `options.max`.\n\nThis key has no default.\n\nThis key is available for Number Inputs.\n\n## Examples\n\nIn this example, we prompt our team to enter a valid number using a custom message.\n\n```yaml\n_inputs:\n rating:\n type: number\n comment: How highly did you rate this experience?\n options:\n max: 5\n max_message: Cannot be more than 5\n min: 1\n min_message: Cannot be less than 1\n```"
|
|
5531
5443
|
},
|
|
5532
5444
|
"RangeInput": {
|
|
5533
|
-
"title": "Range Input",
|
|
5534
|
-
"description": "This key defines a slider interface for selecting a numeric value.",
|
|
5535
5445
|
"type": "object",
|
|
5536
5446
|
"properties": {
|
|
5537
5447
|
"comment": {
|
|
@@ -5576,15 +5486,14 @@
|
|
|
5576
5486
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5577
5487
|
},
|
|
5578
5488
|
"type": {
|
|
5579
|
-
"title": "Type",
|
|
5580
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5581
5489
|
"type": "string",
|
|
5582
5490
|
"const": "range",
|
|
5491
|
+
"title": "Type",
|
|
5492
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5583
5493
|
"documented": true,
|
|
5584
5494
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5585
5495
|
},
|
|
5586
5496
|
"options": {
|
|
5587
|
-
"description": "This key defines options that are specific to Range Inputs.",
|
|
5588
5497
|
"type": "object",
|
|
5589
5498
|
"properties": {
|
|
5590
5499
|
"required": {
|
|
@@ -5623,6 +5532,7 @@
|
|
|
5623
5532
|
"max"
|
|
5624
5533
|
],
|
|
5625
5534
|
"additionalProperties": false,
|
|
5535
|
+
"description": "This key defines options that are specific to Range Inputs.",
|
|
5626
5536
|
"documented": true,
|
|
5627
5537
|
"title": "options",
|
|
5628
5538
|
"markdownDescription": "This key defines options that are specific to Range Inputs."
|
|
@@ -5632,12 +5542,12 @@
|
|
|
5632
5542
|
"type"
|
|
5633
5543
|
],
|
|
5634
5544
|
"additionalProperties": false,
|
|
5545
|
+
"title": "Range Input",
|
|
5546
|
+
"description": "This key defines a slider interface for selecting a numeric value.",
|
|
5635
5547
|
"documented": true,
|
|
5636
5548
|
"markdownDescription": "This key defines a slider interface for selecting a numeric value."
|
|
5637
5549
|
},
|
|
5638
5550
|
"RichTextInput": {
|
|
5639
|
-
"title": "Rich Text Input",
|
|
5640
|
-
"description": "This key defines an editing interface for HTML markup content.",
|
|
5641
5551
|
"type": "object",
|
|
5642
5552
|
"properties": {
|
|
5643
5553
|
"comment": {
|
|
@@ -5682,18 +5592,17 @@
|
|
|
5682
5592
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5683
5593
|
},
|
|
5684
5594
|
"type": {
|
|
5685
|
-
"title": "Type",
|
|
5686
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5687
5595
|
"type": "string",
|
|
5688
5596
|
"enum": [
|
|
5689
5597
|
"html",
|
|
5690
5598
|
"markdown"
|
|
5691
5599
|
],
|
|
5600
|
+
"title": "Type",
|
|
5601
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5692
5602
|
"documented": true,
|
|
5693
5603
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5694
5604
|
},
|
|
5695
5605
|
"options": {
|
|
5696
|
-
"description": "This key defines options that are specific to Rich Text Inputs.",
|
|
5697
5606
|
"type": "object",
|
|
5698
5607
|
"properties": {
|
|
5699
5608
|
"mime_type": {
|
|
@@ -5846,6 +5755,33 @@
|
|
|
5846
5755
|
"min_length_message": {
|
|
5847
5756
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5848
5757
|
},
|
|
5758
|
+
"max_words": {
|
|
5759
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5760
|
+
},
|
|
5761
|
+
"max_words_message": {
|
|
5762
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5763
|
+
},
|
|
5764
|
+
"min_words": {
|
|
5765
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5766
|
+
},
|
|
5767
|
+
"min_words_message": {
|
|
5768
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5769
|
+
},
|
|
5770
|
+
"max_graphemes": {
|
|
5771
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5772
|
+
},
|
|
5773
|
+
"max_graphemes_message": {
|
|
5774
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5775
|
+
},
|
|
5776
|
+
"min_graphemes": {
|
|
5777
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5778
|
+
},
|
|
5779
|
+
"min_graphemes_message": {
|
|
5780
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5781
|
+
},
|
|
5782
|
+
"locale": {
|
|
5783
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5784
|
+
},
|
|
5849
5785
|
"pattern": {
|
|
5850
5786
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5851
5787
|
},
|
|
@@ -5871,12 +5807,20 @@
|
|
|
5871
5807
|
"title": "empty_type"
|
|
5872
5808
|
},
|
|
5873
5809
|
"allow_resize": {
|
|
5874
|
-
"
|
|
5875
|
-
"default": false,
|
|
5810
|
+
"deprecated": true,
|
|
5876
5811
|
"type": "boolean",
|
|
5877
5812
|
"documented": true,
|
|
5878
5813
|
"title": "allow_resize",
|
|
5879
|
-
"
|
|
5814
|
+
"description": "This key is deprecated. Use `preview_resize` instead.\n\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown).",
|
|
5815
|
+
"markdownDescription": "This key is deprecated. Use `preview_resize` instead.\n\nThis key toggles whether CloudCannon will show the resize handler to vertically resize the input.\n\nSetting this key to `false` will hide the resize handler.\n\nBy default, this key is `true` (i.e., the resize handler is shown)."
|
|
5816
|
+
},
|
|
5817
|
+
"prevent_resize": {
|
|
5818
|
+
"description": "Shows or hides the resize handler to vertically resize the input.",
|
|
5819
|
+
"default": false,
|
|
5820
|
+
"type": "boolean",
|
|
5821
|
+
"documented": true,
|
|
5822
|
+
"title": "prevent_resize",
|
|
5823
|
+
"markdownDescription": "Shows or hides the resize handler to vertically resize the input."
|
|
5880
5824
|
},
|
|
5881
5825
|
"initial_height": {
|
|
5882
5826
|
"description": "This key defines the initial height of this input in pixels (px).",
|
|
@@ -5887,6 +5831,7 @@
|
|
|
5887
5831
|
}
|
|
5888
5832
|
},
|
|
5889
5833
|
"additionalProperties": false,
|
|
5834
|
+
"description": "This key defines options that are specific to Rich Text Inputs.",
|
|
5890
5835
|
"documented": true,
|
|
5891
5836
|
"title": "options",
|
|
5892
5837
|
"markdownDescription": "This key defines options that are specific to Rich Text Inputs."
|
|
@@ -5896,6 +5841,8 @@
|
|
|
5896
5841
|
"type"
|
|
5897
5842
|
],
|
|
5898
5843
|
"additionalProperties": false,
|
|
5844
|
+
"title": "Rich Text Input",
|
|
5845
|
+
"description": "This key defines an editing interface for HTML markup content.",
|
|
5899
5846
|
"documented": true,
|
|
5900
5847
|
"markdownDescription": "This key defines an editing interface for HTML markup content."
|
|
5901
5848
|
},
|
|
@@ -5985,8 +5932,8 @@
|
|
|
5985
5932
|
"type": "object",
|
|
5986
5933
|
"properties": {
|
|
5987
5934
|
"size": {
|
|
5988
|
-
"description": "This key defines a number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input* to create a 2x relative size image.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n```",
|
|
5989
5935
|
"type": "string",
|
|
5936
|
+
"description": "This key defines a number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input* to create a 2x relative size image.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n```",
|
|
5990
5937
|
"documented": true,
|
|
5991
5938
|
"title": "size",
|
|
5992
5939
|
"markdownDescription": "This key defines a number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w).\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input* to create a 2x relative size image.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n```"
|
|
@@ -6012,7 +5959,6 @@
|
|
|
6012
5959
|
"markdownDescription": "This key defines definitions for creating additional images of different sizes when uploading or selecting existing files.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to create additional images of different sizes when uploading or selecting files.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n - size: 3x\n```"
|
|
6013
5960
|
},
|
|
6014
5961
|
"type.paths": {
|
|
6015
|
-
"title": "Paths",
|
|
6016
5962
|
"type": "object",
|
|
6017
5963
|
"properties": {
|
|
6018
5964
|
"static": {
|
|
@@ -6038,6 +5984,7 @@
|
|
|
6038
5984
|
}
|
|
6039
5985
|
},
|
|
6040
5986
|
"additionalProperties": false,
|
|
5987
|
+
"title": "Paths",
|
|
6041
5988
|
"documented": true,
|
|
6042
5989
|
"description": "This key defines paths for your Rich Text editors or File inputs.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `paths` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured paths for the `blog` Collection to set custom upload and static paths.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads: /uploads/blog/\n static: /assets/\n```",
|
|
6043
5990
|
"markdownDescription": "This key defines paths for your Rich Text editors or File inputs.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `paths` will default to any\nvalues configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\n## Examples\n\nIn this example, we have configured paths for the `blog` Collection to set custom upload and static paths.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads: /uploads/blog/\n static: /assets/\n```"
|
|
@@ -6328,11 +6275,11 @@
|
|
|
6328
6275
|
"markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a [Snippet](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), if any are available.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a Snippet."
|
|
6329
6276
|
},
|
|
6330
6277
|
"type._editables.*.styles": {
|
|
6331
|
-
"description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\
|
|
6278
|
+
"description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn 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.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```",
|
|
6332
6279
|
"type": "string",
|
|
6333
6280
|
"documented": true,
|
|
6334
6281
|
"title": "styles",
|
|
6335
|
-
"markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\
|
|
6282
|
+
"markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn 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.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```"
|
|
6336
6283
|
},
|
|
6337
6284
|
"type._editables.*.table": {
|
|
6338
6285
|
"description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a table.\n\nSetting this key to `true` will 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.",
|
|
@@ -6359,8 +6306,6 @@
|
|
|
6359
6306
|
"markdownDescription": "This 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.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to merge a list item with the item below it."
|
|
6360
6307
|
},
|
|
6361
6308
|
"DateInput": {
|
|
6362
|
-
"title": "Date/Datetime Input",
|
|
6363
|
-
"description": "This key defines an editing interface for date and/or time values.",
|
|
6364
6309
|
"type": "object",
|
|
6365
6310
|
"properties": {
|
|
6366
6311
|
"comment": {
|
|
@@ -6405,18 +6350,17 @@
|
|
|
6405
6350
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
6406
6351
|
},
|
|
6407
6352
|
"type": {
|
|
6408
|
-
"title": "Type",
|
|
6409
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
6410
6353
|
"type": "string",
|
|
6411
6354
|
"enum": [
|
|
6412
6355
|
"date",
|
|
6413
6356
|
"datetime"
|
|
6414
6357
|
],
|
|
6358
|
+
"title": "Type",
|
|
6359
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
6415
6360
|
"documented": true,
|
|
6416
6361
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
6417
6362
|
},
|
|
6418
6363
|
"options": {
|
|
6419
|
-
"description": "This key defines options that are specific to Date Inputs.",
|
|
6420
6364
|
"type": "object",
|
|
6421
6365
|
"properties": {
|
|
6422
6366
|
"required": {
|
|
@@ -6449,10 +6393,10 @@
|
|
|
6449
6393
|
"description": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting an earlier date and time.\n\nIf the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard\nyour unsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nThe value can have quotation marks or no quotation marks.\n\nIf `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.\n\n## Examples\n\nIn this example, we want our team to enter the date and time of an event in the `2022_event` Input. This Input will only allow dates on or after January 1st, 2022.\n\n```yaml\n_inputs:\n 2022_event:\n type: datetime\n options:\n start_from: 2022-01-01T00:00:00Z\n end_before: 2023-01-01T00:00:00Z\n```",
|
|
6450
6394
|
"anyOf": [
|
|
6451
6395
|
{
|
|
6452
|
-
"title": "String Start From",
|
|
6453
6396
|
"type": "string",
|
|
6454
6397
|
"format": "date-time",
|
|
6455
6398
|
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z||([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
|
|
6399
|
+
"title": "String Start From",
|
|
6456
6400
|
"documented": true,
|
|
6457
6401
|
"description": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting an earlier date and time.\n\nIf the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard\nyour unsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format and should be in quotes.\n\nIf `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.",
|
|
6458
6402
|
"markdownDescription": "This key defines the earliest date and time, inclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting an earlier date and time.\n\nIf the Input already contains an earlier date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard\nyour unsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format and should be in quotes.\n\nIf `options.end_before` is also configured, this key cannot be a later date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs."
|
|
@@ -6479,10 +6423,10 @@
|
|
|
6479
6423
|
"description": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting a later date and time.\n\nIf the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your\nunsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nThe value can have quotation marks or no quotation marks.\n\nIf `options.start_from` is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.\n\n## Examples\n\nIn this example, we want our team to enter the date and time of an event in the `2022_event` Input. This Input will only allow dates before January 1st, 2023.\n\n```yaml\n_inputs:\n 2022_event:\n type: datetime\n options:\n start_from: 2022-01-01T00:00:00Z\n end_before: 2023-01-01T00:00:00Z\n```",
|
|
6480
6424
|
"anyOf": [
|
|
6481
6425
|
{
|
|
6482
|
-
"title": "String End Before",
|
|
6483
6426
|
"type": "string",
|
|
6484
6427
|
"format": "date-time",
|
|
6485
6428
|
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z||([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
|
|
6429
|
+
"title": "String End Before",
|
|
6486
6430
|
"documented": true,
|
|
6487
6431
|
"description": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting a later date and time.\n\nIf the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your\nunsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nIf `options.start_from` is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs.",
|
|
6488
6432
|
"markdownDescription": "This key defines the date and time, exclusive, that CloudCannon will allow in an Input.\n\nWhen configured, CloudCannon will prevent you from selecting a later date and time.\n\nIf the Input already contains a later date and time, CloudCannon will require you to change it to a valid value to save your changes, or discard your\nunsaved changes.\n\nValue must be in [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) format.\n\nIf `options.start_from` is also configured, this key cannot be an earlier date and time.\n\nThis key has no default.\n\nThis key is available for Date and Time Inputs."
|
|
@@ -6507,6 +6451,7 @@
|
|
|
6507
6451
|
}
|
|
6508
6452
|
},
|
|
6509
6453
|
"additionalProperties": false,
|
|
6454
|
+
"description": "This key defines options that are specific to Date Inputs.",
|
|
6510
6455
|
"documented": true,
|
|
6511
6456
|
"title": "options",
|
|
6512
6457
|
"markdownDescription": "This key defines options that are specific to Date Inputs."
|
|
@@ -6516,11 +6461,12 @@
|
|
|
6516
6461
|
"type"
|
|
6517
6462
|
],
|
|
6518
6463
|
"additionalProperties": false,
|
|
6464
|
+
"title": "Date/Datetime Input",
|
|
6465
|
+
"description": "This key defines an editing interface for date and/or time values.",
|
|
6519
6466
|
"documented": true,
|
|
6520
6467
|
"markdownDescription": "This key defines an editing interface for date and/or time values."
|
|
6521
6468
|
},
|
|
6522
6469
|
"type.timezone": {
|
|
6523
|
-
"title": "Timezone",
|
|
6524
6470
|
"type": "string",
|
|
6525
6471
|
"enum": [
|
|
6526
6472
|
"Africa/Abidjan",
|
|
@@ -7119,13 +7065,12 @@
|
|
|
7119
7065
|
"WET",
|
|
7120
7066
|
"Zulu"
|
|
7121
7067
|
],
|
|
7068
|
+
"title": "Timezone",
|
|
7122
7069
|
"documented": true,
|
|
7123
7070
|
"description": "This key defines the timezone for your Site.\n\nValue must be in IANA timezone format.\n\nFor more information, please read our documentation on [Date and Time inputs](https://cloudcannon.com/documentation/articles/what-are-date-and-time-inputs/).",
|
|
7124
7071
|
"markdownDescription": "This key defines the timezone for your Site.\n\nValue must be in IANA timezone format.\n\nFor more information, please read our documentation on [Date and Time inputs](https://cloudcannon.com/documentation/articles/what-are-date-and-time-inputs/)."
|
|
7125
7072
|
},
|
|
7126
7073
|
"TimeInput": {
|
|
7127
|
-
"title": "Time Input",
|
|
7128
|
-
"description": "This key defines an editing interface for time values only.",
|
|
7129
7074
|
"type": "object",
|
|
7130
7075
|
"properties": {
|
|
7131
7076
|
"comment": {
|
|
@@ -7170,15 +7115,14 @@
|
|
|
7170
7115
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7171
7116
|
},
|
|
7172
7117
|
"type": {
|
|
7173
|
-
"title": "Type",
|
|
7174
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7175
7118
|
"type": "string",
|
|
7176
7119
|
"const": "time",
|
|
7120
|
+
"title": "Type",
|
|
7121
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7177
7122
|
"documented": true,
|
|
7178
7123
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7179
7124
|
},
|
|
7180
7125
|
"options": {
|
|
7181
|
-
"description": "This key defines options that are specific to Time Inputs.",
|
|
7182
7126
|
"type": "object",
|
|
7183
7127
|
"properties": {
|
|
7184
7128
|
"required": {
|
|
@@ -7198,6 +7142,7 @@
|
|
|
7198
7142
|
}
|
|
7199
7143
|
},
|
|
7200
7144
|
"additionalProperties": false,
|
|
7145
|
+
"description": "This key defines options that are specific to Time Inputs.",
|
|
7201
7146
|
"documented": true,
|
|
7202
7147
|
"title": "options",
|
|
7203
7148
|
"markdownDescription": "This key defines options that are specific to Time Inputs."
|
|
@@ -7207,12 +7152,12 @@
|
|
|
7207
7152
|
"type"
|
|
7208
7153
|
],
|
|
7209
7154
|
"additionalProperties": false,
|
|
7155
|
+
"title": "Time Input",
|
|
7156
|
+
"description": "This key defines an editing interface for time values only.",
|
|
7210
7157
|
"documented": true,
|
|
7211
7158
|
"markdownDescription": "This key defines an editing interface for time values only."
|
|
7212
7159
|
},
|
|
7213
7160
|
"FileInput": {
|
|
7214
|
-
"title": "File Input",
|
|
7215
|
-
"description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
|
|
7216
7161
|
"type": "object",
|
|
7217
7162
|
"properties": {
|
|
7218
7163
|
"comment": {
|
|
@@ -7257,19 +7202,18 @@
|
|
|
7257
7202
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7258
7203
|
},
|
|
7259
7204
|
"type": {
|
|
7260
|
-
"title": "Type",
|
|
7261
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7262
7205
|
"type": "string",
|
|
7263
7206
|
"enum": [
|
|
7264
7207
|
"file",
|
|
7265
7208
|
"document",
|
|
7266
7209
|
"image"
|
|
7267
7210
|
],
|
|
7211
|
+
"title": "Type",
|
|
7212
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7268
7213
|
"documented": true,
|
|
7269
7214
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7270
7215
|
},
|
|
7271
7216
|
"options": {
|
|
7272
|
-
"description": "This key defines options that are specific to File Inputs.",
|
|
7273
7217
|
"type": "object",
|
|
7274
7218
|
"properties": {
|
|
7275
7219
|
"mime_type": {
|
|
@@ -7311,6 +7255,33 @@
|
|
|
7311
7255
|
"min_length_message": {
|
|
7312
7256
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
7313
7257
|
},
|
|
7258
|
+
"max_words": {
|
|
7259
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
7260
|
+
},
|
|
7261
|
+
"max_words_message": {
|
|
7262
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
7263
|
+
},
|
|
7264
|
+
"min_words": {
|
|
7265
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
7266
|
+
},
|
|
7267
|
+
"min_words_message": {
|
|
7268
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
7269
|
+
},
|
|
7270
|
+
"max_graphemes": {
|
|
7271
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
7272
|
+
},
|
|
7273
|
+
"max_graphemes_message": {
|
|
7274
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
7275
|
+
},
|
|
7276
|
+
"min_graphemes": {
|
|
7277
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
7278
|
+
},
|
|
7279
|
+
"min_graphemes_message": {
|
|
7280
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
7281
|
+
},
|
|
7282
|
+
"locale": {
|
|
7283
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
7284
|
+
},
|
|
7314
7285
|
"pattern": {
|
|
7315
7286
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
7316
7287
|
},
|
|
@@ -7364,6 +7335,7 @@
|
|
|
7364
7335
|
}
|
|
7365
7336
|
},
|
|
7366
7337
|
"additionalProperties": false,
|
|
7338
|
+
"description": "This key defines options that are specific to File Inputs.",
|
|
7367
7339
|
"documented": true,
|
|
7368
7340
|
"title": "options",
|
|
7369
7341
|
"markdownDescription": "This key defines options that are specific to File Inputs."
|
|
@@ -7373,6 +7345,8 @@
|
|
|
7373
7345
|
"type"
|
|
7374
7346
|
],
|
|
7375
7347
|
"additionalProperties": false,
|
|
7348
|
+
"title": "File Input",
|
|
7349
|
+
"description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
|
|
7376
7350
|
"documented": true,
|
|
7377
7351
|
"markdownDescription": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets."
|
|
7378
7352
|
},
|
|
@@ -7380,18 +7354,18 @@
|
|
|
7380
7354
|
"description": "This key defines which file types are available to select or upload to this input.\n\nAccepted format is an array or comma-separated string of MIME types.\n\nThe special value \"*\" means any type is accepted.\n\n## Examples\n\nIn this example, we have configured a *Image Input* to accept only JPEG or PNG files.\n\n```yaml\n_inputs:\n featured_image:\n type: image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n```",
|
|
7381
7355
|
"anyOf": [
|
|
7382
7356
|
{
|
|
7383
|
-
"title": "Comma Separated Accepts Mime Types",
|
|
7384
7357
|
"type": "string",
|
|
7358
|
+
"title": "Comma Separated Accepts Mime Types",
|
|
7385
7359
|
"documented": true,
|
|
7386
7360
|
"description": "This key represents a comma-separated string format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is a string containing MIME types separated by commas. Each MIME type specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the comma-separated format when you prefer a more compact configuration or when working with a small number of MIME types.\n\nThe special value `\"*\"` means any file type is accepted.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using a comma-separated string of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types: 'image/jpeg,image/png,image/webp'\n```\n\nIn this example, we have configured a *File Input* to accept only document files using a comma-separated string of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types: 'application/pdf,application/msword'\n```\n\nIn this example, we have configured a *File Input* to accept any file type using the special `\"*\"` value.\n\n```yaml\n_inputs:\n any_file:\n type: file\n label: Any File\n options:\n accepts_mime_types: '*'\n```",
|
|
7387
7361
|
"markdownDescription": "This key represents a comma-separated string format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is a string containing MIME types separated by commas. Each MIME type specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the comma-separated format when you prefer a more compact configuration or when working with a small number of MIME types.\n\nThe special value `\"*\"` means any file type is accepted.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using a comma-separated string of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types: 'image/jpeg,image/png,image/webp'\n```\n\nIn this example, we have configured a *File Input* to accept only document files using a comma-separated string of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types: 'application/pdf,application/msword'\n```\n\nIn this example, we have configured a *File Input* to accept any file type using the special `\"*\"` value.\n\n```yaml\n_inputs:\n any_file:\n type: file\n label: Any File\n options:\n accepts_mime_types: '*'\n```"
|
|
7388
7362
|
},
|
|
7389
7363
|
{
|
|
7390
|
-
"title": "Array Accepts Mime Types",
|
|
7391
7364
|
"type": "array",
|
|
7392
7365
|
"items": {
|
|
7393
7366
|
"$ref": "#/definitions/MimeType"
|
|
7394
7367
|
},
|
|
7368
|
+
"title": "Array Accepts Mime Types",
|
|
7395
7369
|
"documented": true,
|
|
7396
7370
|
"description": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```",
|
|
7397
7371
|
"markdownDescription": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```"
|
|
@@ -7402,8 +7376,6 @@
|
|
|
7402
7376
|
"markdownDescription": "This key defines which file types are available to select or upload to this input.\n\nAccepted format is an array or comma-separated string of MIME types.\n\nThe special value \"*\" means any type is accepted.\n\n## Examples\n\nIn this example, we have configured a *Image Input* to accept only JPEG or PNG files.\n\n```yaml\n_inputs:\n featured_image:\n type: image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n```"
|
|
7403
7377
|
},
|
|
7404
7378
|
"MimeType": {
|
|
7405
|
-
"title": "Mime Type",
|
|
7406
|
-
"description": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```",
|
|
7407
7379
|
"type": "string",
|
|
7408
7380
|
"enum": [
|
|
7409
7381
|
"x-world/x-3dmf",
|
|
@@ -7840,6 +7812,8 @@
|
|
|
7840
7812
|
"multipart/x-zip",
|
|
7841
7813
|
"text/x-script.zsh"
|
|
7842
7814
|
],
|
|
7815
|
+
"title": "Mime Type",
|
|
7816
|
+
"description": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```",
|
|
7843
7817
|
"documented": true,
|
|
7844
7818
|
"markdownDescription": "This key represents an array format for the `accepts_mime_types` key that restricts which file types are available to select or upload in *File Inputs*.\n\nThe value is an array of MIME type strings. Each string specifies a file type that CloudCannon will allow for this input.\n\nAvailable MIME types include image formats (`image/x-icon`, `image/gif`, `image/jpeg`, `image/png`, `image/webp`, `image/bmp`, `image/svg+xml`) and document formats (`application/pdf`, `application/msword`, `application/vnd.openxmlformats-officedocument.wordprocessingml.document`, `application/vnd.ms-excel`, `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`, `application/vnd.ms-powerpoint`, `application/vnd.openxmlformats-officedocument.presentationml.presentation`).\n\nUse the array format when you want to explicitly list multiple MIME types, making it easier to read and maintain in your configuration.\n\n## Examples\n\nIn this example, we have configured a *File Input* to accept only image files using an array of image MIME types.\n\n```yaml\n_inputs:\n hero_image:\n type: file\n label: Hero Image\n options:\n accepts_mime_types:\n - image/jpeg\n - image/png\n - image/webp\n```\n\nIn this example, we have configured a *File Input* to accept only document files using an array of document MIME types.\n\n```yaml\n_inputs:\n document:\n type: file\n label: Document\n options:\n accepts_mime_types:\n - application/pdf\n - application/msword\n - application/vnd.openxmlformats-officedocument.wordprocessingml.document\n```"
|
|
7845
7819
|
},
|
|
@@ -7882,8 +7856,6 @@
|
|
|
7882
7856
|
"markdownDescription": "This key toggles whether CloudCannon will prevent file uploads inside the \"Select existing file/image\" file browser modal window.\n\nSetting this key to `true` will prevent file uploads inside the file browser modal window.\n\n## Examples\n\nIn this example, CloudCannon will disable the option to upload files inside the file browser modal window.\n\n```yaml\n_inputs:\n image:\n type: file\n options:\n disable_upload_file_in_file_browser: true\n```"
|
|
7883
7857
|
},
|
|
7884
7858
|
"UrlInput": {
|
|
7885
|
-
"title": "URL Input",
|
|
7886
|
-
"description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
|
|
7887
7859
|
"type": "object",
|
|
7888
7860
|
"properties": {
|
|
7889
7861
|
"comment": {
|
|
@@ -7928,15 +7900,14 @@
|
|
|
7928
7900
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7929
7901
|
},
|
|
7930
7902
|
"type": {
|
|
7931
|
-
"title": "Type",
|
|
7932
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7933
7903
|
"type": "string",
|
|
7934
7904
|
"const": "url",
|
|
7905
|
+
"title": "Type",
|
|
7906
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7935
7907
|
"documented": true,
|
|
7936
7908
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7937
7909
|
},
|
|
7938
7910
|
"options": {
|
|
7939
|
-
"description": "This key defines options that are specific to URL Inputs.",
|
|
7940
7911
|
"type": "object",
|
|
7941
7912
|
"properties": {
|
|
7942
7913
|
"mime_type": {
|
|
@@ -7978,6 +7949,33 @@
|
|
|
7978
7949
|
"min_length_message": {
|
|
7979
7950
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
7980
7951
|
},
|
|
7952
|
+
"max_words": {
|
|
7953
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
7954
|
+
},
|
|
7955
|
+
"max_words_message": {
|
|
7956
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
7957
|
+
},
|
|
7958
|
+
"min_words": {
|
|
7959
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
7960
|
+
},
|
|
7961
|
+
"min_words_message": {
|
|
7962
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
7963
|
+
},
|
|
7964
|
+
"max_graphemes": {
|
|
7965
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
7966
|
+
},
|
|
7967
|
+
"max_graphemes_message": {
|
|
7968
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
7969
|
+
},
|
|
7970
|
+
"min_graphemes": {
|
|
7971
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
7972
|
+
},
|
|
7973
|
+
"min_graphemes_message": {
|
|
7974
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
7975
|
+
},
|
|
7976
|
+
"locale": {
|
|
7977
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
7978
|
+
},
|
|
7981
7979
|
"pattern": {
|
|
7982
7980
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
7983
7981
|
},
|
|
@@ -8063,6 +8061,7 @@
|
|
|
8063
8061
|
}
|
|
8064
8062
|
},
|
|
8065
8063
|
"additionalProperties": false,
|
|
8064
|
+
"description": "This key defines options that are specific to URL Inputs.",
|
|
8066
8065
|
"documented": true,
|
|
8067
8066
|
"title": "options",
|
|
8068
8067
|
"markdownDescription": "This key defines options that are specific to URL Inputs."
|
|
@@ -8072,12 +8071,12 @@
|
|
|
8072
8071
|
"type"
|
|
8073
8072
|
],
|
|
8074
8073
|
"additionalProperties": false,
|
|
8074
|
+
"title": "URL Input",
|
|
8075
|
+
"description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
|
|
8075
8076
|
"documented": true,
|
|
8076
8077
|
"markdownDescription": "This key defines an editing interface for relative, absolute, and fully qualified URLs."
|
|
8077
8078
|
},
|
|
8078
8079
|
"SelectInput": {
|
|
8079
|
-
"title": "Select Input",
|
|
8080
|
-
"description": "This key defines an editing interface for data with multiple predefined options.\n\nSelect inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n label: Category\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8081
8080
|
"type": "object",
|
|
8082
8081
|
"properties": {
|
|
8083
8082
|
"comment": {
|
|
@@ -8122,15 +8121,14 @@
|
|
|
8122
8121
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8123
8122
|
},
|
|
8124
8123
|
"type": {
|
|
8125
|
-
"title": "Type",
|
|
8126
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input* type.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8127
8124
|
"type": "string",
|
|
8128
8125
|
"const": "select",
|
|
8126
|
+
"title": "Type",
|
|
8127
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input* type.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8129
8128
|
"documented": true,
|
|
8130
8129
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input* type.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```"
|
|
8131
8130
|
},
|
|
8132
8131
|
"options": {
|
|
8133
|
-
"description": "This key defines options that are specific to Select Inputs.\n\n## Examples\n\nIn this example, we have configured *Select Input* options including values.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8134
8132
|
"type": "object",
|
|
8135
8133
|
"properties": {
|
|
8136
8134
|
"required": {
|
|
@@ -8187,6 +8185,33 @@
|
|
|
8187
8185
|
"min_length_message": {
|
|
8188
8186
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8189
8187
|
},
|
|
8188
|
+
"max_words": {
|
|
8189
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
8190
|
+
},
|
|
8191
|
+
"max_words_message": {
|
|
8192
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
8193
|
+
},
|
|
8194
|
+
"min_words": {
|
|
8195
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
8196
|
+
},
|
|
8197
|
+
"min_words_message": {
|
|
8198
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
8199
|
+
},
|
|
8200
|
+
"max_graphemes": {
|
|
8201
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
8202
|
+
},
|
|
8203
|
+
"max_graphemes_message": {
|
|
8204
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
8205
|
+
},
|
|
8206
|
+
"min_graphemes": {
|
|
8207
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
8208
|
+
},
|
|
8209
|
+
"min_graphemes_message": {
|
|
8210
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
8211
|
+
},
|
|
8212
|
+
"locale": {
|
|
8213
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
8214
|
+
},
|
|
8190
8215
|
"pattern": {
|
|
8191
8216
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8192
8217
|
},
|
|
@@ -8207,6 +8232,7 @@
|
|
|
8207
8232
|
}
|
|
8208
8233
|
},
|
|
8209
8234
|
"additionalProperties": false,
|
|
8235
|
+
"description": "This key defines options that are specific to Select Inputs.\n\n## Examples\n\nIn this example, we have configured *Select Input* options including values.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8210
8236
|
"documented": true,
|
|
8211
8237
|
"title": "options",
|
|
8212
8238
|
"markdownDescription": "This key defines options that are specific to Select Inputs.\n\n## Examples\n\nIn this example, we have configured *Select Input* options including values.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```"
|
|
@@ -8216,6 +8242,8 @@
|
|
|
8216
8242
|
"type"
|
|
8217
8243
|
],
|
|
8218
8244
|
"additionalProperties": false,
|
|
8245
|
+
"title": "Select Input",
|
|
8246
|
+
"description": "This key defines an editing interface for data with multiple predefined options.\n\nSelect inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n label: Category\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8219
8247
|
"documented": true,
|
|
8220
8248
|
"markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nSelect inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `category` key as a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n label: Category\n options:\n values:\n - Blog\n - News\n - Events\n```"
|
|
8221
8249
|
},
|
|
@@ -8228,38 +8256,36 @@
|
|
|
8228
8256
|
"markdownDescription": "This key toggles whether CloudCannon will allow new text values to be created at edit time.\n\nSetting this key to `true` will allow new text values to be created at edit time.\n\n## Examples\n\nIn this example, CloudCannon will allow users to add new values to a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n allow_create: true\n```"
|
|
8229
8257
|
},
|
|
8230
8258
|
"type._inputs.*.options.allow_empty": {
|
|
8231
|
-
"
|
|
8232
|
-
"
|
|
8259
|
+
"deprecated": true,
|
|
8260
|
+
"description": "This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```",
|
|
8233
8261
|
"type": "boolean",
|
|
8234
8262
|
"documented": true,
|
|
8235
8263
|
"title": "allow_empty",
|
|
8236
|
-
"markdownDescription": "
|
|
8264
|
+
"markdownDescription": "This key is deprecated. If you want to prevent empty values, we recommend setting `_inputs.*.options.required` to `true` instead.\n\nThis key toggles whether CloudCannon will accept empty values, and pre-select the first option if opened with an empty value.\n\nSetting this key to `true` will allow CloudCannon to accept empty values.\n\n## Examples\n\nIn this example, CloudCannon will accept empty values for a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n allow_empty: true\n```"
|
|
8237
8265
|
},
|
|
8238
8266
|
"type._inputs.*.options.values": {
|
|
8239
8267
|
"description": "This key defines the values available to choose from.\n\nOptional, defaults to fetching values from the naming convention (e.g. `colors` or `my_colors` for data set `colors`).\n\n## Examples\n\nIn this example, we have configured a *Select Input* with custom values to choose from.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n```",
|
|
8240
8268
|
"anyOf": [
|
|
8241
8269
|
{
|
|
8270
|
+
"type": "string",
|
|
8242
8271
|
"title": "Dataset Reference Values",
|
|
8243
8272
|
"description": "This key defines a reference to a dataset.",
|
|
8244
|
-
"type": "string",
|
|
8245
8273
|
"documented": true,
|
|
8246
8274
|
"markdownDescription": "This key defines a reference to a dataset."
|
|
8247
8275
|
},
|
|
8248
8276
|
{
|
|
8249
|
-
"description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
8250
8277
|
"anyOf": [
|
|
8251
8278
|
{
|
|
8252
|
-
"title": "Text Array",
|
|
8253
8279
|
"type": "array",
|
|
8254
8280
|
"items": {
|
|
8255
8281
|
"type": "string",
|
|
8256
8282
|
"documented": false,
|
|
8257
8283
|
"title": "values(any-of-1)(text-array)[*]"
|
|
8258
8284
|
},
|
|
8285
|
+
"title": "Text Array",
|
|
8259
8286
|
"documented": false
|
|
8260
8287
|
},
|
|
8261
8288
|
{
|
|
8262
|
-
"title": "Text Object",
|
|
8263
8289
|
"type": "object",
|
|
8264
8290
|
"propertyNames": {
|
|
8265
8291
|
"type": "string"
|
|
@@ -8269,10 +8295,10 @@
|
|
|
8269
8295
|
"documented": false,
|
|
8270
8296
|
"title": "values(any-of-1)(text-object).*"
|
|
8271
8297
|
},
|
|
8298
|
+
"title": "Text Object",
|
|
8272
8299
|
"documented": false
|
|
8273
8300
|
},
|
|
8274
8301
|
{
|
|
8275
|
-
"title": "Object Array",
|
|
8276
8302
|
"type": "array",
|
|
8277
8303
|
"items": {
|
|
8278
8304
|
"type": "object",
|
|
@@ -8283,18 +8309,20 @@
|
|
|
8283
8309
|
"documented": false,
|
|
8284
8310
|
"title": "values(any-of-1)(object-array)[*]"
|
|
8285
8311
|
},
|
|
8312
|
+
"title": "Object Array",
|
|
8286
8313
|
"documented": false
|
|
8287
8314
|
},
|
|
8288
8315
|
{
|
|
8289
|
-
"title": "Object",
|
|
8290
8316
|
"type": "object",
|
|
8291
8317
|
"propertyNames": {
|
|
8292
8318
|
"type": "string"
|
|
8293
8319
|
},
|
|
8294
8320
|
"additionalProperties": {},
|
|
8321
|
+
"title": "Object",
|
|
8295
8322
|
"documented": false
|
|
8296
8323
|
}
|
|
8297
8324
|
],
|
|
8325
|
+
"description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
8298
8326
|
"documented": false,
|
|
8299
8327
|
"title": "values(any-of-1)",
|
|
8300
8328
|
"markdownDescription": "Data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
@@ -8338,8 +8366,6 @@
|
|
|
8338
8366
|
"markdownDescription": "This key defines how CloudCannon should render selectable options in the dropdown of a *Select Input*.\n\n## Examples\n\nIn this example, we have configured a *Select Input* to display options using the card view.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n - Events\n picker_view: card\n```"
|
|
8339
8367
|
},
|
|
8340
8368
|
"MultiselectInput": {
|
|
8341
|
-
"title": "Multiselect Input",
|
|
8342
|
-
"description": "This key defines an editing interface for data with multiple predefined options.\n\nMultiselect inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input*.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n label: Tags\n options:\n values:\n - featured\n - news\n - events\n```",
|
|
8343
8369
|
"type": "object",
|
|
8344
8370
|
"properties": {
|
|
8345
8371
|
"comment": {
|
|
@@ -8384,15 +8410,14 @@
|
|
|
8384
8410
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8385
8411
|
},
|
|
8386
8412
|
"type": {
|
|
8387
|
-
"title": "Type",
|
|
8388
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input* type.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n```",
|
|
8389
8413
|
"type": "string",
|
|
8390
8414
|
"const": "multiselect",
|
|
8415
|
+
"title": "Type",
|
|
8416
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input* type.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n```",
|
|
8391
8417
|
"documented": true,
|
|
8392
8418
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input* type.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n```"
|
|
8393
8419
|
},
|
|
8394
8420
|
"options": {
|
|
8395
|
-
"description": "This key defines options that are specific to Multiselect Inputs.\n\n## Examples\n\nIn this example, we have configured *Multiselect Input* options including values.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n options:\n values:\n - featured\n - news\n - events\n```",
|
|
8396
8421
|
"type": "object",
|
|
8397
8422
|
"properties": {
|
|
8398
8423
|
"required": {
|
|
@@ -8466,6 +8491,7 @@
|
|
|
8466
8491
|
}
|
|
8467
8492
|
},
|
|
8468
8493
|
"additionalProperties": false,
|
|
8494
|
+
"description": "This key defines options that are specific to Multiselect Inputs.\n\n## Examples\n\nIn this example, we have configured *Multiselect Input* options including values.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n options:\n values:\n - featured\n - news\n - events\n```",
|
|
8469
8495
|
"documented": true,
|
|
8470
8496
|
"title": "options",
|
|
8471
8497
|
"markdownDescription": "This key defines options that are specific to Multiselect Inputs.\n\n## Examples\n\nIn this example, we have configured *Multiselect Input* options including values.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n options:\n values:\n - featured\n - news\n - events\n```"
|
|
@@ -8475,6 +8501,8 @@
|
|
|
8475
8501
|
"type"
|
|
8476
8502
|
],
|
|
8477
8503
|
"additionalProperties": false,
|
|
8504
|
+
"title": "Multiselect Input",
|
|
8505
|
+
"description": "This key defines an editing interface for data with multiple predefined options.\n\nMultiselect inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input*.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n label: Tags\n options:\n values:\n - featured\n - news\n - events\n```",
|
|
8478
8506
|
"documented": true,
|
|
8479
8507
|
"markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nMultiselect inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `tags` key as a *Multiselect Input*.\n\n```yaml\n_inputs:\n tags:\n type: multiselect\n label: Tags\n options:\n values:\n - featured\n - news\n - events\n```"
|
|
8480
8508
|
},
|
|
@@ -8521,8 +8549,8 @@
|
|
|
8521
8549
|
"markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.unique_on`.\nThis key requires you to define `options.unique_on`.\n\nThis key has no default.\n\nThis key is available for Array inputs.\n\n## Examples\n\nIn this example, we want our team to add article filepaths to the `related_articles` Input. This Input requires all the filepaths to be unique.\n\n```yaml\n_inputs:\n related_articles:\n type: array\n options:\n unique_on: '$.path'\n unique_on_message: The value for path must be different for all items.\n```\n\n```yaml\nrelated_articles:\n - path: /articles/first-article.md\n featured: true\n - path: /articles/first-article.md\n featured: false\n```"
|
|
8522
8550
|
},
|
|
8523
8551
|
"type._inputs.*.options.empty_type(array)": {
|
|
8524
|
-
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty array values will be saved.\n\n```yaml\n_inputs:\n tags:\n type: array\n options:\n empty_type: array\n```",
|
|
8525
8552
|
"default": "null",
|
|
8553
|
+
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty array values will be saved.\n\n```yaml\n_inputs:\n tags:\n type: array\n options:\n empty_type: array\n```",
|
|
8526
8554
|
"type": "string",
|
|
8527
8555
|
"enum": [
|
|
8528
8556
|
"null",
|
|
@@ -8533,8 +8561,6 @@
|
|
|
8533
8561
|
"markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty array values will be saved.\n\n```yaml\n_inputs:\n tags:\n type: array\n options:\n empty_type: array\n```"
|
|
8534
8562
|
},
|
|
8535
8563
|
"ChoiceInput": {
|
|
8536
|
-
"title": "Choice Input",
|
|
8537
|
-
"description": "This key defines an editing interface for data with multiple predefined options.\n\nChoice inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input*.\n\n```yaml\n_inputs:\n status:\n type: choice\n label: Status\n options:\n values:\n - draft\n - published\n - archived\n```",
|
|
8538
8564
|
"type": "object",
|
|
8539
8565
|
"properties": {
|
|
8540
8566
|
"comment": {
|
|
@@ -8579,15 +8605,14 @@
|
|
|
8579
8605
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8580
8606
|
},
|
|
8581
8607
|
"type": {
|
|
8582
|
-
"title": "Type",
|
|
8583
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input* type.\n\n```yaml\n_inputs:\n status:\n type: choice\n```",
|
|
8584
8608
|
"type": "string",
|
|
8585
8609
|
"const": "choice",
|
|
8610
|
+
"title": "Type",
|
|
8611
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input* type.\n\n```yaml\n_inputs:\n status:\n type: choice\n```",
|
|
8586
8612
|
"documented": true,
|
|
8587
8613
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input* type.\n\n```yaml\n_inputs:\n status:\n type: choice\n```"
|
|
8588
8614
|
},
|
|
8589
8615
|
"options": {
|
|
8590
|
-
"description": "This key defines options that are specific to Choice Inputs.\n\n## Examples\n\nIn this example, we have configured *Choice Input* options including values.\n\n```yaml\n_inputs:\n status:\n type: choice\n options:\n values:\n - draft\n - published\n - archived\n```",
|
|
8591
8616
|
"type": "object",
|
|
8592
8617
|
"properties": {
|
|
8593
8618
|
"required": {
|
|
@@ -8641,6 +8666,33 @@
|
|
|
8641
8666
|
"min_length_message": {
|
|
8642
8667
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8643
8668
|
},
|
|
8669
|
+
"max_words": {
|
|
8670
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
8671
|
+
},
|
|
8672
|
+
"max_words_message": {
|
|
8673
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
8674
|
+
},
|
|
8675
|
+
"min_words": {
|
|
8676
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
8677
|
+
},
|
|
8678
|
+
"min_words_message": {
|
|
8679
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
8680
|
+
},
|
|
8681
|
+
"max_graphemes": {
|
|
8682
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
8683
|
+
},
|
|
8684
|
+
"max_graphemes_message": {
|
|
8685
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
8686
|
+
},
|
|
8687
|
+
"min_graphemes": {
|
|
8688
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
8689
|
+
},
|
|
8690
|
+
"min_graphemes_message": {
|
|
8691
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
8692
|
+
},
|
|
8693
|
+
"locale": {
|
|
8694
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
8695
|
+
},
|
|
8644
8696
|
"pattern": {
|
|
8645
8697
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8646
8698
|
},
|
|
@@ -8661,6 +8713,7 @@
|
|
|
8661
8713
|
}
|
|
8662
8714
|
},
|
|
8663
8715
|
"additionalProperties": false,
|
|
8716
|
+
"description": "This key defines options that are specific to Choice Inputs.\n\n## Examples\n\nIn this example, we have configured *Choice Input* options including values.\n\n```yaml\n_inputs:\n status:\n type: choice\n options:\n values:\n - draft\n - published\n - archived\n```",
|
|
8664
8717
|
"documented": true,
|
|
8665
8718
|
"title": "options",
|
|
8666
8719
|
"markdownDescription": "This key defines options that are specific to Choice Inputs.\n\n## Examples\n\nIn this example, we have configured *Choice Input* options including values.\n\n```yaml\n_inputs:\n status:\n type: choice\n options:\n values:\n - draft\n - published\n - archived\n```"
|
|
@@ -8670,12 +8723,12 @@
|
|
|
8670
8723
|
"type"
|
|
8671
8724
|
],
|
|
8672
8725
|
"additionalProperties": false,
|
|
8726
|
+
"title": "Choice Input",
|
|
8727
|
+
"description": "This key defines an editing interface for data with multiple predefined options.\n\nChoice inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input*.\n\n```yaml\n_inputs:\n status:\n type: choice\n label: Status\n options:\n values:\n - draft\n - published\n - archived\n```",
|
|
8673
8728
|
"documented": true,
|
|
8674
8729
|
"markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nChoice inputs only allow one value.\n\n## Examples\n\nIn this example, we have configured the `status` key as a *Choice Input*.\n\n```yaml\n_inputs:\n status:\n type: choice\n label: Status\n options:\n values:\n - draft\n - published\n - archived\n```"
|
|
8675
8730
|
},
|
|
8676
8731
|
"MultichoiceInput": {
|
|
8677
|
-
"title": "Multichoice Input",
|
|
8678
|
-
"description": "This key defines an editing interface for data with multiple predefined options.\n\nMultichoice inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input*.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n label: Categories\n options:\n values:\n - technology\n - design\n - business\n```",
|
|
8679
8732
|
"type": "object",
|
|
8680
8733
|
"properties": {
|
|
8681
8734
|
"comment": {
|
|
@@ -8720,15 +8773,14 @@
|
|
|
8720
8773
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8721
8774
|
},
|
|
8722
8775
|
"type": {
|
|
8723
|
-
"title": "Type",
|
|
8724
|
-
"description": "This key defines the type of editing interface used for an Input.\n\nEach Input type has a different appearance and functionality, processes and accepts different types of values, and has different configuration\noptions.\n\nValue can be one of the following: `auto`, `checkbox`, `switch`, `code`, `color`, `datetime`, `date`, `time`, `file`, `document`, `image`, `number`,\n`range`, `object`, `array`, `select`, `multiselect`, `choice`, `multichoice`, `text`, `textarea`, `email`, `html`, `markdown`, or `url`.\n\nIf the type or value of an Input is misconfigured, CloudCannon will display an orange warning instead of an Input.\n\nIf type is not configured for an Input, CloudCannon will attempt to determine Input type based on value or key name conventions.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input* type.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n```",
|
|
8725
8776
|
"type": "string",
|
|
8726
8777
|
"const": "multichoice",
|
|
8778
|
+
"title": "Type",
|
|
8779
|
+
"description": "This key defines the type of editing interface used for an Input.\n\nEach Input type has a different appearance and functionality, processes and accepts different types of values, and has different configuration\noptions.\n\nValue can be one of the following: `auto`, `checkbox`, `switch`, `code`, `color`, `datetime`, `date`, `time`, `file`, `document`, `image`, `number`,\n`range`, `object`, `array`, `select`, `multiselect`, `choice`, `multichoice`, `text`, `textarea`, `email`, `html`, `markdown`, or `url`.\n\nIf the type or value of an Input is misconfigured, CloudCannon will display an orange warning instead of an Input.\n\nIf type is not configured for an Input, CloudCannon will attempt to determine Input type based on value or key name conventions.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input* type.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n```",
|
|
8727
8780
|
"documented": true,
|
|
8728
8781
|
"markdownDescription": "This key defines the type of editing interface used for an Input.\n\nEach Input type has a different appearance and functionality, processes and accepts different types of values, and has different configuration\noptions.\n\nValue can be one of the following: `auto`, `checkbox`, `switch`, `code`, `color`, `datetime`, `date`, `time`, `file`, `document`, `image`, `number`,\n`range`, `object`, `array`, `select`, `multiselect`, `choice`, `multichoice`, `text`, `textarea`, `email`, `html`, `markdown`, or `url`.\n\nIf the type or value of an Input is misconfigured, CloudCannon will display an orange warning instead of an Input.\n\nIf type is not configured for an Input, CloudCannon will attempt to determine Input type based on value or key name conventions.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input* type.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n```"
|
|
8729
8782
|
},
|
|
8730
8783
|
"options": {
|
|
8731
|
-
"description": "This key defines options that are specific to Multichoice Inputs.\n\n## Examples\n\nIn this example, we have configured *Multichoice Input* options including values.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n options:\n values:\n - technology\n - design\n - business\n```",
|
|
8732
8784
|
"type": "object",
|
|
8733
8785
|
"properties": {
|
|
8734
8786
|
"required": {
|
|
@@ -8799,6 +8851,7 @@
|
|
|
8799
8851
|
}
|
|
8800
8852
|
},
|
|
8801
8853
|
"additionalProperties": false,
|
|
8854
|
+
"description": "This key defines options that are specific to Multichoice Inputs.\n\n## Examples\n\nIn this example, we have configured *Multichoice Input* options including values.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n options:\n values:\n - technology\n - design\n - business\n```",
|
|
8802
8855
|
"documented": true,
|
|
8803
8856
|
"title": "options",
|
|
8804
8857
|
"markdownDescription": "This key defines options that are specific to Multichoice Inputs.\n\n## Examples\n\nIn this example, we have configured *Multichoice Input* options including values.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n options:\n values:\n - technology\n - design\n - business\n```"
|
|
@@ -8808,12 +8861,12 @@
|
|
|
8808
8861
|
"type"
|
|
8809
8862
|
],
|
|
8810
8863
|
"additionalProperties": false,
|
|
8864
|
+
"title": "Multichoice Input",
|
|
8865
|
+
"description": "This key defines an editing interface for data with multiple predefined options.\n\nMultichoice inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input*.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n label: Categories\n options:\n values:\n - technology\n - design\n - business\n```",
|
|
8811
8866
|
"documented": true,
|
|
8812
8867
|
"markdownDescription": "This key defines an editing interface for data with multiple predefined options.\n\nMultichoice inputs allow several values.\n\n## Examples\n\nIn this example, we have configured the `categories` key as a *Multichoice Input*.\n\n```yaml\n_inputs:\n categories:\n type: multichoice\n label: Categories\n options:\n values:\n - technology\n - design\n - business\n```"
|
|
8813
8868
|
},
|
|
8814
8869
|
"ObjectInput": {
|
|
8815
|
-
"title": "Object Input",
|
|
8816
|
-
"description": "This key defines a user interface for a group of inputs.",
|
|
8817
8870
|
"type": "object",
|
|
8818
8871
|
"properties": {
|
|
8819
8872
|
"comment": {
|
|
@@ -8858,15 +8911,14 @@
|
|
|
8858
8911
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8859
8912
|
},
|
|
8860
8913
|
"type": {
|
|
8861
|
-
"title": "Type",
|
|
8862
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8863
8914
|
"type": "string",
|
|
8864
8915
|
"const": "object",
|
|
8916
|
+
"title": "Type",
|
|
8917
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8865
8918
|
"documented": true,
|
|
8866
8919
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
8867
8920
|
},
|
|
8868
8921
|
"options": {
|
|
8869
|
-
"description": "This key defines options that are specific to Object Inputs.",
|
|
8870
8922
|
"type": "object",
|
|
8871
8923
|
"properties": {
|
|
8872
8924
|
"required": {
|
|
@@ -9089,6 +9141,7 @@
|
|
|
9089
9141
|
}
|
|
9090
9142
|
},
|
|
9091
9143
|
"additionalProperties": false,
|
|
9144
|
+
"description": "This key defines options that are specific to Object Inputs.",
|
|
9092
9145
|
"documented": true,
|
|
9093
9146
|
"title": "options",
|
|
9094
9147
|
"markdownDescription": "This key defines options that are specific to Object Inputs."
|
|
@@ -9098,12 +9151,14 @@
|
|
|
9098
9151
|
"type"
|
|
9099
9152
|
],
|
|
9100
9153
|
"additionalProperties": false,
|
|
9154
|
+
"title": "Object Input",
|
|
9155
|
+
"description": "This key defines a user interface for a group of inputs.",
|
|
9101
9156
|
"documented": true,
|
|
9102
9157
|
"markdownDescription": "This key defines a user interface for a group of inputs."
|
|
9103
9158
|
},
|
|
9104
9159
|
"type._inputs.*.options.empty_type(object)": {
|
|
9105
|
-
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty object values will be saved.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n empty_type: object\n```",
|
|
9106
9160
|
"default": "null",
|
|
9161
|
+
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty object values will be saved.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n empty_type: object\n```",
|
|
9107
9162
|
"type": "string",
|
|
9108
9163
|
"enum": [
|
|
9109
9164
|
"null",
|
|
@@ -9114,15 +9169,13 @@
|
|
|
9114
9169
|
"markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.\n\n## Examples\n\nIn this example, we have configured how empty object values will be saved.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n empty_type: object\n```"
|
|
9115
9170
|
},
|
|
9116
9171
|
"type.structure-reference": {
|
|
9172
|
+
"type": "string",
|
|
9117
9173
|
"title": "Structure Reference",
|
|
9118
9174
|
"description": "A reference to an existing structure.",
|
|
9119
|
-
"type": "string",
|
|
9120
9175
|
"documented": true,
|
|
9121
9176
|
"markdownDescription": "A reference to an existing structure."
|
|
9122
9177
|
},
|
|
9123
9178
|
"type.structure": {
|
|
9124
|
-
"title": "Structure",
|
|
9125
|
-
"description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
|
|
9126
9179
|
"type": "object",
|
|
9127
9180
|
"properties": {
|
|
9128
9181
|
"reorder_inputs": {
|
|
@@ -9158,11 +9211,11 @@
|
|
|
9158
9211
|
"markdownDescription": "This key toggles whether CloudCannon will remove inputs that are not present in a Structure from a file before loading it in an Editing Interface.\n\nSetting this key to `true` will remove inputs that are not present in a Structure from a file before loading it in an Editing Interface. Non-Structure inputs will not be visible in the [Visual Editor](https://cloudcannon.com/documentation/articles/what-is-the-visual-editor/), [Content\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-content-editor/), or [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/), and saving the file\nwill remove them from the file before persisting the changes to your Git repository.\n\nYou can also configure this behavior for specific values of a Structure using `values[*].remove_extra_inputs`.\n\n## Examples\n\nIn this example, we want to delete old inputs that are not in the Structure from the associated file.\n\n```yaml\n_structures:\n related_articles:\n remove_extra_inputs: true\n values:\n - value:\n name:\n description:\n url:\n```"
|
|
9159
9212
|
},
|
|
9160
9213
|
"values": {
|
|
9161
|
-
"description": "This key defines the options available for a Structure.\n\nYou must define this key for the Structure to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add the `title`, `subtitle`, `author`, `featured_image`, and `url` fields to Object or Array inputs that reference this Structure.\n\n```yaml\n_structures:\n related_articles:\n values:\n - label: Blog\n id:\n default: true\n tabbed: false\n tags:\n - blog\n value:\n title:\n subtitle:\n author:\n featured_image:\n url:\n _inputs:\n featured_image:\n type: image\n options:\n width: 50\n height: 50\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n - image\n - url\n preview:\n text:\n - template: \"{title}\"\n subtext:\n - template: \"By {author}\"\n image:\n - key: image\n picker_preview:\n text: Blog\n subtext: Add a related blog\n icon: post_add\n```",
|
|
9162
9214
|
"type": "array",
|
|
9163
9215
|
"items": {
|
|
9164
9216
|
"$ref": "#/definitions/type.structure.values.[*]"
|
|
9165
9217
|
},
|
|
9218
|
+
"description": "This key defines the options available for a Structure.\n\nYou must define this key for the Structure to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add the `title`, `subtitle`, `author`, `featured_image`, and `url` fields to Object or Array inputs that reference this Structure.\n\n```yaml\n_structures:\n related_articles:\n values:\n - label: Blog\n id:\n default: true\n tabbed: false\n tags:\n - blog\n value:\n title:\n subtitle:\n author:\n featured_image:\n url:\n _inputs:\n featured_image:\n type: image\n options:\n width: 50\n height: 50\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n - image\n - url\n preview:\n text:\n - template: \"{title}\"\n subtext:\n - template: \"By {author}\"\n image:\n - key: image\n picker_preview:\n text: Blog\n subtext: Add a related blog\n icon: post_add\n```",
|
|
9166
9219
|
"documented": true,
|
|
9167
9220
|
"title": "values",
|
|
9168
9221
|
"markdownDescription": "This key defines the options available for a Structure.\n\nYou must define this key for the Structure to function.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we want to add the `title`, `subtitle`, `author`, `featured_image`, and `url` fields to Object or Array inputs that reference this Structure.\n\n```yaml\n_structures:\n related_articles:\n values:\n - label: Blog\n id:\n default: true\n tabbed: false\n tags:\n - blog\n value:\n title:\n subtitle:\n author:\n featured_image:\n url:\n _inputs:\n featured_image:\n type: image\n options:\n width: 50\n height: 50\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n - image\n - url\n preview:\n text:\n - template: \"{title}\"\n subtext:\n - template: \"By {author}\"\n image:\n - key: image\n picker_preview:\n text: Blog\n subtext: Add a related blog\n icon: post_add\n```"
|
|
@@ -9173,13 +9226,13 @@
|
|
|
9173
9226
|
"type": "string",
|
|
9174
9227
|
"documented": true,
|
|
9175
9228
|
"title": "values_from_glob[*]",
|
|
9176
|
-
"description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
9177
|
-
"markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
9229
|
+
"description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```",
|
|
9230
|
+
"markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```"
|
|
9178
9231
|
},
|
|
9179
9232
|
"documented": true,
|
|
9180
9233
|
"title": "values_from_glob",
|
|
9181
|
-
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
9182
|
-
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
9234
|
+
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```",
|
|
9235
|
+
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```"
|
|
9183
9236
|
},
|
|
9184
9237
|
"id_key": {
|
|
9185
9238
|
"description": "This key defines which key within `values[*].value` CloudCannon should use to identify the Structure option.\n\nIf CloudCannon cannot find this key in a Structure value, it will compare all other key names in the Structure value to find the correct one.\n\nBy default, this key is `_type`.\n\n## Examples\n\nIn this example, we have change the `id_key` from the default `_type` to `component` to match our existing configuration in the `content_blocks` Array input.\n\n```yaml\n_inputs:\n content_blocks___1___:\n type: array\n options:\n structures: _structures.page_components\n_structures:\n page_components:\n id_key___2___: component\n values:\n - label: Hero Component\n value:\n component___3___: hero\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n value:\n component: feature\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n value:\n component: video\n image_path:\n videoUrl:\n```",
|
|
@@ -9197,17 +9250,384 @@
|
|
|
9197
9250
|
"select",
|
|
9198
9251
|
"modal"
|
|
9199
9252
|
],
|
|
9200
|
-
"documented": true,
|
|
9201
|
-
"title": "style",
|
|
9202
|
-
"markdownDescription": "This key defines how CloudCannon shows Structure options to populate an Object or Array input.\n\nThis can be using a select-style search bar or a pop-up modal.\n\nModals are useful when you have several value options for your Structure.\n\nValues can be one of the following: `select`, or `modal`.\n\n## Examples\n\nIn this example, the `related_articles` Structure only has one option so a `select` searchbar is appropriate.\n\n```yaml\n_structures:\n related_articles:\n style: select\n values:\n - value:\n name:\n description:\n url:\n```"
|
|
9253
|
+
"documented": true,
|
|
9254
|
+
"title": "style",
|
|
9255
|
+
"markdownDescription": "This key defines how CloudCannon shows Structure options to populate an Object or Array input.\n\nThis can be using a select-style search bar or a pop-up modal.\n\nModals are useful when you have several value options for your Structure.\n\nValues can be one of the following: `select`, or `modal`.\n\n## Examples\n\nIn this example, the `related_articles` Structure only has one option so a `select` searchbar is appropriate.\n\n```yaml\n_structures:\n related_articles:\n style: select\n values:\n - value:\n name:\n description:\n url:\n```"
|
|
9256
|
+
}
|
|
9257
|
+
},
|
|
9258
|
+
"required": [
|
|
9259
|
+
"values"
|
|
9260
|
+
],
|
|
9261
|
+
"additionalProperties": false,
|
|
9262
|
+
"title": "Structure",
|
|
9263
|
+
"description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
|
|
9264
|
+
"documented": true,
|
|
9265
|
+
"markdownDescription": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values."
|
|
9266
|
+
},
|
|
9267
|
+
"type.structure.values.[*]": {
|
|
9268
|
+
"type": "object",
|
|
9269
|
+
"properties": {
|
|
9270
|
+
"reorder_inputs": {
|
|
9271
|
+
"description": "This key toggles whether CloudCannon will reorder inputs in a file to match the order defined in a given value from a Structure.\n\nSetting this key to `false` will preserve the existing order of inputs in a file, regardless of the order defined in the Structure value.\n\nBy default, this key is `true` (i.e., inputs are reordered to match the Structure value).\n\nYou can also configure this behavior for all values of a Structure using `reorder_inputs` inside `_structures.*`.",
|
|
9272
|
+
"default": true,
|
|
9273
|
+
"type": "boolean",
|
|
9274
|
+
"documented": true,
|
|
9275
|
+
"title": "reorder_inputs",
|
|
9276
|
+
"markdownDescription": "This key toggles whether CloudCannon will reorder inputs in a file to match the order defined in a given value from a Structure.\n\nSetting this key to `false` will preserve the existing order of inputs in a file, regardless of the order defined in the Structure value.\n\nBy default, this key is `true` (i.e., inputs are reordered to match the Structure value).\n\nYou can also configure this behavior for all values of a Structure using `reorder_inputs` inside `_structures.*`."
|
|
9277
|
+
},
|
|
9278
|
+
"hide_extra_inputs": {
|
|
9279
|
+
"description": "This key toggles whether CloudCannon will hide inputs that are not present in a given value from a Structure from the [Data\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\nSetting this key to `true` will hide inputs that are not present in a given value from a Structure from the Data Editor. Hiding these inputs does not delete the data. You can see non-structure data keys by opening a file in the [Source Editor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). This key has no effect if `remove_extra_inputs` is `true`.\n\nYou can also configure this behavior for all values of a Structure using `hide_extra_inputs` inside `_structures.*`.",
|
|
9280
|
+
"default": false,
|
|
9281
|
+
"type": "boolean",
|
|
9282
|
+
"documented": true,
|
|
9283
|
+
"title": "hide_extra_inputs",
|
|
9284
|
+
"markdownDescription": "This key toggles whether CloudCannon will hide inputs that are not present in a given value from a Structure from the [Data\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\nSetting this key to `true` will hide inputs that are not present in a given value from a Structure from the Data Editor. Hiding these inputs does not delete the data. You can see non-structure data keys by opening a file in the [Source Editor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). This key has no effect if `remove_extra_inputs` is `true`.\n\nYou can also configure this behavior for all values of a Structure using `hide_extra_inputs` inside `_structures.*`."
|
|
9285
|
+
},
|
|
9286
|
+
"remove_empty_inputs": {
|
|
9287
|
+
"description": "This key toggles whether CloudCannon will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file.\n\nSetting this key to `true` will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file. CloudCannon considers an input to be empty when its value is `null`, `' '`, or undefined. If this key is true, empty inputs will be visible in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/) but not the [Source\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). For this key to function, you must also configure `id_key` for the Structure, as removing inputs prevents CloudCannon from comparing Structure values.\n\nYou can also configure this behavior for all values of a Structure using `remove_empty_inputs` inside `_structures.*`.",
|
|
9288
|
+
"default": false,
|
|
9289
|
+
"type": "boolean",
|
|
9290
|
+
"documented": true,
|
|
9291
|
+
"title": "remove_empty_inputs",
|
|
9292
|
+
"markdownDescription": "This key toggles whether CloudCannon will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file.\n\nSetting this key to `true` will remove empty nested inputs from an Object Input or Array Input using a given value from a Structure before\npersisting them to your file. CloudCannon considers an input to be empty when its value is `null`, `' '`, or undefined. If this key is true, empty inputs will be visible in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/) but not the [Source\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-source-editor/). For this key to function, you must also configure `id_key` for the Structure, as removing inputs prevents CloudCannon from comparing Structure values.\n\nYou can also configure this behavior for all values of a Structure using `remove_empty_inputs` inside `_structures.*`."
|
|
9293
|
+
},
|
|
9294
|
+
"remove_extra_inputs": {
|
|
9295
|
+
"description": "This key toggles whether CloudCannon will remove inputs that are not present in a given value from a Structure from a file before loading it in an\nEditing Interface.\n\nSetting this key to `true` will remove inputs that are not present in a given value from a Structure from a file before loading it in an Editing Interface. Non-Structure inputs will not be visible in the [Visual Editor](https://cloudcannon.com/documentation/articles/what-is-the-visual-editor/), [Content\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-content-editor/), or [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/), and saving the file\nwill remove them from the file before persisting the changes to your Git repository.\n\nYou can also configure this behavior for all values of a Structure using `remove_extra_inputs` inside `_structures.*`.",
|
|
9296
|
+
"default": true,
|
|
9297
|
+
"type": "boolean",
|
|
9298
|
+
"documented": true,
|
|
9299
|
+
"title": "remove_extra_inputs",
|
|
9300
|
+
"markdownDescription": "This key toggles whether CloudCannon will remove inputs that are not present in a given value from a Structure from a file before loading it in an\nEditing Interface.\n\nSetting this key to `true` will remove inputs that are not present in a given value from a Structure from a file before loading it in an Editing Interface. Non-Structure inputs will not be visible in the [Visual Editor](https://cloudcannon.com/documentation/articles/what-is-the-visual-editor/), [Content\nEditor](https://cloudcannon.com/documentation/articles/what-is-the-content-editor/), or [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/), and saving the file\nwill remove them from the file before persisting the changes to your Git repository.\n\nYou can also configure this behavior for all values of a Structure using `remove_extra_inputs` inside `_structures.*`."
|
|
9301
|
+
},
|
|
9302
|
+
"preview": {
|
|
9303
|
+
"allOf": [
|
|
9304
|
+
{
|
|
9305
|
+
"$ref": "#/definitions/type.preview"
|
|
9306
|
+
}
|
|
9307
|
+
],
|
|
9308
|
+
"documented": false,
|
|
9309
|
+
"title": "preview"
|
|
9310
|
+
},
|
|
9311
|
+
"picker_preview": {
|
|
9312
|
+
"allOf": [
|
|
9313
|
+
{
|
|
9314
|
+
"$ref": "#/definitions/type.picker_preview"
|
|
9315
|
+
}
|
|
9316
|
+
],
|
|
9317
|
+
"documented": false,
|
|
9318
|
+
"title": "picker_preview"
|
|
9319
|
+
},
|
|
9320
|
+
"_inputs": {
|
|
9321
|
+
"$ref": "#/definitions/__schema0"
|
|
9322
|
+
},
|
|
9323
|
+
"_inputs_from_glob": {
|
|
9324
|
+
"allOf": [
|
|
9325
|
+
{
|
|
9326
|
+
"$ref": "#/definitions/type._inputs_from_glob"
|
|
9327
|
+
}
|
|
9328
|
+
],
|
|
9329
|
+
"documented": false,
|
|
9330
|
+
"title": "_inputs_from_glob"
|
|
9331
|
+
},
|
|
9332
|
+
"_select_data": {
|
|
9333
|
+
"allOf": [
|
|
9334
|
+
{
|
|
9335
|
+
"$ref": "#/definitions/type._select_data"
|
|
9336
|
+
}
|
|
9337
|
+
],
|
|
9338
|
+
"documented": false,
|
|
9339
|
+
"title": "_select_data"
|
|
9340
|
+
},
|
|
9341
|
+
"_structures": {
|
|
9342
|
+
"allOf": [
|
|
9343
|
+
{
|
|
9344
|
+
"$ref": "#/definitions/type._structures"
|
|
9345
|
+
}
|
|
9346
|
+
],
|
|
9347
|
+
"documented": false,
|
|
9348
|
+
"title": "_structures"
|
|
9349
|
+
},
|
|
9350
|
+
"_structures_from_glob": {
|
|
9351
|
+
"allOf": [
|
|
9352
|
+
{
|
|
9353
|
+
"$ref": "#/definitions/type._structures_from_glob"
|
|
9354
|
+
}
|
|
9355
|
+
],
|
|
9356
|
+
"documented": false,
|
|
9357
|
+
"title": "_structures_from_glob"
|
|
9358
|
+
},
|
|
9359
|
+
"id": {
|
|
9360
|
+
"description": "This key defines the string used to identify a given Structure value when refering to it from other input configuration.\n\n## Examples\n\nIn this example, we have configured the `blog_post` ID for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n id: blog_post\n```",
|
|
9361
|
+
"type": "string",
|
|
9362
|
+
"documented": true,
|
|
9363
|
+
"title": "id",
|
|
9364
|
+
"markdownDescription": "This key defines the string used to identify a given Structure value when refering to it from other input configuration.\n\n## Examples\n\nIn this example, we have configured the `blog_post` ID for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n id: blog_post\n```"
|
|
9365
|
+
},
|
|
9366
|
+
"default": {
|
|
9367
|
+
"description": "This key toggles whether CloudCannon should treat an entry in the `values` array as the default option for your Object or Array input.\n\nSetting this key to `true` will mark this entry as the default option for your Object or Array input. If multiple entries in the `values` array are set to `true`, CloudCannon will use the first entry. If CloudCannon cannot determine the type of an entry within the `values` array based on the `id_key` or matching inputs across `values[*].value` objects,\nit will fall back to the default entry.\n\n## Examples\n\nIn this example, we want the entry labelled `Employee` to be our default option for populating inputs configured with the `staff` Structure.\n\n```yaml\n_structures:\n staff:\n style: modal\n values:\n - label: Employee\n default: true\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```",
|
|
9368
|
+
"default": false,
|
|
9369
|
+
"type": "boolean",
|
|
9370
|
+
"documented": true,
|
|
9371
|
+
"title": "default",
|
|
9372
|
+
"markdownDescription": "This key toggles whether CloudCannon should treat an entry in the `values` array as the default option for your Object or Array input.\n\nSetting this key to `true` will mark this entry as the default option for your Object or Array input. If multiple entries in the `values` array are set to `true`, CloudCannon will use the first entry. If CloudCannon cannot determine the type of an entry within the `values` array based on the `id_key` or matching inputs across `values[*].value` objects,\nit will fall back to the default entry.\n\n## Examples\n\nIn this example, we want the entry labelled `Employee` to be our default option for populating inputs configured with the `staff` Structure.\n\n```yaml\n_structures:\n staff:\n style: modal\n values:\n - label: Employee\n default: true\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```"
|
|
9373
|
+
},
|
|
9374
|
+
"icon": {
|
|
9375
|
+
"description": "This key defines an icon used when displaying the structure (defaults to either `format_list_bulleted` for items in arrays, or `notes` otherwise).\n\n## Examples\n\nIn this example, CloudCannon will display the `article` icon for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n icon: article\n```",
|
|
9376
|
+
"allOf": [
|
|
9377
|
+
{
|
|
9378
|
+
"$ref": "#/definitions/icon"
|
|
9379
|
+
}
|
|
9380
|
+
],
|
|
9381
|
+
"documented": true,
|
|
9382
|
+
"title": "icon",
|
|
9383
|
+
"markdownDescription": "This key defines an icon used when displaying the structure (defaults to either `format_list_bulleted` for items in arrays, or `notes` otherwise).\n\n## Examples\n\nIn this example, CloudCannon will display the `article` icon for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n icon: article\n```"
|
|
9384
|
+
},
|
|
9385
|
+
"image": {
|
|
9386
|
+
"description": "This key defines the path to an image in your source files used when displaying the structure value.\n\nCan be either a source (has priority) or output path.\n\n## Examples\n\nIn this example, we have configured the `/images/blog-icon.png` image for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n image: /images/blog-icon.png\n```",
|
|
9387
|
+
"type": "string",
|
|
9388
|
+
"documented": true,
|
|
9389
|
+
"title": "image",
|
|
9390
|
+
"markdownDescription": "This key defines the path to an image in your source files used when displaying the structure value.\n\nCan be either a source (has priority) or output path.\n\n## Examples\n\nIn this example, we have configured the `/images/blog-icon.png` image for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n image: /images/blog-icon.png\n```"
|
|
9391
|
+
},
|
|
9392
|
+
"label": {
|
|
9393
|
+
"description": "This key defines the display name for a given value in a Structure.\n\nThe name will appear in the *+ Add* button dropdown below an Object or Array input or in the Structures modal (if configured).\n\nBy default, this key falls back to `unknown`.\n\n## Examples\n\nIn this example, we want two value options for our `staff` structure: one called `Manager` and one called `Employee`.\n\n```yaml\n_structures:\n staff:\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```",
|
|
9394
|
+
"type": "string",
|
|
9395
|
+
"documented": true,
|
|
9396
|
+
"title": "label",
|
|
9397
|
+
"markdownDescription": "This key defines the display name for a given value in a Structure.\n\nThe name will appear in the *+ Add* button dropdown below an Object or Array input or in the Structures modal (if configured).\n\nBy default, this key falls back to `unknown`.\n\n## Examples\n\nIn this example, we want two value options for our `staff` structure: one called `Manager` and one called `Employee`.\n\n```yaml\n_structures:\n staff:\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```"
|
|
9398
|
+
},
|
|
9399
|
+
"tags": {
|
|
9400
|
+
"description": "This key defines which tags are associated with a given value in a Structure.\n\nYou can use tags to group and filter Structure options when selecting from a modal.\n\nThis key has no default.\n\n## Examples\n\nIn this example we have three options for the `page_components` Structure: `Hero Component`, `Feature Component`, and `Video Component`. We can search the Structure modal using the `image`, `text`, `button`, and `video` tags to filter Structure values.\n\n```yaml\n_structures:\n page_components:\n style: modal\n values:\n - label: Hero Component\n tags:\n - image\n - text\n value:\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n tags:\n - image\n - text\n - button\n value:\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n tags:\n - image\n - video\n value:\n image_path:\n videoUrl:\n```",
|
|
9401
|
+
"type": "array",
|
|
9402
|
+
"items": {
|
|
9403
|
+
"type": "string",
|
|
9404
|
+
"documented": true,
|
|
9405
|
+
"title": "tags[*]",
|
|
9406
|
+
"description": "This key represents an individual tag string in the `values[*].tags` array.\n\nThe value is a string that specifies a tag associated with a structure value.\n\n## Examples\n\nIn this example, we have configured the `featured` and `news` tags for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n tags:\n - featured\n - news\n```",
|
|
9407
|
+
"markdownDescription": "This key represents an individual tag string in the `values[*].tags` array.\n\nThe value is a string that specifies a tag associated with a structure value.\n\n## Examples\n\nIn this example, we have configured the `featured` and `news` tags for the entry labeled `Blog` in the `article_information` Structure.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n tags:\n - featured\n - news\n```"
|
|
9408
|
+
},
|
|
9409
|
+
"documented": true,
|
|
9410
|
+
"title": "tags",
|
|
9411
|
+
"markdownDescription": "This key defines which tags are associated with a given value in a Structure.\n\nYou can use tags to group and filter Structure options when selecting from a modal.\n\nThis key has no default.\n\n## Examples\n\nIn this example we have three options for the `page_components` Structure: `Hero Component`, `Feature Component`, and `Video Component`. We can search the Structure modal using the `image`, `text`, `button`, and `video` tags to filter Structure values.\n\n```yaml\n_structures:\n page_components:\n style: modal\n values:\n - label: Hero Component\n tags:\n - image\n - text\n value:\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n tags:\n - image\n - text\n - button\n value:\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n tags:\n - image\n - video\n value:\n image_path:\n videoUrl:\n```"
|
|
9412
|
+
},
|
|
9413
|
+
"groups": {
|
|
9414
|
+
"description": "This key defines the order and custom grouping for inputs within a Structure.\n\nThe value is an array of group objects. Each group object can contain a `heading`, `comment`, `collapsed`, and `inputs` array.\n\n## Examples\n\nIn this example, we want to separate the inputs into two groups with descriptive headings: `title` and `subtitle` under the `Titles` heading, and `author` under the `Details` heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9415
|
+
"type": "array",
|
|
9416
|
+
"items": {
|
|
9417
|
+
"type": "object",
|
|
9418
|
+
"properties": {
|
|
9419
|
+
"heading": {
|
|
9420
|
+
"description": "This key defines the main text for the group shown when collapsed or expanded.\n\nThe value is a string that specifies the heading text displayed for the group.\n\n## Examples\n\nIn this example, we have configured a group heading to organize structure inputs under the \"Titles\" heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9421
|
+
"type": "string",
|
|
9422
|
+
"documented": true,
|
|
9423
|
+
"title": "heading",
|
|
9424
|
+
"markdownDescription": "This key defines the main text for the group shown when collapsed or expanded.\n\nThe value is a string that specifies the heading text displayed for the group.\n\n## Examples\n\nIn this example, we have configured a group heading to organize structure inputs under the \"Titles\" heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9425
|
+
},
|
|
9426
|
+
"comment": {
|
|
9427
|
+
"description": "This key defines the subtext displayed below the `heading` for a group.\n\nThe value is a string that supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\n## Examples\n\nIn this example, we have configured a group comment with Markdown formatting to provide additional context below the heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n comment: Make these SEO-friendly\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9428
|
+
"type": "string",
|
|
9429
|
+
"documented": true,
|
|
9430
|
+
"title": "comment",
|
|
9431
|
+
"markdownDescription": "This key defines the subtext displayed below the `heading` for a group.\n\nThe value is a string that supports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\n## Examples\n\nIn this example, we have configured a group comment with Markdown formatting to provide additional context below the heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n comment: Make these SEO-friendly\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9432
|
+
},
|
|
9433
|
+
"collapsed": {
|
|
9434
|
+
"description": "This key defines whether a group is collapsed or expanded when first viewed.\n\nThe value is a boolean. When `true`, CloudCannon displays the group in a collapsed state. When `false`, CloudCannon displays the group in an expanded state.\n\nBy default, CloudCannon displays groups in an expanded state.\n\n## Examples\n\nIn this example, we have configured the \"Details\" group to be collapsed by default.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n collapsed: true\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9435
|
+
"default": false,
|
|
9436
|
+
"type": "boolean",
|
|
9437
|
+
"documented": true,
|
|
9438
|
+
"title": "collapsed",
|
|
9439
|
+
"markdownDescription": "This key defines whether a group is collapsed or expanded when first viewed.\n\nThe value is a boolean. When `true`, CloudCannon displays the group in a collapsed state. When `false`, CloudCannon displays the group in an expanded state.\n\nBy default, CloudCannon displays groups in an expanded state.\n\n## Examples\n\nIn this example, we have configured the \"Details\" group to be collapsed by default.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n collapsed: true\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9440
|
+
},
|
|
9441
|
+
"inputs": {
|
|
9442
|
+
"description": "This key defines which inputs are included in a group within a structure value.\n\nThe value is an array of input key name strings that specify which inputs belong to this group.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` and `subtitle` inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9443
|
+
"type": "array",
|
|
9444
|
+
"items": {
|
|
9445
|
+
"type": "string",
|
|
9446
|
+
"documented": true,
|
|
9447
|
+
"title": "inputs[*]",
|
|
9448
|
+
"description": "This key represents an individual input key name string in the `values[*].groups[*].inputs` array.\n\nThe value is a string that specifies the key name of an input to include in a group within a structure value.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` input.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9449
|
+
"markdownDescription": "This key represents an individual input key name string in the `values[*].groups[*].inputs` array.\n\nThe value is a string that specifies the key name of an input to include in a group within a structure value.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` input.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9450
|
+
},
|
|
9451
|
+
"documented": true,
|
|
9452
|
+
"title": "inputs",
|
|
9453
|
+
"markdownDescription": "This key defines which inputs are included in a group within a structure value.\n\nThe value is an array of input key name strings that specify which inputs belong to this group.\n\n## Examples\n\nIn this example, we have configured a group to include the `title` and `subtitle` inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9454
|
+
},
|
|
9455
|
+
"documentation": {
|
|
9456
|
+
"description": "Provides a custom link for documentation for editors shown above the collection file list.",
|
|
9457
|
+
"allOf": [
|
|
9458
|
+
{
|
|
9459
|
+
"$ref": "#/definitions/type.documentation"
|
|
9460
|
+
}
|
|
9461
|
+
],
|
|
9462
|
+
"documented": false,
|
|
9463
|
+
"title": "documentation",
|
|
9464
|
+
"markdownDescription": "Provides a custom link for documentation for editors shown above the collection file list."
|
|
9465
|
+
}
|
|
9466
|
+
},
|
|
9467
|
+
"additionalProperties": false,
|
|
9468
|
+
"documented": true,
|
|
9469
|
+
"title": "groups[*]",
|
|
9470
|
+
"description": "This key represents an individual group object in the `values[*].groups` array.\n\nThe value is an object that groups inputs together within a structure value without changing the data structure. Each group typically contains a `heading` and `inputs` array.\n\n## Examples\n\nIn this example, we have configured a group with a heading and inputs array to organize structure inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```",
|
|
9471
|
+
"markdownDescription": "This key represents an individual group object in the `values[*].groups` array.\n\nThe value is an object that groups inputs together within a structure value without changing the data structure. Each group typically contains a `heading` and `inputs` array.\n\n## Examples\n\nIn this example, we have configured a group with a heading and inputs array to organize structure inputs.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9472
|
+
},
|
|
9473
|
+
"documented": true,
|
|
9474
|
+
"title": "groups",
|
|
9475
|
+
"markdownDescription": "This key defines the order and custom grouping for inputs within a Structure.\n\nThe value is an array of group objects. Each group object can contain a `heading`, `comment`, `collapsed`, and `inputs` array.\n\n## Examples\n\nIn this example, we want to separate the inputs into two groups with descriptive headings: `title` and `subtitle` under the `Titles` heading, and `author` under the `Details` heading.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n groups:\n - heading: Titles\n inputs:\n - title\n - subtitle\n - heading: Details\n inputs:\n - author\n```"
|
|
9476
|
+
},
|
|
9477
|
+
"place_groups_below": {
|
|
9478
|
+
"description": "This key defines which order input groups and ungrouped inputs appear in.",
|
|
9479
|
+
"default": false,
|
|
9480
|
+
"type": "boolean",
|
|
9481
|
+
"documented": true,
|
|
9482
|
+
"title": "place_groups_below",
|
|
9483
|
+
"markdownDescription": "This key defines which order input groups and ungrouped inputs appear in."
|
|
9484
|
+
},
|
|
9485
|
+
"tabbed": {
|
|
9486
|
+
"description": "This key toggles whether CloudCannon should create tabs in the Data Editor if you have two layers of nested object within your Structure.\n\nSetting this key to `true` will create tabs in the Data Editor for two layers of nested objects within your Structure.\n\nBy default, this key is `false` (i.e., Object and Array inputs using this Structure option are not tabbed).\n\n## Examples\n\nIn this example, we want the `content` and `style` keys in our Structure to be tabs at the top of the Data Editor, with the `title` and `text`, and `color` and `font` keys nested within those tabs respectively.\n\n```yaml\n_structures:\n components:\n values:\n - label: Component\n tabbed: true\n value:\n content:\n title:\n text:\n style:\n color:\n font:\n```",
|
|
9487
|
+
"default": false,
|
|
9488
|
+
"type": "boolean",
|
|
9489
|
+
"documented": true,
|
|
9490
|
+
"title": "tabbed",
|
|
9491
|
+
"markdownDescription": "This key toggles whether CloudCannon should create tabs in the Data Editor if you have two layers of nested object within your Structure.\n\nSetting this key to `true` will create tabs in the Data Editor for two layers of nested objects within your Structure.\n\nBy default, this key is `false` (i.e., Object and Array inputs using this Structure option are not tabbed).\n\n## Examples\n\nIn this example, we want the `content` and `style` keys in our Structure to be tabs at the top of the Data Editor, with the `title` and `text`, and `color` and `font` keys nested within those tabs respectively.\n\n```yaml\n_structures:\n components:\n values:\n - label: Component\n tabbed: true\n value:\n content:\n title:\n text:\n style:\n color:\n font:\n```"
|
|
9492
|
+
},
|
|
9493
|
+
"value": {
|
|
9494
|
+
"description": "This key defines which nested inputs the Structure value should add to an Object or Array input.\n\nYou must define this key for the Structure value to function.\n\nNested keys can be any [input](https://cloudcannon.com/documentation/articles/what-are-inputs/) you require in your Object or Array.\n\nFor more information, please read our documentation on [configuring an Object input](https://cloudcannon.com/documentation/articles/configure-an-object-input/) and\n[configuring and Array input](https://cloudcannon.com/documentation/articles/configure-an-array-input/).\n\n## Examples\n\nIn this example we want to populate the `details` Object input with the nested keys `title`, `subtitle`, and `author` we have defined under the `values.value` key.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n_inputs:\n details:\n type: object\n options:\n structures: _structures.article_information\n```",
|
|
9495
|
+
"documented": true,
|
|
9496
|
+
"title": "value",
|
|
9497
|
+
"markdownDescription": "This key defines which nested inputs the Structure value should add to an Object or Array input.\n\nYou must define this key for the Structure value to function.\n\nNested keys can be any [input](https://cloudcannon.com/documentation/articles/what-are-inputs/) you require in your Object or Array.\n\nFor more information, please read our documentation on [configuring an Object input](https://cloudcannon.com/documentation/articles/configure-an-object-input/) and\n[configuring and Array input](https://cloudcannon.com/documentation/articles/configure-an-array-input/).\n\n## Examples\n\nIn this example we want to populate the `details` Object input with the nested keys `title`, `subtitle`, and `author` we have defined under the `values.value` key.\n\n```yaml\n_structures:\n article_information:\n values:\n - label: Blog\n value:\n title:\n subtitle:\n author:\n_inputs:\n details:\n type: object\n options:\n structures: _structures.article_information\n```"
|
|
9498
|
+
},
|
|
9499
|
+
"description": {
|
|
9500
|
+
"description": "This key defines short descriptive text for editors shown in the Data Editor for expanded values matching this Structure value.\n\nHas no default.\n\nSupports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed.",
|
|
9501
|
+
"type": "string",
|
|
9502
|
+
"documented": true,
|
|
9503
|
+
"title": "description",
|
|
9504
|
+
"markdownDescription": "This key defines short descriptive text for editors shown in the Data Editor for expanded values matching this Structure value.\n\nHas no default.\n\nSupports a limited set of Markdown: links, bold, italic, subscript, superscript, and inline code elements are allowed."
|
|
9505
|
+
},
|
|
9506
|
+
"documentation": {
|
|
9507
|
+
"description": "Provides a custom link for documentation for editors shown in the Data Editor for expanded values matching this Structure value. Has no default.",
|
|
9508
|
+
"allOf": [
|
|
9509
|
+
{
|
|
9510
|
+
"$ref": "#/definitions/type.documentation"
|
|
9511
|
+
}
|
|
9512
|
+
],
|
|
9513
|
+
"documented": false,
|
|
9514
|
+
"title": "documentation",
|
|
9515
|
+
"markdownDescription": "Provides a custom link for documentation for editors shown in the Data Editor for expanded values matching this Structure value. Has no default."
|
|
9203
9516
|
}
|
|
9204
9517
|
},
|
|
9205
9518
|
"required": [
|
|
9206
|
-
"
|
|
9519
|
+
"value"
|
|
9207
9520
|
],
|
|
9208
9521
|
"additionalProperties": false,
|
|
9522
|
+
"title": "Structure Value",
|
|
9523
|
+
"description": "This key represents a single value option within a structure, defining the data format and appearance for content editors.",
|
|
9209
9524
|
"documented": true,
|
|
9210
|
-
"markdownDescription": "This key
|
|
9525
|
+
"markdownDescription": "This key represents a single value option within a structure, defining the data format and appearance for content editors."
|
|
9526
|
+
},
|
|
9527
|
+
"type._inputs_from_glob": {
|
|
9528
|
+
"type": "array",
|
|
9529
|
+
"items": {
|
|
9530
|
+
"type": "string",
|
|
9531
|
+
"documented": true,
|
|
9532
|
+
"title": "_inputs_from_glob[*]",
|
|
9533
|
+
"description": "This key represents an individual glob pattern string in the `_inputs_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.inputs.yml`.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blog-details.cloudcannon.inputs.yml'\n```",
|
|
9534
|
+
"markdownDescription": "This key represents an individual glob pattern string in the `_inputs_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.inputs.yml`.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blog-details.cloudcannon.inputs.yml'\n```"
|
|
9535
|
+
},
|
|
9536
|
+
"documented": true,
|
|
9537
|
+
"title": "_inputs_from_glob",
|
|
9538
|
+
"description": "This key defines globs that filter which files CloudCannon should use for *Input* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.inputs.yml`.\n\nYou can use this key anywhere you would use the `_inputs` key in the configuration cascade.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blogDetails.cloudcannon.inputs.yml'\n```\n\n```yaml\nseo_title:\n type: text\n options:\n required: true\n max_length: 50\nseo_description:\n type: textarea\n options:\n show_count: true\n required: true\n max_length: 125\nseo_image:\n type: image\n options:\n path:\n uploads: images\n accepts_mime_types:\n - image/png\n - image/jpeg\n required: true\n pattern: (?i)\\.(jpe?g|png)$\n pattern_message: Please select a JPG or PNG image file\n```",
|
|
9539
|
+
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Input* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.inputs.yml`.\n\nYou can use this key anywhere you would use the `_inputs` key in the configuration cascade.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blogDetails.cloudcannon.inputs.yml'\n```\n\n```yaml\nseo_title:\n type: text\n options:\n required: true\n max_length: 50\nseo_description:\n type: textarea\n options:\n show_count: true\n required: true\n max_length: 125\nseo_image:\n type: image\n options:\n path:\n uploads: images\n accepts_mime_types:\n - image/png\n - image/jpeg\n required: true\n pattern: (?i)\\.(jpe?g|png)$\n pattern_message: Please select a JPG or PNG image file\n```"
|
|
9540
|
+
},
|
|
9541
|
+
"type._select_data": {
|
|
9542
|
+
"type": "object",
|
|
9543
|
+
"propertyNames": {
|
|
9544
|
+
"type": "string"
|
|
9545
|
+
},
|
|
9546
|
+
"additionalProperties": {
|
|
9547
|
+
"anyOf": [
|
|
9548
|
+
{
|
|
9549
|
+
"type": "array",
|
|
9550
|
+
"items": {
|
|
9551
|
+
"type": "string",
|
|
9552
|
+
"documented": true,
|
|
9553
|
+
"title": "*(text-array)[*]"
|
|
9554
|
+
},
|
|
9555
|
+
"title": "Text Array Select Data",
|
|
9556
|
+
"documented": true
|
|
9557
|
+
},
|
|
9558
|
+
{
|
|
9559
|
+
"type": "object",
|
|
9560
|
+
"propertyNames": {
|
|
9561
|
+
"type": "string"
|
|
9562
|
+
},
|
|
9563
|
+
"additionalProperties": {
|
|
9564
|
+
"type": "string",
|
|
9565
|
+
"documented": true,
|
|
9566
|
+
"title": "*(text-object).*"
|
|
9567
|
+
},
|
|
9568
|
+
"title": "Text Object Select Data",
|
|
9569
|
+
"documented": true
|
|
9570
|
+
},
|
|
9571
|
+
{
|
|
9572
|
+
"type": "array",
|
|
9573
|
+
"items": {
|
|
9574
|
+
"type": "object",
|
|
9575
|
+
"propertyNames": {
|
|
9576
|
+
"type": "string"
|
|
9577
|
+
},
|
|
9578
|
+
"additionalProperties": {},
|
|
9579
|
+
"documented": true,
|
|
9580
|
+
"title": "*(object-array)[*]"
|
|
9581
|
+
},
|
|
9582
|
+
"title": "Object Array Select Data",
|
|
9583
|
+
"documented": true
|
|
9584
|
+
},
|
|
9585
|
+
{
|
|
9586
|
+
"type": "object",
|
|
9587
|
+
"propertyNames": {
|
|
9588
|
+
"type": "string"
|
|
9589
|
+
},
|
|
9590
|
+
"additionalProperties": {},
|
|
9591
|
+
"title": "Object Select Data",
|
|
9592
|
+
"documented": true
|
|
9593
|
+
}
|
|
9594
|
+
],
|
|
9595
|
+
"description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
9596
|
+
"documented": true,
|
|
9597
|
+
"title": "_select_data.*",
|
|
9598
|
+
"markdownDescription": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
9599
|
+
},
|
|
9600
|
+
"title": "Select Data",
|
|
9601
|
+
"description": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```",
|
|
9602
|
+
"documented": true,
|
|
9603
|
+
"markdownDescription": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```"
|
|
9604
|
+
},
|
|
9605
|
+
"type._structures": {
|
|
9606
|
+
"type": "object",
|
|
9607
|
+
"propertyNames": {
|
|
9608
|
+
"type": "string"
|
|
9609
|
+
},
|
|
9610
|
+
"additionalProperties": {
|
|
9611
|
+
"$ref": "#/definitions/type.structure"
|
|
9612
|
+
},
|
|
9613
|
+
"title": "Structures",
|
|
9614
|
+
"description": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
|
|
9615
|
+
"documented": true,
|
|
9616
|
+
"markdownDescription": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```"
|
|
9617
|
+
},
|
|
9618
|
+
"type._structures_from_glob": {
|
|
9619
|
+
"type": "array",
|
|
9620
|
+
"items": {
|
|
9621
|
+
"type": "string",
|
|
9622
|
+
"documented": true,
|
|
9623
|
+
"title": "_structures_from_glob[*]",
|
|
9624
|
+
"description": "This key represents an individual glob pattern string in the `_structures_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structures.yml`.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```",
|
|
9625
|
+
"markdownDescription": "This key represents an individual glob pattern string in the `_structures_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structures.yml`.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```"
|
|
9626
|
+
},
|
|
9627
|
+
"documented": true,
|
|
9628
|
+
"title": "_structures_from_glob",
|
|
9629
|
+
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structures.yml`.\n\nYou can use this key anywhere you would use the `_structures` key in the configuration cascade.\n\nPlease see our documentation on [values_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/structure/values_from_glob/) for defining individual\n*Structure* values in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```\n\n```yaml\nstaff:\n style: modal\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```",
|
|
9630
|
+
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structures.yml`.\n\nYou can use this key anywhere you would use the `_structures` key in the configuration cascade.\n\nPlease see our documentation on [values_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/structure/values_from_glob/) for defining individual\n*Structure* values in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```\n\n```yaml\nstaff:\n style: modal\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```"
|
|
9211
9631
|
},
|
|
9212
9632
|
"entries_comment": {
|
|
9213
9633
|
"description": "This key defines the subtitle text above the key input when adding or renaming entries within a mutable *Object Input*.\n\nThe value is a string that supports a limited selection of Markdown formatting: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\nAvailable for Mutable Objects only.\n\n## Examples\n\nIn this example, we have configured a comment with Markdown formatting to provide help text above the key input.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n allow_create: true\n entries:\n comment: Key names should be **lowercase** and use underscores (e.g., `article_title`)\n```",
|
|
@@ -9217,8 +9637,6 @@
|
|
|
9217
9637
|
"markdownDescription": "This key defines the subtitle text above the key input when adding or renaming entries within a mutable *Object Input*.\n\nThe value is a string that supports a limited selection of Markdown formatting: links, bold, italic, subscript, superscript, and inline code elements are allowed.\n\nAvailable for Mutable Objects only.\n\n## Examples\n\nIn this example, we have configured a comment with Markdown formatting to provide help text above the key input.\n\n```yaml\n_inputs:\n metadata:\n type: object\n options:\n allow_create: true\n entries:\n comment: Key names should be **lowercase** and use underscores (e.g., `article_title`)\n```"
|
|
9218
9638
|
},
|
|
9219
9639
|
"ArrayInput": {
|
|
9220
|
-
"title": "Array Input",
|
|
9221
|
-
"description": "This key defines a user interface for lists of inputs or input groups.",
|
|
9222
9640
|
"type": "object",
|
|
9223
9641
|
"properties": {
|
|
9224
9642
|
"comment": {
|
|
@@ -9263,15 +9681,14 @@
|
|
|
9263
9681
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9264
9682
|
},
|
|
9265
9683
|
"type": {
|
|
9266
|
-
"title": "Type",
|
|
9267
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9268
9684
|
"type": "string",
|
|
9269
9685
|
"const": "array",
|
|
9686
|
+
"title": "Type",
|
|
9687
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9270
9688
|
"documented": true,
|
|
9271
9689
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
9272
9690
|
},
|
|
9273
9691
|
"options": {
|
|
9274
|
-
"description": "This key defines options that are specific to Array Inputs.",
|
|
9275
9692
|
"type": "object",
|
|
9276
9693
|
"properties": {
|
|
9277
9694
|
"required": {
|
|
@@ -9332,6 +9749,7 @@
|
|
|
9332
9749
|
}
|
|
9333
9750
|
},
|
|
9334
9751
|
"additionalProperties": false,
|
|
9752
|
+
"description": "This key defines options that are specific to Array Inputs.",
|
|
9335
9753
|
"documented": true,
|
|
9336
9754
|
"title": "options",
|
|
9337
9755
|
"markdownDescription": "This key defines options that are specific to Array Inputs."
|
|
@@ -9341,6 +9759,8 @@
|
|
|
9341
9759
|
"type"
|
|
9342
9760
|
],
|
|
9343
9761
|
"additionalProperties": false,
|
|
9762
|
+
"title": "Array Input",
|
|
9763
|
+
"description": "This key defines a user interface for lists of inputs or input groups.",
|
|
9344
9764
|
"documented": true,
|
|
9345
9765
|
"markdownDescription": "This key defines a user interface for lists of inputs or input groups."
|
|
9346
9766
|
},
|
|
@@ -9369,9 +9789,6 @@
|
|
|
9369
9789
|
"markdownDescription": "This key toggles whether CloudCannon will hide the controls on each item for moving them.\n\nSetting this key to `true` will hide the controls for moving items.\n\nBy default, this key is `false` (i.e., the controls for moving items are displayed)."
|
|
9370
9790
|
},
|
|
9371
9791
|
"AutoInput": {
|
|
9372
|
-
"title": "Automatic Input",
|
|
9373
|
-
"description": "Provides a default user interface based on the data contained.",
|
|
9374
|
-
"excludeFromDocumentation": true,
|
|
9375
9792
|
"type": "object",
|
|
9376
9793
|
"properties": {
|
|
9377
9794
|
"comment": {
|
|
@@ -9416,10 +9833,10 @@
|
|
|
9416
9833
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9417
9834
|
},
|
|
9418
9835
|
"type": {
|
|
9419
|
-
"title": "Type",
|
|
9420
|
-
"description": "Sets an input type, which controls how this input appears and behaves.",
|
|
9421
9836
|
"type": "string",
|
|
9422
9837
|
"const": "auto",
|
|
9838
|
+
"title": "Type",
|
|
9839
|
+
"description": "Sets an input type, which controls how this input appears and behaves.",
|
|
9423
9840
|
"documented": false,
|
|
9424
9841
|
"markdownDescription": "Sets an input type, which controls how this input appears and behaves."
|
|
9425
9842
|
},
|
|
@@ -9434,13 +9851,13 @@
|
|
|
9434
9851
|
"type"
|
|
9435
9852
|
],
|
|
9436
9853
|
"additionalProperties": false,
|
|
9854
|
+
"title": "Automatic Input",
|
|
9855
|
+
"description": "Provides a default user interface based on the data contained.",
|
|
9856
|
+
"excludeFromDocumentation": true,
|
|
9437
9857
|
"documented": false,
|
|
9438
9858
|
"markdownDescription": "Provides a default user interface based on the data contained."
|
|
9439
9859
|
},
|
|
9440
9860
|
"UnknownInput": {
|
|
9441
|
-
"title": "Unknown Input",
|
|
9442
|
-
"description": "Provides a default user interface based on the data contained.",
|
|
9443
|
-
"excludeFromDocumentation": true,
|
|
9444
9861
|
"type": "object",
|
|
9445
9862
|
"properties": {
|
|
9446
9863
|
"comment": {
|
|
@@ -9492,115 +9909,13 @@
|
|
|
9492
9909
|
}
|
|
9493
9910
|
},
|
|
9494
9911
|
"additionalProperties": false,
|
|
9912
|
+
"title": "Unknown Input",
|
|
9913
|
+
"description": "Provides a default user interface based on the data contained.",
|
|
9914
|
+
"excludeFromDocumentation": true,
|
|
9495
9915
|
"documented": false,
|
|
9496
9916
|
"markdownDescription": "Provides a default user interface based on the data contained."
|
|
9497
|
-
},
|
|
9498
|
-
"type._inputs_from_glob": {
|
|
9499
|
-
"type": "array",
|
|
9500
|
-
"items": {
|
|
9501
|
-
"type": "string",
|
|
9502
|
-
"documented": true,
|
|
9503
|
-
"title": "_inputs_from_glob[*]",
|
|
9504
|
-
"description": "This key represents an individual glob pattern string in the `_inputs_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.inputs.yml`.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blog-details.cloudcannon.inputs.yml'\n```",
|
|
9505
|
-
"markdownDescription": "This key represents an individual glob pattern string in the `_inputs_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.inputs.yml`.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blog-details.cloudcannon.inputs.yml'\n```"
|
|
9506
|
-
},
|
|
9507
|
-
"documented": true,
|
|
9508
|
-
"title": "_inputs_from_glob",
|
|
9509
|
-
"description": "This key defines globs that filter which files CloudCannon should use for *Input* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.inputs.yml`.\n\nYou can use this key anywhere you would use the `_inputs` key in the configuration cascade.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blogDetails.cloudcannon.inputs.yml'\n```\n\n```yaml\nseo_title:\n type: text\n options:\n required: true\n max_length: 50\nseo_description:\n type: textarea\n options:\n show_count: true\n required: true\n max_length: 125\nseo_image:\n type: image\n options:\n path:\n uploads: images\n accepts_mime_types:\n - image/png\n - image/jpeg\n required: true\n pattern: (?i)\\.(jpe?g|png)$\n pattern_message: Please select a JPG or PNG image file\n```",
|
|
9510
|
-
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Input* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.inputs.yml`.\n\nYou can use this key anywhere you would use the `_inputs` key in the configuration cascade.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Input Configuration Files* in the `.cloudcannon/inputs/` folder, with each file containing multiple *Input* definitions. The value of the `_inputs_from_glob` key tells CloudCannon to only use the `seo.cloudcannon.inputs.yml` and `blog-details.cloudcannon.inputs.yml` files in that folder.\n\n```yaml\ncollections_config:\n posts:\n path: content/posts\n icon: event\n inputs_from_glob:\n - '/.cloudcannon/inputs/seo.cloudcannon.inputs.yml'\n - '/.cloudcannon/inputs/blogDetails.cloudcannon.inputs.yml'\n```\n\n```yaml\nseo_title:\n type: text\n options:\n required: true\n max_length: 50\nseo_description:\n type: textarea\n options:\n show_count: true\n required: true\n max_length: 125\nseo_image:\n type: image\n options:\n path:\n uploads: images\n accepts_mime_types:\n - image/png\n - image/jpeg\n required: true\n pattern: (?i)\\.(jpe?g|png)$\n pattern_message: Please select a JPG or PNG image file\n```"
|
|
9511
|
-
},
|
|
9512
|
-
"type._select_data": {
|
|
9513
|
-
"title": "Select Data",
|
|
9514
|
-
"description": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```",
|
|
9515
|
-
"type": "object",
|
|
9516
|
-
"propertyNames": {
|
|
9517
|
-
"type": "string"
|
|
9518
|
-
},
|
|
9519
|
-
"additionalProperties": {
|
|
9520
|
-
"description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
9521
|
-
"anyOf": [
|
|
9522
|
-
{
|
|
9523
|
-
"title": "Text Array Select Data",
|
|
9524
|
-
"type": "array",
|
|
9525
|
-
"items": {
|
|
9526
|
-
"type": "string",
|
|
9527
|
-
"documented": true,
|
|
9528
|
-
"title": "*(text-array)[*]"
|
|
9529
|
-
},
|
|
9530
|
-
"documented": true
|
|
9531
|
-
},
|
|
9532
|
-
{
|
|
9533
|
-
"title": "Text Object Select Data",
|
|
9534
|
-
"type": "object",
|
|
9535
|
-
"propertyNames": {
|
|
9536
|
-
"type": "string"
|
|
9537
|
-
},
|
|
9538
|
-
"additionalProperties": {
|
|
9539
|
-
"type": "string",
|
|
9540
|
-
"documented": true,
|
|
9541
|
-
"title": "*(text-object).*"
|
|
9542
|
-
},
|
|
9543
|
-
"documented": true
|
|
9544
|
-
},
|
|
9545
|
-
{
|
|
9546
|
-
"title": "Object Array Select Data",
|
|
9547
|
-
"type": "array",
|
|
9548
|
-
"items": {
|
|
9549
|
-
"type": "object",
|
|
9550
|
-
"propertyNames": {
|
|
9551
|
-
"type": "string"
|
|
9552
|
-
},
|
|
9553
|
-
"additionalProperties": {},
|
|
9554
|
-
"documented": true,
|
|
9555
|
-
"title": "*(object-array)[*]"
|
|
9556
|
-
},
|
|
9557
|
-
"documented": true
|
|
9558
|
-
},
|
|
9559
|
-
{
|
|
9560
|
-
"title": "Object Select Data",
|
|
9561
|
-
"type": "object",
|
|
9562
|
-
"propertyNames": {
|
|
9563
|
-
"type": "string"
|
|
9564
|
-
},
|
|
9565
|
-
"additionalProperties": {},
|
|
9566
|
-
"documented": true
|
|
9567
|
-
}
|
|
9568
|
-
],
|
|
9569
|
-
"documented": true,
|
|
9570
|
-
"title": "_select_data.*",
|
|
9571
|
-
"markdownDescription": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
9572
|
-
},
|
|
9573
|
-
"documented": true,
|
|
9574
|
-
"markdownDescription": "This key defines defines fixed data sets to populate Select and Multiselect inputs at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_select_data` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [Select and Multiselect inputs](https://cloudcannon.com/documentation/articles/what-is-a-select-input/#fixed-data-sets).\n\n## Examples\n\nIn this example, we have configured the `blog_tags` Multiselect input for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _select_data:\n blog_topics:\n - Opinion\n - Feature\n - Resource\n```"
|
|
9575
|
-
},
|
|
9576
|
-
"type._structures": {
|
|
9577
|
-
"title": "Structures",
|
|
9578
|
-
"description": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```",
|
|
9579
|
-
"type": "object",
|
|
9580
|
-
"propertyNames": {
|
|
9581
|
-
"type": "string"
|
|
9582
|
-
},
|
|
9583
|
-
"additionalProperties": {
|
|
9584
|
-
"$ref": "#/definitions/type.structure"
|
|
9585
|
-
},
|
|
9586
|
-
"documented": true,
|
|
9587
|
-
"markdownDescription": "This key defines which structures are available for [Object inputs](https://cloudcannon.com/documentation/articles/what-is-an-object-input/) and [Array\ninputs](https://cloudcannon.com/documentation/articles/what-is-an-array-input/) at a given level of the configuration cascade.\n\nThis key has no default.\n\nIf undefined at higher levels of the [configuration cascade](https://cloudcannon.com/documentation/articles/using-the-configuration-cascade/), `_structures` will default to\nany values configured in the [CloudCannon configuration file](https://cloudcannon.com/documentation/articles/what-is-the-cloudcannon-configuration-file/).\n\nFor more information, please read our documentation on [structures](https://cloudcannon.com/documentation/articles/what-is-a-structure/).\n\n## Examples\n\nIn this example, we want to populate an Array input in the `blog` Collection with Related Articles, including the `name`, `description`, and `url` fields.\n\n```yaml\ncollections_config:\n blog:\n _structures:\n related_articles:\n style: select\n values:\n - preview:\n text:\n - key: name\n subtext:\n - key: url\n value:\n name:\n description:\n url:\n```\n\nIn this example, we want to populate an Array input with Staff members, including the `name`, `job_description`, and `profile_picture` fields for all staff types, and the `url` field for Managers only.\n\n```yaml\n_structures:\n staff:\n style: modal\n hide_extra_inputs: false\n values:\n - value:\n _type: Employee\n name:\n job_description:\n profile_picture:\n preview:\n text:\n - key: name\n - Employee\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: support_agent\n - value:\n _type: Manager\n name:\n job_description:\n profile_picture:\n url:\n preview:\n text:\n - key: name\n - Manager\n subtext:\n - key: job_description\n - Description of position\n image:\n - key: profile_picture\n icon: face\n```"
|
|
9588
|
-
},
|
|
9589
|
-
"type._structures_from_glob": {
|
|
9590
|
-
"type": "array",
|
|
9591
|
-
"items": {
|
|
9592
|
-
"type": "string",
|
|
9593
|
-
"documented": true,
|
|
9594
|
-
"title": "_structures_from_glob[*]",
|
|
9595
|
-
"description": "This key represents an individual glob pattern string in the `_structures_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structures.yml`.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```",
|
|
9596
|
-
"markdownDescription": "This key represents an individual glob pattern string in the `_structures_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structures.yml`.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```"
|
|
9597
|
-
},
|
|
9598
|
-
"documented": true,
|
|
9599
|
-
"title": "_structures_from_glob",
|
|
9600
|
-
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structures.yml`.\n\nYou can use this key anywhere you would use the `_structures` key in the configuration cascade.\n\nPlease see our documentation on [values_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/structure/values_from_glob/) for defining individual\n*Structure* values in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```\n\n```yaml\nstaff:\n style: modal\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```",
|
|
9601
|
-
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structures.yml`.\n\nYou can use this key anywhere you would use the `_structures` key in the configuration cascade.\n\nPlease see our documentation on [values_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/structure/values_from_glob/) for defining individual\n*Structure* values in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, we have several *Structure Configuration Files* in the `.cloudcannon/structures/` folder. The value of the `_structures_from_glob` key tells CloudCannon to use the `staffMembers.cloudcannon.structures.yml` file in that folder.\n\n```yaml\n_structures_from_glob:\n - '/.cloudcannon/structures/staffMembers.cloudcannon.structures.yml'\n```\n\n```yaml\nstaff:\n style: modal\n values:\n - label: Employee\n value:\n name:\n job_description:\n profile_picture:\n - label: Manager\n value:\n name:\n job_description:\n profile_picture:\n url:\n```"
|
|
9602
9917
|
}
|
|
9603
9918
|
},
|
|
9604
9919
|
"documented": false,
|
|
9605
|
-
"
|
|
9920
|
+
"title": ""
|
|
9606
9921
|
}
|