@cloudcannon/configuration-types 0.0.51 → 0.0.53
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 +336 -22
- package/dist/cloudcannon-config.documentation.schema.json +295 -2
- package/dist/cloudcannon-config.latest.schema.json +336 -22
- package/dist/cloudcannon-config.legacy-eleventy.schema.json +297 -3
- package/dist/cloudcannon-config.legacy-hugo.schema.json +297 -3
- package/dist/cloudcannon-config.legacy-jekyll.schema.json +297 -3
- package/dist/cloudcannon-config.legacy-reader.schema.json +297 -3
- package/dist/cloudcannon-editables.schema.json +2 -2
- package/dist/cloudcannon-inputs.schema.json +326 -12
- package/dist/cloudcannon-schemas.schema.json +326 -12
- package/dist/cloudcannon-snippets.schema.json +326 -12
- package/dist/cloudcannon-structure-value.schema.json +326 -12
- package/dist/cloudcannon-structures.schema.json +326 -12
- package/dist/documentation.json +1311 -26
- package/package.json +1 -1
- package/src/inputs.ts +53 -3
|
@@ -46,12 +46,12 @@
|
|
|
46
46
|
"markdownDescription": "This key toggles whether CloudCannon will generate an output URL for a given Collection.\n\nSetting this key to `true` will prevent CloudCannon from generating an output URL for a Collection.\n\n## Examples\n\nIn this example, `data` is an non-output Collection and we don't want output URLs generated.\n\n```yaml\ncollections_config:\n data:\n disable_url: true\n```"
|
|
47
47
|
},
|
|
48
48
|
"include_developer_files": {
|
|
49
|
-
"description": "This key toggles whether CloudCannon removes developer files from your *Collection browser*. CloudCannon excludes files that probably shouldn't be edited in a CMS from your *Collection browser*, for example files like `README.md` or\n`package.json`. CloudCannon excludes these files even if you have configured globs to allow them.\n\nSetting this key to `true` will allow CloudCannon to show developer files,\nassuming they are not filtered out by any configured\n[globs](https://cloudcannon.com/documentation/
|
|
49
|
+
"description": "This key toggles whether CloudCannon removes developer files from your *Collection browser*. CloudCannon excludes files that probably shouldn't be edited in a CMS from your *Collection browser*, for example files like `README.md` or\n`package.json`. CloudCannon excludes these files even if you have configured globs to allow them.\n\nSetting this key to `true` will allow CloudCannon to show developer files,\nassuming they are not filtered out by any configured\n[globs](https://cloudcannon.com/documentation/developer-reference/configuration-file/collections_config/*/glob/). \n\n## Examples\n\nIn this example, we want to see developer files in the *Collection browser* for the `data` Collection.\n\n```yaml\ncollections_config:\n data:\n include_developer_files: true\n```",
|
|
50
50
|
"default": false,
|
|
51
51
|
"type": "boolean",
|
|
52
52
|
"documented": true,
|
|
53
53
|
"title": "include_developer_files",
|
|
54
|
-
"markdownDescription": "This key toggles whether CloudCannon removes developer files from your *Collection browser*. CloudCannon excludes files that probably shouldn't be edited in a CMS from your *Collection browser*, for example files like `README.md` or\n`package.json`. CloudCannon excludes these files even if you have configured globs to allow them.\n\nSetting this key to `true` will allow CloudCannon to show developer files,\nassuming they are not filtered out by any configured\n[globs](https://cloudcannon.com/documentation/
|
|
54
|
+
"markdownDescription": "This key toggles whether CloudCannon removes developer files from your *Collection browser*. CloudCannon excludes files that probably shouldn't be edited in a CMS from your *Collection browser*, for example files like `README.md` or\n`package.json`. CloudCannon excludes these files even if you have configured globs to allow them.\n\nSetting this key to `true` will allow CloudCannon to show developer files,\nassuming they are not filtered out by any configured\n[globs](https://cloudcannon.com/documentation/developer-reference/configuration-file/collections_config/*/glob/). \n\n## Examples\n\nIn this example, we want to see developer files in the *Collection browser* for the `data` Collection.\n\n```yaml\ncollections_config:\n data:\n include_developer_files: true\n```"
|
|
55
55
|
},
|
|
56
56
|
"name": {
|
|
57
57
|
"description": "This key defines the display name for a Collection.\n\nThe name appears in the *Site Navigation* and at the top of the *Collection browser*.\n\nChanging the display name does not affect the Collection key name.\n\nBy default, CloudCannon uses the Collection key name in title case (i.e., `blog_files` becomes \"Blog Files\").\n\n## Examples\n\nIn this example, CloudCannon will call the `blog` Collection \"Travel Blog\" in the *Site Navigation* and the *Collection browser*.\n\n```yaml\ncollections_config:\n blog:\n name: Travel Blog\n```",
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
"markdownDescription": "This key defines the singular noun for your Collection name.\n\nCloudCannon uses the singular noun in the *\\+ Add* button in the top right of the *Collection browser* when you select the option to add a new file.\n\nThis is useful if your Collection name is an irregular plural (e.g., \"syllabi\" or \"syllabuses\" to \"syllabus\").\n\n## Examples\n\nIn this example, the *\\+ Add* button option to add a Collection file will read \"Add Team Member\" rather that \"Add Team\".\n\n```yaml\ncollections_config:\n team:\n singular_name: Team Member\n```"
|
|
167
167
|
},
|
|
168
168
|
"add_options": {
|
|
169
|
-
"description": "This key defines the options available in the *\\+ Add* button dropdown at the top right of your *Collection browser*.\n\nConfiguring add options for a Collection will remove CloudCannon's default \"Add a file\" option from the *\\+ Add* button dropdown.\n\nAdditionally, any Schemas you have configured for a Collection will also appear in the *\\+ Add* dropdown.\n\
|
|
169
|
+
"description": "This key defines the options available in the *\\+ Add* button dropdown at the top right of your *Collection browser*.\n\nConfiguring add options for a Collection will remove CloudCannon's default \"Add a file\" option from the *\\+ Add* button dropdown.\n\nAdditionally, any Schemas you have configured for a Collection will also appear in the *\\+ Add* dropdown.\n\n## Examples\n\nIn this example, we have configured two standard add options for the `people` Collection. The first option uses the `employee` Schema, and the second option uses the `contractor` Schema and opens files in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\n```yaml\ncollections_config:\n people:\n add_options:\n - name: Add Staff Member\n schema: employee\n icon: face\n editor: data\n - name: Add Contractor\n icon: support_agent\n schema: contractor\n editor: data\n schemas:\n employee:\n path: /.cloudcannon/schemas/employee.yml\n contractor:\n path: /.cloudcannon/schemas/contractor.yml\n```\n\nIn this example, the *\\+ Add* button dropdown in the `team` *Collection browser* has a link to the Office Locations page on our live website.\n\n```yaml\ncollections_config:\n team:\n add_options:\n - name: Office Locations\n icon: map\n href: /our-offices\n```",
|
|
170
170
|
"type": "array",
|
|
171
171
|
"items": {
|
|
172
172
|
"anyOf": [
|
|
@@ -205,11 +205,11 @@
|
|
|
205
205
|
"markdownDescription": "This key defines which editing interface CloudCannon will use when you select an option from the *\\+ Add* button dropdown.\n\nValues can be one of the following: `visual`, `content`, or `data`.\n\nBy default, CloudCannon will open the new file in an appropriate editing interface for that file type.\n\nIf CloudCannon cannot determine an appropriate editing interface, it will show a warning.\n\n## Examples\n\nIn this example, we have configured a standard add option for the `people` Collection that opens new files in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\n```yaml\ncollections_config:\n people:\n add_options:\n - name: Add Staff Member\n schema: employee\n icon: face\n editor: data\n schemas:\n employee:\n path: /.cloudcannon/schemas/employee.yml\n```"
|
|
206
206
|
},
|
|
207
207
|
"base_path": {
|
|
208
|
-
"description": "This key defines a path for files created using an option in the *\\+ Add* button dropdown.\n\nThis path overrides the path for the current Collection and subfolder open in the *Collection browser*.\n\nThis key is useful if you need to specify a specific subfolder within a Collection.\n\
|
|
208
|
+
"description": "This key defines a path for files created using an option in the *\\+ Add* button dropdown.\n\nThis path overrides the path for the current Collection and subfolder open in the *Collection browser*.\n\nThis key is useful if you need to specify a specific subfolder within a Collection.\n\n## Examples\n\nIn this example, we want team members in the `_posts` Collection to create new files in the`blog` subfolder of the `_drafts` Collection rather than the current *Collection browser* they have open. By configuring the `base_path` value to `/../_drafts/blog`, new files will be created in a different Collection subfolder (i.e., `_drafts`) when a team member selects this option from the *\\+ Add* button dropdown.\n\n```yaml\ncollections_config:\n _posts:\n add_options:\n - name: Add draft blog\n icon: post_add\n editor: content\n base_path: /../_drafts/blog\n```",
|
|
209
209
|
"type": "string",
|
|
210
210
|
"documented": true,
|
|
211
211
|
"title": "base_path",
|
|
212
|
-
"markdownDescription": "This key defines a path for files created using an option in the *\\+ Add* button dropdown.\n\nThis path overrides the path for the current Collection and subfolder open in the *Collection browser*.\n\nThis key is useful if you need to specify a specific subfolder within a Collection.\n\
|
|
212
|
+
"markdownDescription": "This key defines a path for files created using an option in the *\\+ Add* button dropdown.\n\nThis path overrides the path for the current Collection and subfolder open in the *Collection browser*.\n\nThis key is useful if you need to specify a specific subfolder within a Collection.\n\n## Examples\n\nIn this example, we want team members in the `_posts` Collection to create new files in the`blog` subfolder of the `_drafts` Collection rather than the current *Collection browser* they have open. By configuring the `base_path` value to `/../_drafts/blog`, new files will be created in a different Collection subfolder (i.e., `_drafts`) when a team member selects this option from the *\\+ Add* button dropdown.\n\n```yaml\ncollections_config:\n _posts:\n add_options:\n - name: Add draft blog\n icon: post_add\n editor: content\n base_path: /../_drafts/blog\n```"
|
|
213
213
|
},
|
|
214
214
|
"collection": {
|
|
215
215
|
"description": "This key defines the Collection for files created using an option in the *\\+ Add* button dropdown.\n\nThis Collections overrides the current Collection open in the *Collection browser*.\n\nThe value for this key should be the key name of a Collection.\n\nBy default, this key is the current Collection open in the *Collection browser*.\n\n## Examples\n\nIn this example, we want team members in the articles Collection to create new files in the `new_articles` Collection rather than the current Collection browser they have open. By configuring the `collection` value to `new_articles`, new files will be created in a different Collection (i.e., `new_articles`) when a team member selects this option from the + Add button dropdown.\n\n```yaml\ncollections_config:\n articles:\n add_options:\n - name: Add articles\n collection: new_articles\n schema: articles\n```",
|
|
@@ -284,7 +284,7 @@
|
|
|
284
284
|
},
|
|
285
285
|
"documented": true,
|
|
286
286
|
"title": "add_options",
|
|
287
|
-
"markdownDescription": "This key defines the options available in the *\\+ Add* button dropdown at the top right of your *Collection browser*.\n\nConfiguring add options for a Collection will remove CloudCannon's default \"Add a file\" option from the *\\+ Add* button dropdown.\n\nAdditionally, any Schemas you have configured for a Collection will also appear in the *\\+ Add* dropdown.\n\
|
|
287
|
+
"markdownDescription": "This key defines the options available in the *\\+ Add* button dropdown at the top right of your *Collection browser*.\n\nConfiguring add options for a Collection will remove CloudCannon's default \"Add a file\" option from the *\\+ Add* button dropdown.\n\nAdditionally, any Schemas you have configured for a Collection will also appear in the *\\+ Add* dropdown.\n\n## Examples\n\nIn this example, we have configured two standard add options for the `people` Collection. The first option uses the `employee` Schema, and the second option uses the `contractor` Schema and opens files in the [Data Editor](https://cloudcannon.com/documentation/articles/what-is-the-data-editor/).\n\n```yaml\ncollections_config:\n people:\n add_options:\n - name: Add Staff Member\n schema: employee\n icon: face\n editor: data\n - name: Add Contractor\n icon: support_agent\n schema: contractor\n editor: data\n schemas:\n employee:\n path: /.cloudcannon/schemas/employee.yml\n contractor:\n path: /.cloudcannon/schemas/contractor.yml\n```\n\nIn this example, the *\\+ Add* button dropdown in the `team` *Collection browser* has a link to the Office Locations page on our live website.\n\n```yaml\ncollections_config:\n team:\n add_options:\n - name: Office Locations\n icon: map\n href: /our-offices\n```"
|
|
288
288
|
},
|
|
289
289
|
"create": {
|
|
290
290
|
"allOf": [
|
|
@@ -592,14 +592,14 @@
|
|
|
592
592
|
"markdownDescription": "This key defines your Collections, which are the sets of content files for your site grouped by folder."
|
|
593
593
|
},
|
|
594
594
|
"path": {
|
|
595
|
-
"description": "This key defines the folder path for the collection key in which it is nested.\n\nThe value for this key is relative to your [Site source](https://cloudcannon.com/documentation/
|
|
595
|
+
"description": "This key defines the folder path for the collection key in which it is nested.\n\nThe value for this key is relative to your [Site source](https://cloudcannon.com/documentation/developer-reference/configuration-file/source/).\n\nEach Collection must have a unique path.\n\n## Examples\n\nIn this example, the files for the `blog` Collection are located in the `content/blog` folder.\n\n```yaml\ncollections_config:\n blog:\n path: content/blog\n```",
|
|
596
596
|
"type": "string",
|
|
597
597
|
"documented": true,
|
|
598
598
|
"title": "path",
|
|
599
|
-
"markdownDescription": "This key defines the folder path for the collection key in which it is nested.\n\nThe value for this key is relative to your [Site source](https://cloudcannon.com/documentation/
|
|
599
|
+
"markdownDescription": "This key defines the folder path for the collection key in which it is nested.\n\nThe value for this key is relative to your [Site source](https://cloudcannon.com/documentation/developer-reference/configuration-file/source/).\n\nEach Collection must have a unique path.\n\n## Examples\n\nIn this example, the files for the `blog` Collection are located in the `content/blog` folder.\n\n```yaml\ncollections_config:\n blog:\n path: content/blog\n```"
|
|
600
600
|
},
|
|
601
601
|
"glob": {
|
|
602
|
-
"description": "This key defines globs which filter the files visible in the *Collection browser* for a given Collection.\n\
|
|
602
|
+
"description": "This key defines globs which filter the files visible in the *Collection browser* for a given Collection.\n\nGlobs can be positive (e.g. `*.yml`), or negative (e.g. `!**/*.json`).\n\nFiles are included in a Collection if they match any positive globs and do not match any negative globs.\n\nIf you do not define any positive globs, CloudCannon will include all non-developer files in a Collection unless they match a negative\nglob.\n\nDefining a negative glob for a Collection does not remove a file from the associated Collection folder in your Git repository.\n\nSimilarly, defining a positive glob for a file in a folder outside your Collection path does not move the file.\n\n## Examples\n\nIn this example, the *Collection browser* will show all files in the `data` folder except for the `secret.yml` file.\n\n```yaml\ncollections_config:\n data:\n path: data\n glob:\n - '!secret.yml'\n```\n\nIn this example, the *Collection browser* will show only `.yml` files in the `data` folder or any nested folders.\n\n```yaml\ncollections_config:\n data:\n path: data\n glob: '**/*.yml'\n```\n\nIn this example, the *Collection browser* will show only `.yml` files in the `data` folder, except for the `secret.yml` file.\n\n```yaml\ncollections_config:\n data:\n path: data\n glob:\n - '**/*.yml'\n - '!secret.yml'\n```",
|
|
603
603
|
"anyOf": [
|
|
604
604
|
{
|
|
605
605
|
"title": "Glob Array",
|
|
@@ -625,7 +625,7 @@
|
|
|
625
625
|
],
|
|
626
626
|
"documented": true,
|
|
627
627
|
"title": "glob",
|
|
628
|
-
"markdownDescription": "This key defines globs which filter the files visible in the *Collection browser* for a given Collection.\n\
|
|
628
|
+
"markdownDescription": "This key defines globs which filter the files visible in the *Collection browser* for a given Collection.\n\nGlobs can be positive (e.g. `*.yml`), or negative (e.g. `!**/*.json`).\n\nFiles are included in a Collection if they match any positive globs and do not match any negative globs.\n\nIf you do not define any positive globs, CloudCannon will include all non-developer files in a Collection unless they match a negative\nglob.\n\nDefining a negative glob for a Collection does not remove a file from the associated Collection folder in your Git repository.\n\nSimilarly, defining a positive glob for a file in a folder outside your Collection path does not move the file.\n\n## Examples\n\nIn this example, the *Collection browser* will show all files in the `data` folder except for the `secret.yml` file.\n\n```yaml\ncollections_config:\n data:\n path: data\n glob:\n - '!secret.yml'\n```\n\nIn this example, the *Collection browser* will show only `.yml` files in the `data` folder or any nested folders.\n\n```yaml\ncollections_config:\n data:\n path: data\n glob: '**/*.yml'\n```\n\nIn this example, the *Collection browser* will show only `.yml` files in the `data` folder, except for the `secret.yml` file.\n\n```yaml\ncollections_config:\n data:\n path: data\n glob:\n - '**/*.yml'\n - '!secret.yml'\n```"
|
|
629
629
|
},
|
|
630
630
|
"icon": {
|
|
631
631
|
"title": "Icon",
|
|
@@ -4525,6 +4525,33 @@
|
|
|
4525
4525
|
"min_length_message": {
|
|
4526
4526
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
4527
4527
|
},
|
|
4528
|
+
"max_words": {
|
|
4529
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
4530
|
+
},
|
|
4531
|
+
"max_words_message": {
|
|
4532
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
4533
|
+
},
|
|
4534
|
+
"min_words": {
|
|
4535
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
4536
|
+
},
|
|
4537
|
+
"min_words_message": {
|
|
4538
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
4539
|
+
},
|
|
4540
|
+
"max_graphemes": {
|
|
4541
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
4542
|
+
},
|
|
4543
|
+
"max_graphemes_message": {
|
|
4544
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
4545
|
+
},
|
|
4546
|
+
"min_graphemes": {
|
|
4547
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
4548
|
+
},
|
|
4549
|
+
"min_graphemes_message": {
|
|
4550
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
4551
|
+
},
|
|
4552
|
+
"locale": {
|
|
4553
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
4554
|
+
},
|
|
4528
4555
|
"pattern": {
|
|
4529
4556
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
4530
4557
|
},
|
|
@@ -4761,6 +4788,69 @@
|
|
|
4761
4788
|
"title": "min_length_message",
|
|
4762
4789
|
"markdownDescription": "This key defines a custom error message that explains why a value has failed the validation criteria from `options.min_length`.\n\nThis key requires you to define `options.min_length`.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\n## Examples\n\nIn this example, we prompt our team to enter a valid number of characters using a custom message.\n\n```yaml\n_inputs:\n seo_description:\n type: markdown\n comment: Enter a brief description of this blog.\n options:\n max_length: 125\n max_length_message: You are only allowed 125 characters.\n min_length: 25\n min_length_message: Please write more than 25 characters.\n```"
|
|
4763
4790
|
},
|
|
4791
|
+
"type._inputs.*.options.max_words": {
|
|
4792
|
+
"description": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4793
|
+
"type": "number",
|
|
4794
|
+
"documented": true,
|
|
4795
|
+
"title": "max_words",
|
|
4796
|
+
"markdownDescription": "This key defines the maximum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4797
|
+
},
|
|
4798
|
+
"type._inputs.*.options.max_words_message": {
|
|
4799
|
+
"description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words.",
|
|
4800
|
+
"type": "string",
|
|
4801
|
+
"documented": true,
|
|
4802
|
+
"title": "max_words_message",
|
|
4803
|
+
"markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_words."
|
|
4804
|
+
},
|
|
4805
|
+
"type._inputs.*.options.min_words": {
|
|
4806
|
+
"description": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4807
|
+
"type": "number",
|
|
4808
|
+
"documented": true,
|
|
4809
|
+
"title": "min_words",
|
|
4810
|
+
"markdownDescription": "This key defines the minimum string length, in words, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4811
|
+
},
|
|
4812
|
+
"type._inputs.*.options.min_words_message": {
|
|
4813
|
+
"description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`.",
|
|
4814
|
+
"type": "string",
|
|
4815
|
+
"documented": true,
|
|
4816
|
+
"title": "min_words_message",
|
|
4817
|
+
"markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_words`."
|
|
4818
|
+
},
|
|
4819
|
+
"type._inputs.*.options.max_graphemes": {
|
|
4820
|
+
"description": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4821
|
+
"type": "number",
|
|
4822
|
+
"documented": true,
|
|
4823
|
+
"title": "max_graphemes",
|
|
4824
|
+
"markdownDescription": "This key defines the maximum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too long. If the Input already contains a longer value, CloudCannon will require you to remove characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4825
|
+
},
|
|
4826
|
+
"type._inputs.*.options.max_graphemes_message": {
|
|
4827
|
+
"description": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes.",
|
|
4828
|
+
"type": "string",
|
|
4829
|
+
"documented": true,
|
|
4830
|
+
"title": "max_graphemes_message",
|
|
4831
|
+
"markdownDescription": "This key defines the message that explains which maximum string length an Input will accept. This key requires you to define `options.max_graphemes."
|
|
4832
|
+
},
|
|
4833
|
+
"type._inputs.*.options.min_graphemes": {
|
|
4834
|
+
"description": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes.",
|
|
4835
|
+
"type": "number",
|
|
4836
|
+
"documented": true,
|
|
4837
|
+
"title": "min_graphemes",
|
|
4838
|
+
"markdownDescription": "This key defines the minimum string length, in graphemes, that CloudCannon will allow in an Input. When configured, CloudCannon will warn you when an Input value is too short. If the Input already contains a shorter value, CloudCannon will require you to add characters until the Input contains a valid string to save your changes, or discard your unsaved changes."
|
|
4839
|
+
},
|
|
4840
|
+
"type._inputs.*.options.min_graphemes_message": {
|
|
4841
|
+
"description": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`.",
|
|
4842
|
+
"type": "string",
|
|
4843
|
+
"documented": true,
|
|
4844
|
+
"title": "min_graphemes_message",
|
|
4845
|
+
"markdownDescription": "This key defines the message that explains which minimum string length an Input will accept. This key requires you to define `options.min_graphemes`."
|
|
4846
|
+
},
|
|
4847
|
+
"type._inputs.*.options.locale": {
|
|
4848
|
+
"description": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured.",
|
|
4849
|
+
"type": "string",
|
|
4850
|
+
"documented": true,
|
|
4851
|
+
"title": "locale",
|
|
4852
|
+
"markdownDescription": "This key defines the locale that CloudCannon uses to determine the number of words or graphemes in this Input, if you have `max_words`, `min_words`, `max_graphemes`, or `min_graphemes` configured."
|
|
4853
|
+
},
|
|
4764
4854
|
"type._inputs.*.options.pattern": {
|
|
4765
4855
|
"description": "This key defines a [regular expression](https://re2js.leopard.in.ua/) that the Input value must match.\n\nWhen configured, CloudCannon will require you to enter a value that matches the REGEX pattern.\n\nIf the Input already contains an invalid value, CloudCannon will require you to enter a valid string to save your changes, or discard your unsaved\nchanges.\n\nValue must be a valid REGEX string.\n\nIf your REGEX string includes a `\\` character and CloudCannon Configuration File is a `.yml` file, use single quotes `'` around the string to avoid a\nbuild error.\n\nThis key has no default.\n\nThis key is available for Code, Color, File, Select, Text, Rich Text, and URL Inputs.\n\nTo use this key in a Select Input, `allow_create` must be set to `true`.\n\n## Examples\n\nIn this example, we want our team to add an email address to the `contact_email` Input using the correct email format.\n\n```yaml\n_inputs:\n contact_email:\n type: email\n options:\n pattern: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}'\n pattern_message: 'Please use the format ___@___.__'\n```",
|
|
4766
4856
|
"type": "string",
|
|
@@ -5053,6 +5143,33 @@
|
|
|
5053
5143
|
"min_length_message": {
|
|
5054
5144
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5055
5145
|
},
|
|
5146
|
+
"max_words": {
|
|
5147
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5148
|
+
},
|
|
5149
|
+
"max_words_message": {
|
|
5150
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5151
|
+
},
|
|
5152
|
+
"min_words": {
|
|
5153
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5154
|
+
},
|
|
5155
|
+
"min_words_message": {
|
|
5156
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5157
|
+
},
|
|
5158
|
+
"max_graphemes": {
|
|
5159
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5160
|
+
},
|
|
5161
|
+
"max_graphemes_message": {
|
|
5162
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5163
|
+
},
|
|
5164
|
+
"min_graphemes": {
|
|
5165
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5166
|
+
},
|
|
5167
|
+
"min_graphemes_message": {
|
|
5168
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5169
|
+
},
|
|
5170
|
+
"locale": {
|
|
5171
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5172
|
+
},
|
|
5056
5173
|
"pattern": {
|
|
5057
5174
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5058
5175
|
},
|
|
@@ -5212,6 +5329,33 @@
|
|
|
5212
5329
|
"min_length_message": {
|
|
5213
5330
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5214
5331
|
},
|
|
5332
|
+
"max_words": {
|
|
5333
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5334
|
+
},
|
|
5335
|
+
"max_words_message": {
|
|
5336
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5337
|
+
},
|
|
5338
|
+
"min_words": {
|
|
5339
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5340
|
+
},
|
|
5341
|
+
"min_words_message": {
|
|
5342
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5343
|
+
},
|
|
5344
|
+
"max_graphemes": {
|
|
5345
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5346
|
+
},
|
|
5347
|
+
"max_graphemes_message": {
|
|
5348
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5349
|
+
},
|
|
5350
|
+
"min_graphemes": {
|
|
5351
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5352
|
+
},
|
|
5353
|
+
"min_graphemes_message": {
|
|
5354
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5355
|
+
},
|
|
5356
|
+
"locale": {
|
|
5357
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5358
|
+
},
|
|
5215
5359
|
"pattern": {
|
|
5216
5360
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5217
5361
|
},
|
|
@@ -5454,6 +5598,33 @@
|
|
|
5454
5598
|
"min_length_message": {
|
|
5455
5599
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
5456
5600
|
},
|
|
5601
|
+
"max_words": {
|
|
5602
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
5603
|
+
},
|
|
5604
|
+
"max_words_message": {
|
|
5605
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
5606
|
+
},
|
|
5607
|
+
"min_words": {
|
|
5608
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
5609
|
+
},
|
|
5610
|
+
"min_words_message": {
|
|
5611
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
5612
|
+
},
|
|
5613
|
+
"max_graphemes": {
|
|
5614
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
5615
|
+
},
|
|
5616
|
+
"max_graphemes_message": {
|
|
5617
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
5618
|
+
},
|
|
5619
|
+
"min_graphemes": {
|
|
5620
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
5621
|
+
},
|
|
5622
|
+
"min_graphemes_message": {
|
|
5623
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
5624
|
+
},
|
|
5625
|
+
"locale": {
|
|
5626
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
5627
|
+
},
|
|
5457
5628
|
"pattern": {
|
|
5458
5629
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
5459
5630
|
},
|
|
@@ -6077,6 +6248,33 @@
|
|
|
6077
6248
|
"min_length_message": {
|
|
6078
6249
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
6079
6250
|
},
|
|
6251
|
+
"max_words": {
|
|
6252
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
6253
|
+
},
|
|
6254
|
+
"max_words_message": {
|
|
6255
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
6256
|
+
},
|
|
6257
|
+
"min_words": {
|
|
6258
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
6259
|
+
},
|
|
6260
|
+
"min_words_message": {
|
|
6261
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
6262
|
+
},
|
|
6263
|
+
"max_graphemes": {
|
|
6264
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
6265
|
+
},
|
|
6266
|
+
"max_graphemes_message": {
|
|
6267
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
6268
|
+
},
|
|
6269
|
+
"min_graphemes": {
|
|
6270
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
6271
|
+
},
|
|
6272
|
+
"min_graphemes_message": {
|
|
6273
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
6274
|
+
},
|
|
6275
|
+
"locale": {
|
|
6276
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
6277
|
+
},
|
|
6080
6278
|
"pattern": {
|
|
6081
6279
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
6082
6280
|
},
|
|
@@ -6102,12 +6300,20 @@
|
|
|
6102
6300
|
"title": "empty_type"
|
|
6103
6301
|
},
|
|
6104
6302
|
"allow_resize": {
|
|
6105
|
-
"
|
|
6106
|
-
"
|
|
6303
|
+
"deprecated": true,
|
|
6304
|
+
"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).",
|
|
6107
6305
|
"type": "boolean",
|
|
6108
6306
|
"documented": true,
|
|
6109
6307
|
"title": "allow_resize",
|
|
6110
|
-
"markdownDescription": "This 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)."
|
|
6308
|
+
"markdownDescription": "**⚠️ 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)."
|
|
6309
|
+
},
|
|
6310
|
+
"prevent_resize": {
|
|
6311
|
+
"description": "Shows or hides the resize handler to vertically resize the input.",
|
|
6312
|
+
"default": false,
|
|
6313
|
+
"type": "boolean",
|
|
6314
|
+
"documented": true,
|
|
6315
|
+
"title": "prevent_resize",
|
|
6316
|
+
"markdownDescription": "Shows or hides the resize handler to vertically resize the input."
|
|
6111
6317
|
},
|
|
6112
6318
|
"initial_height": {
|
|
6113
6319
|
"description": "This key defines the initial height of this input in pixels (px).",
|
|
@@ -6559,11 +6765,11 @@
|
|
|
6559
6765
|
"markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a [Snippet](https://cloudcannon.com/documentation/articles/what-is-a-snippet/), if any are available.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a Snippet."
|
|
6560
6766
|
},
|
|
6561
6767
|
"type._editables.*.styles": {
|
|
6562
|
-
"description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\
|
|
6768
|
+
"description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the `/css/styles.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```",
|
|
6563
6769
|
"type": "string",
|
|
6564
6770
|
"documented": true,
|
|
6565
6771
|
"title": "styles",
|
|
6566
|
-
"markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\
|
|
6772
|
+
"markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\n## Examples\n\nIn this example, we have enabled a dropdown menu in our WYSIWYG toolbar to apply a style to selected text. The styles are defined in the `/css/styles.css` file.\n\n```yaml\n_editables:\n content:\n styles: /css/styles.css\n```\n\nThis example file defines the styles that CloudCannon can add to your WYSIWYG toolbar.\n\n```css\n/* Can be applied to blocks of content */\np.callout {\n margin: 10px;\n border: 1px solid #f5f5f5;\n background-color: #eee;\n}\n\n/* Can be applied to inline content */\nspan.big-blue-text {\n font-size: 2rem;\n color: blue;\n}\n\n/* Applied to content, excluded from style dropdown */\nh2 {\n font-family: cursive;\n}\n\n/* Applied to content, excluded from style dropdown */\n.align-left { text-align: left; }\n.align-center { text-align: center; }\n.align-right { text-align: right; }\n.align-justify { text-align: justify; }\n```"
|
|
6567
6773
|
},
|
|
6568
6774
|
"type._editables.*.table": {
|
|
6569
6775
|
"description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a table.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a table. Further table options are available from the table context menu in the rich text editor.",
|
|
@@ -7542,6 +7748,33 @@
|
|
|
7542
7748
|
"min_length_message": {
|
|
7543
7749
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
7544
7750
|
},
|
|
7751
|
+
"max_words": {
|
|
7752
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
7753
|
+
},
|
|
7754
|
+
"max_words_message": {
|
|
7755
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
7756
|
+
},
|
|
7757
|
+
"min_words": {
|
|
7758
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
7759
|
+
},
|
|
7760
|
+
"min_words_message": {
|
|
7761
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
7762
|
+
},
|
|
7763
|
+
"max_graphemes": {
|
|
7764
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
7765
|
+
},
|
|
7766
|
+
"max_graphemes_message": {
|
|
7767
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
7768
|
+
},
|
|
7769
|
+
"min_graphemes": {
|
|
7770
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
7771
|
+
},
|
|
7772
|
+
"min_graphemes_message": {
|
|
7773
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
7774
|
+
},
|
|
7775
|
+
"locale": {
|
|
7776
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
7777
|
+
},
|
|
7545
7778
|
"pattern": {
|
|
7546
7779
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
7547
7780
|
},
|
|
@@ -8209,6 +8442,33 @@
|
|
|
8209
8442
|
"min_length_message": {
|
|
8210
8443
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8211
8444
|
},
|
|
8445
|
+
"max_words": {
|
|
8446
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
8447
|
+
},
|
|
8448
|
+
"max_words_message": {
|
|
8449
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
8450
|
+
},
|
|
8451
|
+
"min_words": {
|
|
8452
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
8453
|
+
},
|
|
8454
|
+
"min_words_message": {
|
|
8455
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
8456
|
+
},
|
|
8457
|
+
"max_graphemes": {
|
|
8458
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
8459
|
+
},
|
|
8460
|
+
"max_graphemes_message": {
|
|
8461
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
8462
|
+
},
|
|
8463
|
+
"min_graphemes": {
|
|
8464
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
8465
|
+
},
|
|
8466
|
+
"min_graphemes_message": {
|
|
8467
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
8468
|
+
},
|
|
8469
|
+
"locale": {
|
|
8470
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
8471
|
+
},
|
|
8212
8472
|
"pattern": {
|
|
8213
8473
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8214
8474
|
},
|
|
@@ -8418,6 +8678,33 @@
|
|
|
8418
8678
|
"min_length_message": {
|
|
8419
8679
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
8420
8680
|
},
|
|
8681
|
+
"max_words": {
|
|
8682
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
8683
|
+
},
|
|
8684
|
+
"max_words_message": {
|
|
8685
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
8686
|
+
},
|
|
8687
|
+
"min_words": {
|
|
8688
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
8689
|
+
},
|
|
8690
|
+
"min_words_message": {
|
|
8691
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
8692
|
+
},
|
|
8693
|
+
"max_graphemes": {
|
|
8694
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
8695
|
+
},
|
|
8696
|
+
"max_graphemes_message": {
|
|
8697
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
8698
|
+
},
|
|
8699
|
+
"min_graphemes": {
|
|
8700
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
8701
|
+
},
|
|
8702
|
+
"min_graphemes_message": {
|
|
8703
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
8704
|
+
},
|
|
8705
|
+
"locale": {
|
|
8706
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
8707
|
+
},
|
|
8421
8708
|
"pattern": {
|
|
8422
8709
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
8423
8710
|
},
|
|
@@ -8678,8 +8965,8 @@
|
|
|
8678
8965
|
"markdownDescription": "This key toggles whether CloudCannon will allow new text values to be created at edit time.\n\nSetting this key to `true` will allow new text values to be created at edit time.\n\n## Examples\n\nIn this example, CloudCannon will allow users to add new values to a *Select Input*.\n\n```yaml\n_inputs:\n category:\n type: select\n options:\n values:\n - Blog\n - News\n allow_create: true\n```"
|
|
8679
8966
|
},
|
|
8680
8967
|
"type._inputs.*.options.allow_empty": {
|
|
8968
|
+
"deprecated": true,
|
|
8681
8969
|
"description": "**⚠️ DEPRECATED:** 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```",
|
|
8682
|
-
"default": true,
|
|
8683
8970
|
"type": "boolean",
|
|
8684
8971
|
"documented": true,
|
|
8685
8972
|
"title": "allow_empty",
|
|
@@ -9091,6 +9378,33 @@
|
|
|
9091
9378
|
"min_length_message": {
|
|
9092
9379
|
"$ref": "#/definitions/type._inputs.*.options.min_length_message"
|
|
9093
9380
|
},
|
|
9381
|
+
"max_words": {
|
|
9382
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words"
|
|
9383
|
+
},
|
|
9384
|
+
"max_words_message": {
|
|
9385
|
+
"$ref": "#/definitions/type._inputs.*.options.max_words_message"
|
|
9386
|
+
},
|
|
9387
|
+
"min_words": {
|
|
9388
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words"
|
|
9389
|
+
},
|
|
9390
|
+
"min_words_message": {
|
|
9391
|
+
"$ref": "#/definitions/type._inputs.*.options.min_words_message"
|
|
9392
|
+
},
|
|
9393
|
+
"max_graphemes": {
|
|
9394
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes"
|
|
9395
|
+
},
|
|
9396
|
+
"max_graphemes_message": {
|
|
9397
|
+
"$ref": "#/definitions/type._inputs.*.options.max_graphemes_message"
|
|
9398
|
+
},
|
|
9399
|
+
"min_graphemes": {
|
|
9400
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes"
|
|
9401
|
+
},
|
|
9402
|
+
"min_graphemes_message": {
|
|
9403
|
+
"$ref": "#/definitions/type._inputs.*.options.min_graphemes_message"
|
|
9404
|
+
},
|
|
9405
|
+
"locale": {
|
|
9406
|
+
"$ref": "#/definitions/type._inputs.*.options.locale"
|
|
9407
|
+
},
|
|
9094
9408
|
"pattern": {
|
|
9095
9409
|
"$ref": "#/definitions/type._inputs.*.options.pattern"
|
|
9096
9410
|
},
|
|
@@ -9623,13 +9937,13 @@
|
|
|
9623
9937
|
"type": "string",
|
|
9624
9938
|
"documented": true,
|
|
9625
9939
|
"title": "values_from_glob[*]",
|
|
9626
|
-
"description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
9627
|
-
"markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n
|
|
9940
|
+
"description": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```",
|
|
9941
|
+
"markdownDescription": "This key represents an individual glob pattern string in the `values_from_glob` array.\n\nThe value is a string that specifies a file path pattern relative to the root of your repository. The path must end in the file extension `.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure-value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```"
|
|
9628
9942
|
},
|
|
9629
9943
|
"documented": true,
|
|
9630
9944
|
"title": "values_from_glob",
|
|
9631
|
-
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/
|
|
9632
|
-
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/
|
|
9945
|
+
"description": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```",
|
|
9946
|
+
"markdownDescription": "This key defines globs that filter which files CloudCannon should use for *Structure* value configuration.\n\nValues in this array are relative to the root of your repository (i.e., `/`, not the value of `source`) and must end in the file extension\n`.cloudcannon.structure-value.yml` (note the singular form of \"value\").\n\nYou can use this key anywhere you would use the `_structures.*.values` key.\n\nPlease see our documentation on [structures_from_glob](https://cloudcannon.com/documentation/developer-reference/configuration-file/types/_structures_from_glob/) for defining a\n*Structure* in a split *Configuration File*.\n\nThis key has no default.\n\n## Examples\n\nIn this example, the `staff` Array Input uses inline *Structure* values from the main *Configuration File* and also references another value from the `boardMember.cloudcannon.structure_value.yml` in the `/.cloudcannon/structures/` folder.\n\n```yaml\n_inputs:\n staff:\n type: array\n options:\n structures:\n values_from_glob:\n - /.cloudcannon/structures/boardMember.cloudcannon.structure-value.yml\n values:\n - label: Employee\n value:\n name:\n title:\n profile_picture:\n - label: Manager\n value:\n name:\n title:\n profile_picture:\n url:\n```\n\n```yaml\nlabel: Board\nvalue:\n name:\n title:\n profile_picture:\n url:\n description:\n```"
|
|
9633
9947
|
},
|
|
9634
9948
|
"id_key": {
|
|
9635
9949
|
"description": "This key defines which key within `values[*].value` CloudCannon should use to identify the Structure option.\n\nIf CloudCannon cannot find this key in a Structure value, it will compare all other key names in the Structure value to find the correct one.\n\nBy default, this key is `_type`.\n\n## Examples\n\nIn this example, we have change the `id_key` from the default `_type` to `component` to match our existing configuration in the `content_blocks` Array input.\n\n```yaml\n_inputs:\n content_blocks___1___:\n type: array\n options:\n structures: _structures.page_components\n_structures:\n page_components:\n id_key___2___: component\n values:\n - label: Hero Component\n value:\n component___3___: hero\n title:\n description:\n image_path:\n link:\n text:\n url:\n - label: Feature Component\n value:\n component: feature\n image_path:\n title:\n description:\n button:\n link:\n text:\n reversed_layout: false\n - label: Video Component\n value:\n component: video\n image_path:\n videoUrl:\n```",
|
|
@@ -10027,8 +10341,8 @@
|
|
|
10027
10341
|
},
|
|
10028
10342
|
"documented": true,
|
|
10029
10343
|
"title": "_structures_from_glob",
|
|
10030
|
-
"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/
|
|
10031
|
-
"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/
|
|
10344
|
+
"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```",
|
|
10345
|
+
"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```"
|
|
10032
10346
|
},
|
|
10033
10347
|
"entries_comment": {
|
|
10034
10348
|
"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```",
|