@cloudcannon/configuration-types 0.0.53 → 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 +956 -2187
- package/dist/cloudcannon-config.documentation.schema.json +487 -488
- package/dist/cloudcannon-config.latest.schema.json +248 -248
- package/dist/cloudcannon-config.legacy-eleventy.schema.json +312 -315
- package/dist/cloudcannon-config.legacy-hugo.schema.json +312 -315
- package/dist/cloudcannon-config.legacy-jekyll.schema.json +312 -315
- package/dist/cloudcannon-config.legacy-reader.schema.json +313 -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 +177 -179
- package/dist/cloudcannon-routing.documentation.schema.json +23 -23
- package/dist/cloudcannon-routing.schema.json +13 -13
- package/dist/cloudcannon-schemas.schema.json +173 -173
- package/dist/cloudcannon-snippets-definitions.schema.json +21 -21
- package/dist/cloudcannon-snippets-imports.schema.json +55 -55
- package/dist/cloudcannon-snippets.schema.json +177 -177
- package/dist/cloudcannon-structure-value.schema.json +534 -533
- package/dist/cloudcannon-structures.schema.json +177 -179
- package/dist/documentation.json +10 -7
- package/package.json +4 -4
- package/src/inputs.ts +1 -4
|
@@ -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": {
|
|
@@ -878,6 +616,7 @@
|
|
|
878
616
|
}
|
|
879
617
|
},
|
|
880
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```",
|
|
881
620
|
"documented": true,
|
|
882
621
|
"title": "options",
|
|
883
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```"
|
|
@@ -887,6 +626,8 @@
|
|
|
887
626
|
"type"
|
|
888
627
|
],
|
|
889
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```",
|
|
890
631
|
"documented": true,
|
|
891
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```"
|
|
892
633
|
},
|
|
@@ -898,7 +639,6 @@
|
|
|
898
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```"
|
|
899
640
|
},
|
|
900
641
|
"type._inputs.*.context": {
|
|
901
|
-
"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```",
|
|
902
642
|
"type": "object",
|
|
903
643
|
"properties": {
|
|
904
644
|
"content": {
|
|
@@ -936,13 +676,12 @@
|
|
|
936
676
|
}
|
|
937
677
|
},
|
|
938
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```",
|
|
939
680
|
"documented": true,
|
|
940
681
|
"title": "context",
|
|
941
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```"
|
|
942
683
|
},
|
|
943
684
|
"icon": {
|
|
944
|
-
"title": "Icon",
|
|
945
|
-
"description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
|
|
946
685
|
"type": "string",
|
|
947
686
|
"enum": [
|
|
948
687
|
"123",
|
|
@@ -4530,17 +4269,17 @@
|
|
|
4530
4269
|
"zoom_out",
|
|
4531
4270
|
"zoom_out_map"
|
|
4532
4271
|
],
|
|
4272
|
+
"title": "Icon",
|
|
4273
|
+
"description": "Material Symbol icon names available in CloudCannon for UI elements and content previews.",
|
|
4533
4274
|
"documented": false,
|
|
4534
4275
|
"markdownDescription": "Material Symbol icon names available in CloudCannon for UI elements and content previews."
|
|
4535
4276
|
},
|
|
4536
4277
|
"type.documentation": {
|
|
4537
|
-
"title": "Documentation",
|
|
4538
|
-
"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```",
|
|
4539
4278
|
"type": "object",
|
|
4540
4279
|
"properties": {
|
|
4541
4280
|
"url": {
|
|
4542
|
-
"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```",
|
|
4543
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```",
|
|
4544
4283
|
"documented": true,
|
|
4545
4284
|
"title": "url",
|
|
4546
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```"
|
|
@@ -4569,6 +4308,8 @@
|
|
|
4569
4308
|
"url"
|
|
4570
4309
|
],
|
|
4571
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```",
|
|
4572
4313
|
"documented": true,
|
|
4573
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```"
|
|
4574
4315
|
},
|
|
@@ -4584,15 +4325,15 @@
|
|
|
4584
4325
|
"default": false,
|
|
4585
4326
|
"anyOf": [
|
|
4586
4327
|
{
|
|
4587
|
-
"title": "Boolean Hidden",
|
|
4588
4328
|
"type": "boolean",
|
|
4329
|
+
"title": "Boolean Hidden",
|
|
4589
4330
|
"documented": true,
|
|
4590
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```",
|
|
4591
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```"
|
|
4592
4333
|
},
|
|
4593
4334
|
{
|
|
4594
|
-
"title": "Query String Hidden",
|
|
4595
4335
|
"type": "string",
|
|
4336
|
+
"title": "Query String Hidden",
|
|
4596
4337
|
"documented": true,
|
|
4597
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```",
|
|
4598
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```"
|
|
@@ -4607,15 +4348,15 @@
|
|
|
4607
4348
|
"default": false,
|
|
4608
4349
|
"anyOf": [
|
|
4609
4350
|
{
|
|
4610
|
-
"title": "Boolean",
|
|
4611
4351
|
"type": "boolean",
|
|
4352
|
+
"title": "Boolean",
|
|
4612
4353
|
"documented": true,
|
|
4613
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```",
|
|
4614
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```"
|
|
4615
4356
|
},
|
|
4616
4357
|
{
|
|
4617
|
-
"title": "Query String",
|
|
4618
4358
|
"type": "string",
|
|
4359
|
+
"title": "Query String",
|
|
4619
4360
|
"documented": true,
|
|
4620
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```",
|
|
4621
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```"
|
|
@@ -4831,8 +4572,8 @@
|
|
|
4831
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```"
|
|
4832
4573
|
},
|
|
4833
4574
|
"type._inputs.*.options.empty_type(text)": {
|
|
4834
|
-
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
|
|
4835
4575
|
"default": "null",
|
|
4576
|
+
"description": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values.",
|
|
4836
4577
|
"type": "string",
|
|
4837
4578
|
"enum": [
|
|
4838
4579
|
"null",
|
|
@@ -4843,8 +4584,6 @@
|
|
|
4843
4584
|
"markdownDescription": "This key defines how an 'empty' value will be saved. Does not apply to existing empty values."
|
|
4844
4585
|
},
|
|
4845
4586
|
"TextareaInput": {
|
|
4846
|
-
"title": "Textarea Input",
|
|
4847
|
-
"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```",
|
|
4848
4587
|
"type": "object",
|
|
4849
4588
|
"properties": {
|
|
4850
4589
|
"comment": {
|
|
@@ -4889,15 +4628,14 @@
|
|
|
4889
4628
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
4890
4629
|
},
|
|
4891
4630
|
"type": {
|
|
4892
|
-
"title": "Type",
|
|
4893
|
-
"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```",
|
|
4894
4631
|
"type": "string",
|
|
4895
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```",
|
|
4896
4635
|
"documented": true,
|
|
4897
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```"
|
|
4898
4637
|
},
|
|
4899
4638
|
"options": {
|
|
4900
|
-
"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```",
|
|
4901
4639
|
"type": "object",
|
|
4902
4640
|
"properties": {
|
|
4903
4641
|
"max_length": {
|
|
@@ -4980,6 +4718,7 @@
|
|
|
4980
4718
|
}
|
|
4981
4719
|
},
|
|
4982
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```",
|
|
4983
4722
|
"documented": true,
|
|
4984
4723
|
"title": "options",
|
|
4985
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```"
|
|
@@ -4989,12 +4728,12 @@
|
|
|
4989
4728
|
"type"
|
|
4990
4729
|
],
|
|
4991
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```",
|
|
4992
4733
|
"documented": true,
|
|
4993
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```"
|
|
4994
4735
|
},
|
|
4995
4736
|
"CodeInput": {
|
|
4996
|
-
"title": "Code Input",
|
|
4997
|
-
"description": "This key defines an editing interface for code or mono-spaced plain text content.",
|
|
4998
4737
|
"type": "object",
|
|
4999
4738
|
"properties": {
|
|
5000
4739
|
"comment": {
|
|
@@ -5039,15 +4778,14 @@
|
|
|
5039
4778
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5040
4779
|
},
|
|
5041
4780
|
"type": {
|
|
5042
|
-
"title": "Type",
|
|
5043
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5044
4781
|
"type": "string",
|
|
5045
4782
|
"const": "code",
|
|
4783
|
+
"title": "Type",
|
|
4784
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5046
4785
|
"documented": true,
|
|
5047
4786
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5048
4787
|
},
|
|
5049
4788
|
"options": {
|
|
5050
|
-
"description": "This key defines options that are specific to Code Inputs.",
|
|
5051
4789
|
"type": "object",
|
|
5052
4790
|
"properties": {
|
|
5053
4791
|
"tab_size": {
|
|
@@ -5176,6 +4914,7 @@
|
|
|
5176
4914
|
}
|
|
5177
4915
|
},
|
|
5178
4916
|
"additionalProperties": false,
|
|
4917
|
+
"description": "This key defines options that are specific to Code Inputs.",
|
|
5179
4918
|
"documented": true,
|
|
5180
4919
|
"title": "options",
|
|
5181
4920
|
"markdownDescription": "This key defines options that are specific to Code Inputs."
|
|
@@ -5185,6 +4924,8 @@
|
|
|
5185
4924
|
"type"
|
|
5186
4925
|
],
|
|
5187
4926
|
"additionalProperties": false,
|
|
4927
|
+
"title": "Code Input",
|
|
4928
|
+
"description": "This key defines an editing interface for code or mono-spaced plain text content.",
|
|
5188
4929
|
"documented": true,
|
|
5189
4930
|
"markdownDescription": "This key defines an editing interface for code or mono-spaced plain text content."
|
|
5190
4931
|
},
|
|
@@ -5221,8 +4962,6 @@
|
|
|
5221
4962
|
"title": "theme(theme)"
|
|
5222
4963
|
},
|
|
5223
4964
|
"Syntax": {
|
|
5224
|
-
"title": "Syntax",
|
|
5225
|
-
"description": "Available syntax highlighting languages for code editors in CloudCannon.",
|
|
5226
4965
|
"type": "string",
|
|
5227
4966
|
"enum": [
|
|
5228
4967
|
"c_cpp",
|
|
@@ -5294,12 +5033,12 @@
|
|
|
5294
5033
|
"xquery",
|
|
5295
5034
|
"yaml"
|
|
5296
5035
|
],
|
|
5036
|
+
"title": "Syntax",
|
|
5037
|
+
"description": "Available syntax highlighting languages for code editors in CloudCannon.",
|
|
5297
5038
|
"documented": false,
|
|
5298
5039
|
"markdownDescription": "Available syntax highlighting languages for code editors in CloudCannon."
|
|
5299
5040
|
},
|
|
5300
5041
|
"ColorInput": {
|
|
5301
|
-
"title": "Color Input",
|
|
5302
|
-
"description": "This key defines an editing interface for color values.",
|
|
5303
5042
|
"type": "object",
|
|
5304
5043
|
"properties": {
|
|
5305
5044
|
"comment": {
|
|
@@ -5344,15 +5083,14 @@
|
|
|
5344
5083
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5345
5084
|
},
|
|
5346
5085
|
"type": {
|
|
5347
|
-
"title": "Type",
|
|
5348
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5349
5086
|
"type": "string",
|
|
5350
5087
|
"const": "color",
|
|
5088
|
+
"title": "Type",
|
|
5089
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5351
5090
|
"documented": true,
|
|
5352
5091
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5353
5092
|
},
|
|
5354
5093
|
"options": {
|
|
5355
|
-
"description": "This key defines options that are specific to Color Inputs.",
|
|
5356
5094
|
"type": "object",
|
|
5357
5095
|
"properties": {
|
|
5358
5096
|
"max_length": {
|
|
@@ -5462,6 +5200,7 @@
|
|
|
5462
5200
|
}
|
|
5463
5201
|
},
|
|
5464
5202
|
"additionalProperties": false,
|
|
5203
|
+
"description": "This key defines options that are specific to Color Inputs.",
|
|
5465
5204
|
"documented": true,
|
|
5466
5205
|
"title": "options",
|
|
5467
5206
|
"markdownDescription": "This key defines options that are specific to Color Inputs."
|
|
@@ -5471,12 +5210,12 @@
|
|
|
5471
5210
|
"type"
|
|
5472
5211
|
],
|
|
5473
5212
|
"additionalProperties": false,
|
|
5213
|
+
"title": "Color Input",
|
|
5214
|
+
"description": "This key defines an editing interface for color values.",
|
|
5474
5215
|
"documented": true,
|
|
5475
5216
|
"markdownDescription": "This key defines an editing interface for color values."
|
|
5476
5217
|
},
|
|
5477
5218
|
"BooleanInput": {
|
|
5478
|
-
"title": "Boolean Input",
|
|
5479
|
-
"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```",
|
|
5480
5219
|
"type": "object",
|
|
5481
5220
|
"properties": {
|
|
5482
5221
|
"comment": {
|
|
@@ -5521,13 +5260,13 @@
|
|
|
5521
5260
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5522
5261
|
},
|
|
5523
5262
|
"type": {
|
|
5524
|
-
"title": "Type",
|
|
5525
|
-
"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```",
|
|
5526
5263
|
"type": "string",
|
|
5527
5264
|
"enum": [
|
|
5528
5265
|
"checkbox",
|
|
5529
5266
|
"switch"
|
|
5530
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```",
|
|
5531
5270
|
"documented": true,
|
|
5532
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```"
|
|
5533
5272
|
}
|
|
@@ -5536,12 +5275,12 @@
|
|
|
5536
5275
|
"type"
|
|
5537
5276
|
],
|
|
5538
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```",
|
|
5539
5280
|
"documented": true,
|
|
5540
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```"
|
|
5541
5282
|
},
|
|
5542
5283
|
"NumberInput": {
|
|
5543
|
-
"title": "Number Input",
|
|
5544
|
-
"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```",
|
|
5545
5284
|
"type": "object",
|
|
5546
5285
|
"properties": {
|
|
5547
5286
|
"comment": {
|
|
@@ -5586,15 +5325,14 @@
|
|
|
5586
5325
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5587
5326
|
},
|
|
5588
5327
|
"type": {
|
|
5589
|
-
"title": "Type",
|
|
5590
|
-
"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```",
|
|
5591
5328
|
"type": "string",
|
|
5592
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```",
|
|
5593
5332
|
"documented": true,
|
|
5594
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```"
|
|
5595
5334
|
},
|
|
5596
5335
|
"options": {
|
|
5597
|
-
"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```",
|
|
5598
5336
|
"type": "object",
|
|
5599
5337
|
"properties": {
|
|
5600
5338
|
"required": {
|
|
@@ -5641,6 +5379,7 @@
|
|
|
5641
5379
|
}
|
|
5642
5380
|
},
|
|
5643
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```",
|
|
5644
5383
|
"documented": true,
|
|
5645
5384
|
"title": "options",
|
|
5646
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```"
|
|
@@ -5650,12 +5389,14 @@
|
|
|
5650
5389
|
"type"
|
|
5651
5390
|
],
|
|
5652
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```",
|
|
5653
5394
|
"documented": true,
|
|
5654
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```"
|
|
5655
5396
|
},
|
|
5656
5397
|
"type._inputs.*.options.empty_type(number)": {
|
|
5657
|
-
"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```",
|
|
5658
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```",
|
|
5659
5400
|
"type": "string",
|
|
5660
5401
|
"enum": [
|
|
5661
5402
|
"null",
|
|
@@ -5666,15 +5407,15 @@
|
|
|
5666
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```"
|
|
5667
5408
|
},
|
|
5668
5409
|
"type._inputs.*.options.min": {
|
|
5669
|
-
"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```",
|
|
5670
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```",
|
|
5671
5412
|
"documented": true,
|
|
5672
5413
|
"title": "min",
|
|
5673
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```"
|
|
5674
5415
|
},
|
|
5675
5416
|
"type._inputs.*.options.max": {
|
|
5676
|
-
"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```",
|
|
5677
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```",
|
|
5678
5419
|
"documented": true,
|
|
5679
5420
|
"title": "max",
|
|
5680
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```"
|
|
@@ -5701,8 +5442,6 @@
|
|
|
5701
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```"
|
|
5702
5443
|
},
|
|
5703
5444
|
"RangeInput": {
|
|
5704
|
-
"title": "Range Input",
|
|
5705
|
-
"description": "This key defines a slider interface for selecting a numeric value.",
|
|
5706
5445
|
"type": "object",
|
|
5707
5446
|
"properties": {
|
|
5708
5447
|
"comment": {
|
|
@@ -5747,15 +5486,14 @@
|
|
|
5747
5486
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5748
5487
|
},
|
|
5749
5488
|
"type": {
|
|
5750
|
-
"title": "Type",
|
|
5751
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5752
5489
|
"type": "string",
|
|
5753
5490
|
"const": "range",
|
|
5491
|
+
"title": "Type",
|
|
5492
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5754
5493
|
"documented": true,
|
|
5755
5494
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5756
5495
|
},
|
|
5757
5496
|
"options": {
|
|
5758
|
-
"description": "This key defines options that are specific to Range Inputs.",
|
|
5759
5497
|
"type": "object",
|
|
5760
5498
|
"properties": {
|
|
5761
5499
|
"required": {
|
|
@@ -5794,6 +5532,7 @@
|
|
|
5794
5532
|
"max"
|
|
5795
5533
|
],
|
|
5796
5534
|
"additionalProperties": false,
|
|
5535
|
+
"description": "This key defines options that are specific to Range Inputs.",
|
|
5797
5536
|
"documented": true,
|
|
5798
5537
|
"title": "options",
|
|
5799
5538
|
"markdownDescription": "This key defines options that are specific to Range Inputs."
|
|
@@ -5803,12 +5542,12 @@
|
|
|
5803
5542
|
"type"
|
|
5804
5543
|
],
|
|
5805
5544
|
"additionalProperties": false,
|
|
5545
|
+
"title": "Range Input",
|
|
5546
|
+
"description": "This key defines a slider interface for selecting a numeric value.",
|
|
5806
5547
|
"documented": true,
|
|
5807
5548
|
"markdownDescription": "This key defines a slider interface for selecting a numeric value."
|
|
5808
5549
|
},
|
|
5809
5550
|
"RichTextInput": {
|
|
5810
|
-
"title": "Rich Text Input",
|
|
5811
|
-
"description": "This key defines an editing interface for HTML markup content.",
|
|
5812
5551
|
"type": "object",
|
|
5813
5552
|
"properties": {
|
|
5814
5553
|
"comment": {
|
|
@@ -5853,18 +5592,17 @@
|
|
|
5853
5592
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
5854
5593
|
},
|
|
5855
5594
|
"type": {
|
|
5856
|
-
"title": "Type",
|
|
5857
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5858
5595
|
"type": "string",
|
|
5859
5596
|
"enum": [
|
|
5860
5597
|
"html",
|
|
5861
5598
|
"markdown"
|
|
5862
5599
|
],
|
|
5600
|
+
"title": "Type",
|
|
5601
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
5863
5602
|
"documented": true,
|
|
5864
5603
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
5865
5604
|
},
|
|
5866
5605
|
"options": {
|
|
5867
|
-
"description": "This key defines options that are specific to Rich Text Inputs.",
|
|
5868
5606
|
"type": "object",
|
|
5869
5607
|
"properties": {
|
|
5870
5608
|
"mime_type": {
|
|
@@ -6070,11 +5808,11 @@
|
|
|
6070
5808
|
},
|
|
6071
5809
|
"allow_resize": {
|
|
6072
5810
|
"deprecated": true,
|
|
6073
|
-
"description": "**⚠️ DEPRECATED:** This key is deprecated. Use `preview_resize` instead.\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).",
|
|
6074
5811
|
"type": "boolean",
|
|
6075
5812
|
"documented": true,
|
|
6076
5813
|
"title": "allow_resize",
|
|
6077
|
-
"
|
|
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)."
|
|
6078
5816
|
},
|
|
6079
5817
|
"prevent_resize": {
|
|
6080
5818
|
"description": "Shows or hides the resize handler to vertically resize the input.",
|
|
@@ -6093,6 +5831,7 @@
|
|
|
6093
5831
|
}
|
|
6094
5832
|
},
|
|
6095
5833
|
"additionalProperties": false,
|
|
5834
|
+
"description": "This key defines options that are specific to Rich Text Inputs.",
|
|
6096
5835
|
"documented": true,
|
|
6097
5836
|
"title": "options",
|
|
6098
5837
|
"markdownDescription": "This key defines options that are specific to Rich Text Inputs."
|
|
@@ -6102,6 +5841,8 @@
|
|
|
6102
5841
|
"type"
|
|
6103
5842
|
],
|
|
6104
5843
|
"additionalProperties": false,
|
|
5844
|
+
"title": "Rich Text Input",
|
|
5845
|
+
"description": "This key defines an editing interface for HTML markup content.",
|
|
6105
5846
|
"documented": true,
|
|
6106
5847
|
"markdownDescription": "This key defines an editing interface for HTML markup content."
|
|
6107
5848
|
},
|
|
@@ -6191,8 +5932,8 @@
|
|
|
6191
5932
|
"type": "object",
|
|
6192
5933
|
"properties": {
|
|
6193
5934
|
"size": {
|
|
6194
|
-
"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```",
|
|
6195
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```",
|
|
6196
5937
|
"documented": true,
|
|
6197
5938
|
"title": "size",
|
|
6198
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```"
|
|
@@ -6218,7 +5959,6 @@
|
|
|
6218
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```"
|
|
6219
5960
|
},
|
|
6220
5961
|
"type.paths": {
|
|
6221
|
-
"title": "Paths",
|
|
6222
5962
|
"type": "object",
|
|
6223
5963
|
"properties": {
|
|
6224
5964
|
"static": {
|
|
@@ -6244,6 +5984,7 @@
|
|
|
6244
5984
|
}
|
|
6245
5985
|
},
|
|
6246
5986
|
"additionalProperties": false,
|
|
5987
|
+
"title": "Paths",
|
|
6247
5988
|
"documented": true,
|
|
6248
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```",
|
|
6249
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```"
|
|
@@ -6565,8 +6306,6 @@
|
|
|
6565
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."
|
|
6566
6307
|
},
|
|
6567
6308
|
"DateInput": {
|
|
6568
|
-
"title": "Date/Datetime Input",
|
|
6569
|
-
"description": "This key defines an editing interface for date and/or time values.",
|
|
6570
6309
|
"type": "object",
|
|
6571
6310
|
"properties": {
|
|
6572
6311
|
"comment": {
|
|
@@ -6611,18 +6350,17 @@
|
|
|
6611
6350
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
6612
6351
|
},
|
|
6613
6352
|
"type": {
|
|
6614
|
-
"title": "Type",
|
|
6615
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
6616
6353
|
"type": "string",
|
|
6617
6354
|
"enum": [
|
|
6618
6355
|
"date",
|
|
6619
6356
|
"datetime"
|
|
6620
6357
|
],
|
|
6358
|
+
"title": "Type",
|
|
6359
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
6621
6360
|
"documented": true,
|
|
6622
6361
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
6623
6362
|
},
|
|
6624
6363
|
"options": {
|
|
6625
|
-
"description": "This key defines options that are specific to Date Inputs.",
|
|
6626
6364
|
"type": "object",
|
|
6627
6365
|
"properties": {
|
|
6628
6366
|
"required": {
|
|
@@ -6655,10 +6393,10 @@
|
|
|
6655
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```",
|
|
6656
6394
|
"anyOf": [
|
|
6657
6395
|
{
|
|
6658
|
-
"title": "String Start From",
|
|
6659
6396
|
"type": "string",
|
|
6660
6397
|
"format": "date-time",
|
|
6661
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",
|
|
6662
6400
|
"documented": true,
|
|
6663
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.",
|
|
6664
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."
|
|
@@ -6685,10 +6423,10 @@
|
|
|
6685
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```",
|
|
6686
6424
|
"anyOf": [
|
|
6687
6425
|
{
|
|
6688
|
-
"title": "String End Before",
|
|
6689
6426
|
"type": "string",
|
|
6690
6427
|
"format": "date-time",
|
|
6691
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",
|
|
6692
6430
|
"documented": true,
|
|
6693
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.",
|
|
6694
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."
|
|
@@ -6713,6 +6451,7 @@
|
|
|
6713
6451
|
}
|
|
6714
6452
|
},
|
|
6715
6453
|
"additionalProperties": false,
|
|
6454
|
+
"description": "This key defines options that are specific to Date Inputs.",
|
|
6716
6455
|
"documented": true,
|
|
6717
6456
|
"title": "options",
|
|
6718
6457
|
"markdownDescription": "This key defines options that are specific to Date Inputs."
|
|
@@ -6722,11 +6461,12 @@
|
|
|
6722
6461
|
"type"
|
|
6723
6462
|
],
|
|
6724
6463
|
"additionalProperties": false,
|
|
6464
|
+
"title": "Date/Datetime Input",
|
|
6465
|
+
"description": "This key defines an editing interface for date and/or time values.",
|
|
6725
6466
|
"documented": true,
|
|
6726
6467
|
"markdownDescription": "This key defines an editing interface for date and/or time values."
|
|
6727
6468
|
},
|
|
6728
6469
|
"type.timezone": {
|
|
6729
|
-
"title": "Timezone",
|
|
6730
6470
|
"type": "string",
|
|
6731
6471
|
"enum": [
|
|
6732
6472
|
"Africa/Abidjan",
|
|
@@ -7325,13 +7065,12 @@
|
|
|
7325
7065
|
"WET",
|
|
7326
7066
|
"Zulu"
|
|
7327
7067
|
],
|
|
7068
|
+
"title": "Timezone",
|
|
7328
7069
|
"documented": true,
|
|
7329
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/).",
|
|
7330
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/)."
|
|
7331
7072
|
},
|
|
7332
7073
|
"TimeInput": {
|
|
7333
|
-
"title": "Time Input",
|
|
7334
|
-
"description": "This key defines an editing interface for time values only.",
|
|
7335
7074
|
"type": "object",
|
|
7336
7075
|
"properties": {
|
|
7337
7076
|
"comment": {
|
|
@@ -7376,15 +7115,14 @@
|
|
|
7376
7115
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7377
7116
|
},
|
|
7378
7117
|
"type": {
|
|
7379
|
-
"title": "Type",
|
|
7380
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7381
7118
|
"type": "string",
|
|
7382
7119
|
"const": "time",
|
|
7120
|
+
"title": "Type",
|
|
7121
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7383
7122
|
"documented": true,
|
|
7384
7123
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7385
7124
|
},
|
|
7386
7125
|
"options": {
|
|
7387
|
-
"description": "This key defines options that are specific to Time Inputs.",
|
|
7388
7126
|
"type": "object",
|
|
7389
7127
|
"properties": {
|
|
7390
7128
|
"required": {
|
|
@@ -7404,6 +7142,7 @@
|
|
|
7404
7142
|
}
|
|
7405
7143
|
},
|
|
7406
7144
|
"additionalProperties": false,
|
|
7145
|
+
"description": "This key defines options that are specific to Time Inputs.",
|
|
7407
7146
|
"documented": true,
|
|
7408
7147
|
"title": "options",
|
|
7409
7148
|
"markdownDescription": "This key defines options that are specific to Time Inputs."
|
|
@@ -7413,12 +7152,12 @@
|
|
|
7413
7152
|
"type"
|
|
7414
7153
|
],
|
|
7415
7154
|
"additionalProperties": false,
|
|
7155
|
+
"title": "Time Input",
|
|
7156
|
+
"description": "This key defines an editing interface for time values only.",
|
|
7416
7157
|
"documented": true,
|
|
7417
7158
|
"markdownDescription": "This key defines an editing interface for time values only."
|
|
7418
7159
|
},
|
|
7419
7160
|
"FileInput": {
|
|
7420
|
-
"title": "File Input",
|
|
7421
|
-
"description": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets.",
|
|
7422
7161
|
"type": "object",
|
|
7423
7162
|
"properties": {
|
|
7424
7163
|
"comment": {
|
|
@@ -7463,19 +7202,18 @@
|
|
|
7463
7202
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
7464
7203
|
},
|
|
7465
7204
|
"type": {
|
|
7466
|
-
"title": "Type",
|
|
7467
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7468
7205
|
"type": "string",
|
|
7469
7206
|
"enum": [
|
|
7470
7207
|
"file",
|
|
7471
7208
|
"document",
|
|
7472
7209
|
"image"
|
|
7473
7210
|
],
|
|
7211
|
+
"title": "Type",
|
|
7212
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
7474
7213
|
"documented": true,
|
|
7475
7214
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
7476
7215
|
},
|
|
7477
7216
|
"options": {
|
|
7478
|
-
"description": "This key defines options that are specific to File Inputs.",
|
|
7479
7217
|
"type": "object",
|
|
7480
7218
|
"properties": {
|
|
7481
7219
|
"mime_type": {
|
|
@@ -7597,6 +7335,7 @@
|
|
|
7597
7335
|
}
|
|
7598
7336
|
},
|
|
7599
7337
|
"additionalProperties": false,
|
|
7338
|
+
"description": "This key defines options that are specific to File Inputs.",
|
|
7600
7339
|
"documented": true,
|
|
7601
7340
|
"title": "options",
|
|
7602
7341
|
"markdownDescription": "This key defines options that are specific to File Inputs."
|
|
@@ -7606,6 +7345,8 @@
|
|
|
7606
7345
|
"type"
|
|
7607
7346
|
],
|
|
7608
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.",
|
|
7609
7350
|
"documented": true,
|
|
7610
7351
|
"markdownDescription": "This key defines an editing interface for uploading files to your repository or DAM and browsing existing assets."
|
|
7611
7352
|
},
|
|
@@ -7613,18 +7354,18 @@
|
|
|
7613
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```",
|
|
7614
7355
|
"anyOf": [
|
|
7615
7356
|
{
|
|
7616
|
-
"title": "Comma Separated Accepts Mime Types",
|
|
7617
7357
|
"type": "string",
|
|
7358
|
+
"title": "Comma Separated Accepts Mime Types",
|
|
7618
7359
|
"documented": true,
|
|
7619
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```",
|
|
7620
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```"
|
|
7621
7362
|
},
|
|
7622
7363
|
{
|
|
7623
|
-
"title": "Array Accepts Mime Types",
|
|
7624
7364
|
"type": "array",
|
|
7625
7365
|
"items": {
|
|
7626
7366
|
"$ref": "#/definitions/MimeType"
|
|
7627
7367
|
},
|
|
7368
|
+
"title": "Array Accepts Mime Types",
|
|
7628
7369
|
"documented": true,
|
|
7629
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```",
|
|
7630
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```"
|
|
@@ -7635,8 +7376,6 @@
|
|
|
7635
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```"
|
|
7636
7377
|
},
|
|
7637
7378
|
"MimeType": {
|
|
7638
|
-
"title": "Mime Type",
|
|
7639
|
-
"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```",
|
|
7640
7379
|
"type": "string",
|
|
7641
7380
|
"enum": [
|
|
7642
7381
|
"x-world/x-3dmf",
|
|
@@ -8073,6 +7812,8 @@
|
|
|
8073
7812
|
"multipart/x-zip",
|
|
8074
7813
|
"text/x-script.zsh"
|
|
8075
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```",
|
|
8076
7817
|
"documented": true,
|
|
8077
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```"
|
|
8078
7819
|
},
|
|
@@ -8115,8 +7856,6 @@
|
|
|
8115
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```"
|
|
8116
7857
|
},
|
|
8117
7858
|
"UrlInput": {
|
|
8118
|
-
"title": "URL Input",
|
|
8119
|
-
"description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
|
|
8120
7859
|
"type": "object",
|
|
8121
7860
|
"properties": {
|
|
8122
7861
|
"comment": {
|
|
@@ -8161,15 +7900,14 @@
|
|
|
8161
7900
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8162
7901
|
},
|
|
8163
7902
|
"type": {
|
|
8164
|
-
"title": "Type",
|
|
8165
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8166
7903
|
"type": "string",
|
|
8167
7904
|
"const": "url",
|
|
7905
|
+
"title": "Type",
|
|
7906
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
8168
7907
|
"documented": true,
|
|
8169
7908
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
8170
7909
|
},
|
|
8171
7910
|
"options": {
|
|
8172
|
-
"description": "This key defines options that are specific to URL Inputs.",
|
|
8173
7911
|
"type": "object",
|
|
8174
7912
|
"properties": {
|
|
8175
7913
|
"mime_type": {
|
|
@@ -8323,6 +8061,7 @@
|
|
|
8323
8061
|
}
|
|
8324
8062
|
},
|
|
8325
8063
|
"additionalProperties": false,
|
|
8064
|
+
"description": "This key defines options that are specific to URL Inputs.",
|
|
8326
8065
|
"documented": true,
|
|
8327
8066
|
"title": "options",
|
|
8328
8067
|
"markdownDescription": "This key defines options that are specific to URL Inputs."
|
|
@@ -8332,12 +8071,12 @@
|
|
|
8332
8071
|
"type"
|
|
8333
8072
|
],
|
|
8334
8073
|
"additionalProperties": false,
|
|
8074
|
+
"title": "URL Input",
|
|
8075
|
+
"description": "This key defines an editing interface for relative, absolute, and fully qualified URLs.",
|
|
8335
8076
|
"documented": true,
|
|
8336
8077
|
"markdownDescription": "This key defines an editing interface for relative, absolute, and fully qualified URLs."
|
|
8337
8078
|
},
|
|
8338
8079
|
"SelectInput": {
|
|
8339
|
-
"title": "Select Input",
|
|
8340
|
-
"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```",
|
|
8341
8080
|
"type": "object",
|
|
8342
8081
|
"properties": {
|
|
8343
8082
|
"comment": {
|
|
@@ -8382,15 +8121,14 @@
|
|
|
8382
8121
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8383
8122
|
},
|
|
8384
8123
|
"type": {
|
|
8385
|
-
"title": "Type",
|
|
8386
|
-
"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```",
|
|
8387
8124
|
"type": "string",
|
|
8388
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```",
|
|
8389
8128
|
"documented": true,
|
|
8390
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```"
|
|
8391
8130
|
},
|
|
8392
8131
|
"options": {
|
|
8393
|
-
"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```",
|
|
8394
8132
|
"type": "object",
|
|
8395
8133
|
"properties": {
|
|
8396
8134
|
"required": {
|
|
@@ -8494,6 +8232,7 @@
|
|
|
8494
8232
|
}
|
|
8495
8233
|
},
|
|
8496
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```",
|
|
8497
8236
|
"documented": true,
|
|
8498
8237
|
"title": "options",
|
|
8499
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```"
|
|
@@ -8503,6 +8242,8 @@
|
|
|
8503
8242
|
"type"
|
|
8504
8243
|
],
|
|
8505
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```",
|
|
8506
8247
|
"documented": true,
|
|
8507
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```"
|
|
8508
8249
|
},
|
|
@@ -8516,37 +8257,35 @@
|
|
|
8516
8257
|
},
|
|
8517
8258
|
"type._inputs.*.options.allow_empty": {
|
|
8518
8259
|
"deprecated": true,
|
|
8519
|
-
"description": "
|
|
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```",
|
|
8520
8261
|
"type": "boolean",
|
|
8521
8262
|
"documented": true,
|
|
8522
8263
|
"title": "allow_empty",
|
|
8523
|
-
"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```"
|
|
8524
8265
|
},
|
|
8525
8266
|
"type._inputs.*.options.values": {
|
|
8526
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```",
|
|
8527
8268
|
"anyOf": [
|
|
8528
8269
|
{
|
|
8270
|
+
"type": "string",
|
|
8529
8271
|
"title": "Dataset Reference Values",
|
|
8530
8272
|
"description": "This key defines a reference to a dataset.",
|
|
8531
|
-
"type": "string",
|
|
8532
8273
|
"documented": true,
|
|
8533
8274
|
"markdownDescription": "This key defines a reference to a dataset."
|
|
8534
8275
|
},
|
|
8535
8276
|
{
|
|
8536
|
-
"description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
8537
8277
|
"anyOf": [
|
|
8538
8278
|
{
|
|
8539
|
-
"title": "Text Array",
|
|
8540
8279
|
"type": "array",
|
|
8541
8280
|
"items": {
|
|
8542
8281
|
"type": "string",
|
|
8543
8282
|
"documented": false,
|
|
8544
8283
|
"title": "values(any-of-1)(text-array)[*]"
|
|
8545
8284
|
},
|
|
8285
|
+
"title": "Text Array",
|
|
8546
8286
|
"documented": false
|
|
8547
8287
|
},
|
|
8548
8288
|
{
|
|
8549
|
-
"title": "Text Object",
|
|
8550
8289
|
"type": "object",
|
|
8551
8290
|
"propertyNames": {
|
|
8552
8291
|
"type": "string"
|
|
@@ -8556,10 +8295,10 @@
|
|
|
8556
8295
|
"documented": false,
|
|
8557
8296
|
"title": "values(any-of-1)(text-object).*"
|
|
8558
8297
|
},
|
|
8298
|
+
"title": "Text Object",
|
|
8559
8299
|
"documented": false
|
|
8560
8300
|
},
|
|
8561
8301
|
{
|
|
8562
|
-
"title": "Object Array",
|
|
8563
8302
|
"type": "array",
|
|
8564
8303
|
"items": {
|
|
8565
8304
|
"type": "object",
|
|
@@ -8570,18 +8309,20 @@
|
|
|
8570
8309
|
"documented": false,
|
|
8571
8310
|
"title": "values(any-of-1)(object-array)[*]"
|
|
8572
8311
|
},
|
|
8312
|
+
"title": "Object Array",
|
|
8573
8313
|
"documented": false
|
|
8574
8314
|
},
|
|
8575
8315
|
{
|
|
8576
|
-
"title": "Object",
|
|
8577
8316
|
"type": "object",
|
|
8578
8317
|
"propertyNames": {
|
|
8579
8318
|
"type": "string"
|
|
8580
8319
|
},
|
|
8581
8320
|
"additionalProperties": {},
|
|
8321
|
+
"title": "Object",
|
|
8582
8322
|
"documented": false
|
|
8583
8323
|
}
|
|
8584
8324
|
],
|
|
8325
|
+
"description": "Data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
8585
8326
|
"documented": false,
|
|
8586
8327
|
"title": "values(any-of-1)",
|
|
8587
8328
|
"markdownDescription": "Data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
@@ -8625,8 +8366,6 @@
|
|
|
8625
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```"
|
|
8626
8367
|
},
|
|
8627
8368
|
"MultiselectInput": {
|
|
8628
|
-
"title": "Multiselect Input",
|
|
8629
|
-
"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```",
|
|
8630
8369
|
"type": "object",
|
|
8631
8370
|
"properties": {
|
|
8632
8371
|
"comment": {
|
|
@@ -8671,15 +8410,14 @@
|
|
|
8671
8410
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8672
8411
|
},
|
|
8673
8412
|
"type": {
|
|
8674
|
-
"title": "Type",
|
|
8675
|
-
"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```",
|
|
8676
8413
|
"type": "string",
|
|
8677
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```",
|
|
8678
8417
|
"documented": true,
|
|
8679
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```"
|
|
8680
8419
|
},
|
|
8681
8420
|
"options": {
|
|
8682
|
-
"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```",
|
|
8683
8421
|
"type": "object",
|
|
8684
8422
|
"properties": {
|
|
8685
8423
|
"required": {
|
|
@@ -8753,6 +8491,7 @@
|
|
|
8753
8491
|
}
|
|
8754
8492
|
},
|
|
8755
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```",
|
|
8756
8495
|
"documented": true,
|
|
8757
8496
|
"title": "options",
|
|
8758
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```"
|
|
@@ -8762,6 +8501,8 @@
|
|
|
8762
8501
|
"type"
|
|
8763
8502
|
],
|
|
8764
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```",
|
|
8765
8506
|
"documented": true,
|
|
8766
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```"
|
|
8767
8508
|
},
|
|
@@ -8808,8 +8549,8 @@
|
|
|
8808
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```"
|
|
8809
8550
|
},
|
|
8810
8551
|
"type._inputs.*.options.empty_type(array)": {
|
|
8811
|
-
"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```",
|
|
8812
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```",
|
|
8813
8554
|
"type": "string",
|
|
8814
8555
|
"enum": [
|
|
8815
8556
|
"null",
|
|
@@ -8820,8 +8561,6 @@
|
|
|
8820
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```"
|
|
8821
8562
|
},
|
|
8822
8563
|
"ChoiceInput": {
|
|
8823
|
-
"title": "Choice Input",
|
|
8824
|
-
"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```",
|
|
8825
8564
|
"type": "object",
|
|
8826
8565
|
"properties": {
|
|
8827
8566
|
"comment": {
|
|
@@ -8866,15 +8605,14 @@
|
|
|
8866
8605
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
8867
8606
|
},
|
|
8868
8607
|
"type": {
|
|
8869
|
-
"title": "Type",
|
|
8870
|
-
"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```",
|
|
8871
8608
|
"type": "string",
|
|
8872
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```",
|
|
8873
8612
|
"documented": true,
|
|
8874
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```"
|
|
8875
8614
|
},
|
|
8876
8615
|
"options": {
|
|
8877
|
-
"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```",
|
|
8878
8616
|
"type": "object",
|
|
8879
8617
|
"properties": {
|
|
8880
8618
|
"required": {
|
|
@@ -8975,6 +8713,7 @@
|
|
|
8975
8713
|
}
|
|
8976
8714
|
},
|
|
8977
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```",
|
|
8978
8717
|
"documented": true,
|
|
8979
8718
|
"title": "options",
|
|
8980
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```"
|
|
@@ -8984,12 +8723,12 @@
|
|
|
8984
8723
|
"type"
|
|
8985
8724
|
],
|
|
8986
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```",
|
|
8987
8728
|
"documented": true,
|
|
8988
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```"
|
|
8989
8730
|
},
|
|
8990
8731
|
"MultichoiceInput": {
|
|
8991
|
-
"title": "Multichoice Input",
|
|
8992
|
-
"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```",
|
|
8993
8732
|
"type": "object",
|
|
8994
8733
|
"properties": {
|
|
8995
8734
|
"comment": {
|
|
@@ -9034,15 +8773,14 @@
|
|
|
9034
8773
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9035
8774
|
},
|
|
9036
8775
|
"type": {
|
|
9037
|
-
"title": "Type",
|
|
9038
|
-
"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```",
|
|
9039
8776
|
"type": "string",
|
|
9040
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```",
|
|
9041
8780
|
"documented": true,
|
|
9042
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```"
|
|
9043
8782
|
},
|
|
9044
8783
|
"options": {
|
|
9045
|
-
"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```",
|
|
9046
8784
|
"type": "object",
|
|
9047
8785
|
"properties": {
|
|
9048
8786
|
"required": {
|
|
@@ -9113,6 +8851,7 @@
|
|
|
9113
8851
|
}
|
|
9114
8852
|
},
|
|
9115
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```",
|
|
9116
8855
|
"documented": true,
|
|
9117
8856
|
"title": "options",
|
|
9118
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```"
|
|
@@ -9122,12 +8861,12 @@
|
|
|
9122
8861
|
"type"
|
|
9123
8862
|
],
|
|
9124
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```",
|
|
9125
8866
|
"documented": true,
|
|
9126
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```"
|
|
9127
8868
|
},
|
|
9128
8869
|
"ObjectInput": {
|
|
9129
|
-
"title": "Object Input",
|
|
9130
|
-
"description": "This key defines a user interface for a group of inputs.",
|
|
9131
8870
|
"type": "object",
|
|
9132
8871
|
"properties": {
|
|
9133
8872
|
"comment": {
|
|
@@ -9172,15 +8911,14 @@
|
|
|
9172
8911
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9173
8912
|
},
|
|
9174
8913
|
"type": {
|
|
9175
|
-
"title": "Type",
|
|
9176
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9177
8914
|
"type": "string",
|
|
9178
8915
|
"const": "object",
|
|
8916
|
+
"title": "Type",
|
|
8917
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9179
8918
|
"documented": true,
|
|
9180
8919
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
9181
8920
|
},
|
|
9182
8921
|
"options": {
|
|
9183
|
-
"description": "This key defines options that are specific to Object Inputs.",
|
|
9184
8922
|
"type": "object",
|
|
9185
8923
|
"properties": {
|
|
9186
8924
|
"required": {
|
|
@@ -9403,6 +9141,7 @@
|
|
|
9403
9141
|
}
|
|
9404
9142
|
},
|
|
9405
9143
|
"additionalProperties": false,
|
|
9144
|
+
"description": "This key defines options that are specific to Object Inputs.",
|
|
9406
9145
|
"documented": true,
|
|
9407
9146
|
"title": "options",
|
|
9408
9147
|
"markdownDescription": "This key defines options that are specific to Object Inputs."
|
|
@@ -9412,12 +9151,14 @@
|
|
|
9412
9151
|
"type"
|
|
9413
9152
|
],
|
|
9414
9153
|
"additionalProperties": false,
|
|
9154
|
+
"title": "Object Input",
|
|
9155
|
+
"description": "This key defines a user interface for a group of inputs.",
|
|
9415
9156
|
"documented": true,
|
|
9416
9157
|
"markdownDescription": "This key defines a user interface for a group of inputs."
|
|
9417
9158
|
},
|
|
9418
9159
|
"type._inputs.*.options.empty_type(object)": {
|
|
9419
|
-
"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```",
|
|
9420
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```",
|
|
9421
9162
|
"type": "string",
|
|
9422
9163
|
"enum": [
|
|
9423
9164
|
"null",
|
|
@@ -9428,15 +9169,13 @@
|
|
|
9428
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```"
|
|
9429
9170
|
},
|
|
9430
9171
|
"type.structure-reference": {
|
|
9172
|
+
"type": "string",
|
|
9431
9173
|
"title": "Structure Reference",
|
|
9432
9174
|
"description": "A reference to an existing structure.",
|
|
9433
|
-
"type": "string",
|
|
9434
9175
|
"documented": true,
|
|
9435
9176
|
"markdownDescription": "A reference to an existing structure."
|
|
9436
9177
|
},
|
|
9437
9178
|
"type.structure": {
|
|
9438
|
-
"title": "Structure",
|
|
9439
|
-
"description": "This key defines data formats when adding new items to arrays and objects, with options for how editors choose from available values.",
|
|
9440
9179
|
"type": "object",
|
|
9441
9180
|
"properties": {
|
|
9442
9181
|
"reorder_inputs": {
|
|
@@ -9472,11 +9211,11 @@
|
|
|
9472
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```"
|
|
9473
9212
|
},
|
|
9474
9213
|
"values": {
|
|
9475
|
-
"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```",
|
|
9476
9214
|
"type": "array",
|
|
9477
9215
|
"items": {
|
|
9478
9216
|
"$ref": "#/definitions/type.structure.values.[*]"
|
|
9479
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```",
|
|
9480
9219
|
"documented": true,
|
|
9481
9220
|
"title": "values",
|
|
9482
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```"
|
|
@@ -9511,17 +9250,384 @@
|
|
|
9511
9250
|
"select",
|
|
9512
9251
|
"modal"
|
|
9513
9252
|
],
|
|
9514
|
-
"documented": true,
|
|
9515
|
-
"title": "style",
|
|
9516
|
-
"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."
|
|
9517
9516
|
}
|
|
9518
9517
|
},
|
|
9519
9518
|
"required": [
|
|
9520
|
-
"
|
|
9519
|
+
"value"
|
|
9521
9520
|
],
|
|
9522
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.",
|
|
9523
9524
|
"documented": true,
|
|
9524
|
-
"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```"
|
|
9525
9631
|
},
|
|
9526
9632
|
"entries_comment": {
|
|
9527
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```",
|
|
@@ -9531,8 +9637,6 @@
|
|
|
9531
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```"
|
|
9532
9638
|
},
|
|
9533
9639
|
"ArrayInput": {
|
|
9534
|
-
"title": "Array Input",
|
|
9535
|
-
"description": "This key defines a user interface for lists of inputs or input groups.",
|
|
9536
9640
|
"type": "object",
|
|
9537
9641
|
"properties": {
|
|
9538
9642
|
"comment": {
|
|
@@ -9577,15 +9681,14 @@
|
|
|
9577
9681
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9578
9682
|
},
|
|
9579
9683
|
"type": {
|
|
9580
|
-
"title": "Type",
|
|
9581
|
-
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9582
9684
|
"type": "string",
|
|
9583
9685
|
"const": "array",
|
|
9686
|
+
"title": "Type",
|
|
9687
|
+
"description": "This key defines the input type, which controls how this input appears and behaves.",
|
|
9584
9688
|
"documented": true,
|
|
9585
9689
|
"markdownDescription": "This key defines the input type, which controls how this input appears and behaves."
|
|
9586
9690
|
},
|
|
9587
9691
|
"options": {
|
|
9588
|
-
"description": "This key defines options that are specific to Array Inputs.",
|
|
9589
9692
|
"type": "object",
|
|
9590
9693
|
"properties": {
|
|
9591
9694
|
"required": {
|
|
@@ -9646,6 +9749,7 @@
|
|
|
9646
9749
|
}
|
|
9647
9750
|
},
|
|
9648
9751
|
"additionalProperties": false,
|
|
9752
|
+
"description": "This key defines options that are specific to Array Inputs.",
|
|
9649
9753
|
"documented": true,
|
|
9650
9754
|
"title": "options",
|
|
9651
9755
|
"markdownDescription": "This key defines options that are specific to Array Inputs."
|
|
@@ -9655,6 +9759,8 @@
|
|
|
9655
9759
|
"type"
|
|
9656
9760
|
],
|
|
9657
9761
|
"additionalProperties": false,
|
|
9762
|
+
"title": "Array Input",
|
|
9763
|
+
"description": "This key defines a user interface for lists of inputs or input groups.",
|
|
9658
9764
|
"documented": true,
|
|
9659
9765
|
"markdownDescription": "This key defines a user interface for lists of inputs or input groups."
|
|
9660
9766
|
},
|
|
@@ -9683,9 +9789,6 @@
|
|
|
9683
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)."
|
|
9684
9790
|
},
|
|
9685
9791
|
"AutoInput": {
|
|
9686
|
-
"title": "Automatic Input",
|
|
9687
|
-
"description": "Provides a default user interface based on the data contained.",
|
|
9688
|
-
"excludeFromDocumentation": true,
|
|
9689
9792
|
"type": "object",
|
|
9690
9793
|
"properties": {
|
|
9691
9794
|
"comment": {
|
|
@@ -9730,10 +9833,10 @@
|
|
|
9730
9833
|
"$ref": "#/definitions/type._inputs.*.cascade"
|
|
9731
9834
|
},
|
|
9732
9835
|
"type": {
|
|
9733
|
-
"title": "Type",
|
|
9734
|
-
"description": "Sets an input type, which controls how this input appears and behaves.",
|
|
9735
9836
|
"type": "string",
|
|
9736
9837
|
"const": "auto",
|
|
9838
|
+
"title": "Type",
|
|
9839
|
+
"description": "Sets an input type, which controls how this input appears and behaves.",
|
|
9737
9840
|
"documented": false,
|
|
9738
9841
|
"markdownDescription": "Sets an input type, which controls how this input appears and behaves."
|
|
9739
9842
|
},
|
|
@@ -9748,13 +9851,13 @@
|
|
|
9748
9851
|
"type"
|
|
9749
9852
|
],
|
|
9750
9853
|
"additionalProperties": false,
|
|
9854
|
+
"title": "Automatic Input",
|
|
9855
|
+
"description": "Provides a default user interface based on the data contained.",
|
|
9856
|
+
"excludeFromDocumentation": true,
|
|
9751
9857
|
"documented": false,
|
|
9752
9858
|
"markdownDescription": "Provides a default user interface based on the data contained."
|
|
9753
9859
|
},
|
|
9754
9860
|
"UnknownInput": {
|
|
9755
|
-
"title": "Unknown Input",
|
|
9756
|
-
"description": "Provides a default user interface based on the data contained.",
|
|
9757
|
-
"excludeFromDocumentation": true,
|
|
9758
9861
|
"type": "object",
|
|
9759
9862
|
"properties": {
|
|
9760
9863
|
"comment": {
|
|
@@ -9806,115 +9909,13 @@
|
|
|
9806
9909
|
}
|
|
9807
9910
|
},
|
|
9808
9911
|
"additionalProperties": false,
|
|
9912
|
+
"title": "Unknown Input",
|
|
9913
|
+
"description": "Provides a default user interface based on the data contained.",
|
|
9914
|
+
"excludeFromDocumentation": true,
|
|
9809
9915
|
"documented": false,
|
|
9810
9916
|
"markdownDescription": "Provides a default user interface based on the data contained."
|
|
9811
|
-
},
|
|
9812
|
-
"type._inputs_from_glob": {
|
|
9813
|
-
"type": "array",
|
|
9814
|
-
"items": {
|
|
9815
|
-
"type": "string",
|
|
9816
|
-
"documented": true,
|
|
9817
|
-
"title": "_inputs_from_glob[*]",
|
|
9818
|
-
"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```",
|
|
9819
|
-
"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```"
|
|
9820
|
-
},
|
|
9821
|
-
"documented": true,
|
|
9822
|
-
"title": "_inputs_from_glob",
|
|
9823
|
-
"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```",
|
|
9824
|
-
"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```"
|
|
9825
|
-
},
|
|
9826
|
-
"type._select_data": {
|
|
9827
|
-
"title": "Select Data",
|
|
9828
|
-
"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```",
|
|
9829
|
-
"type": "object",
|
|
9830
|
-
"propertyNames": {
|
|
9831
|
-
"type": "string"
|
|
9832
|
-
},
|
|
9833
|
-
"additionalProperties": {
|
|
9834
|
-
"description": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects.",
|
|
9835
|
-
"anyOf": [
|
|
9836
|
-
{
|
|
9837
|
-
"title": "Text Array Select Data",
|
|
9838
|
-
"type": "array",
|
|
9839
|
-
"items": {
|
|
9840
|
-
"type": "string",
|
|
9841
|
-
"documented": true,
|
|
9842
|
-
"title": "*(text-array)[*]"
|
|
9843
|
-
},
|
|
9844
|
-
"documented": true
|
|
9845
|
-
},
|
|
9846
|
-
{
|
|
9847
|
-
"title": "Text Object Select Data",
|
|
9848
|
-
"type": "object",
|
|
9849
|
-
"propertyNames": {
|
|
9850
|
-
"type": "string"
|
|
9851
|
-
},
|
|
9852
|
-
"additionalProperties": {
|
|
9853
|
-
"type": "string",
|
|
9854
|
-
"documented": true,
|
|
9855
|
-
"title": "*(text-object).*"
|
|
9856
|
-
},
|
|
9857
|
-
"documented": true
|
|
9858
|
-
},
|
|
9859
|
-
{
|
|
9860
|
-
"title": "Object Array Select Data",
|
|
9861
|
-
"type": "array",
|
|
9862
|
-
"items": {
|
|
9863
|
-
"type": "object",
|
|
9864
|
-
"propertyNames": {
|
|
9865
|
-
"type": "string"
|
|
9866
|
-
},
|
|
9867
|
-
"additionalProperties": {},
|
|
9868
|
-
"documented": true,
|
|
9869
|
-
"title": "*(object-array)[*]"
|
|
9870
|
-
},
|
|
9871
|
-
"documented": true
|
|
9872
|
-
},
|
|
9873
|
-
{
|
|
9874
|
-
"title": "Object Select Data",
|
|
9875
|
-
"type": "object",
|
|
9876
|
-
"propertyNames": {
|
|
9877
|
-
"type": "string"
|
|
9878
|
-
},
|
|
9879
|
-
"additionalProperties": {},
|
|
9880
|
-
"documented": true
|
|
9881
|
-
}
|
|
9882
|
-
],
|
|
9883
|
-
"documented": true,
|
|
9884
|
-
"title": "_select_data.*",
|
|
9885
|
-
"markdownDescription": "This key defines data formats for populating select and multiselect input options, supporting arrays and objects."
|
|
9886
|
-
},
|
|
9887
|
-
"documented": true,
|
|
9888
|
-
"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```"
|
|
9889
|
-
},
|
|
9890
|
-
"type._structures": {
|
|
9891
|
-
"title": "Structures",
|
|
9892
|
-
"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```",
|
|
9893
|
-
"type": "object",
|
|
9894
|
-
"propertyNames": {
|
|
9895
|
-
"type": "string"
|
|
9896
|
-
},
|
|
9897
|
-
"additionalProperties": {
|
|
9898
|
-
"$ref": "#/definitions/type.structure"
|
|
9899
|
-
},
|
|
9900
|
-
"documented": true,
|
|
9901
|
-
"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```"
|
|
9902
|
-
},
|
|
9903
|
-
"type._structures_from_glob": {
|
|
9904
|
-
"type": "array",
|
|
9905
|
-
"items": {
|
|
9906
|
-
"type": "string",
|
|
9907
|
-
"documented": true,
|
|
9908
|
-
"title": "_structures_from_glob[*]",
|
|
9909
|
-
"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```",
|
|
9910
|
-
"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```"
|
|
9911
|
-
},
|
|
9912
|
-
"documented": true,
|
|
9913
|
-
"title": "_structures_from_glob",
|
|
9914
|
-
"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```",
|
|
9915
|
-
"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```"
|
|
9916
9917
|
}
|
|
9917
9918
|
},
|
|
9918
9919
|
"documented": false,
|
|
9919
|
-
"
|
|
9920
|
+
"title": ""
|
|
9920
9921
|
}
|