@cloudcannon/configuration-types 0.0.52 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,42 +1,12 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "title": "Editables",
4
- "description": "Configuration for editable regions in the Visual Editor, including content, block, link, image, and text editing options.",
5
3
  "$id": "https://github.com/cloudcannon/configuration-types/releases/latest/download/cloudcannon-editables.schema.json",
6
- "allOf": [
7
- {
8
- "$ref": "#/definitions/type._editables"
9
- }
10
- ],
4
+ "$ref": "#/definitions/type._editables",
11
5
  "definitions": {
12
- "type._editables": {
13
- "title": "Editables",
14
- "description": "This key defines which Rich Text editors have custom configuration for the associated WYSIWYG toolbar.\n\nFor more information, please read our documentation on [Rich Text editors](https://cloudcannon.com/documentation/articles/what-are-rich-text-editors/).\n\n## Examples\n\nIn this example, we have configured the Snippet tool for WYSIWYG toolbars in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _editables:\n content:\n snippet: true\n```",
15
- "type": "object",
16
- "properties": {
17
- "content": {
18
- "$ref": "#/definitions/ContentEditable"
19
- },
20
- "block": {
21
- "$ref": "#/definitions/BlockEditable"
22
- },
23
- "link": {
24
- "$ref": "#/definitions/LinkEditable"
25
- },
26
- "image": {
27
- "$ref": "#/definitions/ImageEditable"
28
- },
29
- "text": {
30
- "$ref": "#/definitions/TextEditable"
31
- }
32
- },
33
- "additionalProperties": false,
34
- "documented": true,
35
- "markdownDescription": "This key defines which Rich Text editors have custom configuration for the associated WYSIWYG toolbar.\n\nFor more information, please read our documentation on [Rich Text editors](https://cloudcannon.com/documentation/articles/what-are-rich-text-editors/).\n\n## Examples\n\nIn this example, we have configured the Snippet tool for WYSIWYG toolbars in the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n _editables:\n content:\n snippet: true\n```"
36
- },
37
6
  "ContentEditable": {
7
+ "id": "ContentEditable",
38
8
  "title": "Content Editable",
39
- "description": "This key defines input options for the Content Editor.",
9
+ "description": "Contains input options for the Content Editor.",
40
10
  "type": "object",
41
11
  "properties": {
42
12
  "mime_type": {
@@ -71,9 +41,7 @@
71
41
  {
72
42
  "$ref": "#/definitions/type.paths"
73
43
  }
74
- ],
75
- "documented": false,
76
- "title": "paths"
44
+ ]
77
45
  },
78
46
  "bold": {
79
47
  "$ref": "#/definitions/type._editables.*.bold"
@@ -178,25 +146,23 @@
178
146
  "$ref": "#/definitions/type._editables.*.join_below"
179
147
  }
180
148
  },
181
- "additionalProperties": false,
182
- "documented": true,
183
- "markdownDescription": "This key defines input options for the Content Editor."
149
+ "additionalProperties": false
184
150
  },
185
151
  "type._inputs.*.options.mime_type": {
152
+ "id": "type._inputs.*.options.mime_type",
186
153
  "title": "Mime Type",
187
- "description": "This key defines what format an image is converted to prior to upload.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to convert images to WebP format prior to upload.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n mime_type: image/webp\n```",
154
+ "description": "Sets the format images are converted to prior to upload. The extension of the file is updated to match. Defaults to keeping the mime type of the uploaded file.",
188
155
  "type": "string",
189
156
  "enum": [
190
157
  "image/jpeg",
191
158
  "image/png",
192
159
  "image/webp"
193
- ],
194
- "documented": true,
195
- "markdownDescription": "This key defines what format an image is converted to prior to upload.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to convert images to WebP format prior to upload.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n mime_type: image/webp\n```"
160
+ ]
196
161
  },
197
162
  "type._inputs.*.options.resize_style": {
163
+ "id": "type._inputs.*.options.resize_style",
198
164
  "title": "Resize Style",
199
- "description": "This key defines how image files are resized prior to upload, using a bounding box defined by `width` and `height` options.\n\nValid values are `cover`, `contain`, `crop`, or `stretch`:\n\n* `cover` keeps aspect ratio and ensures the image covers the bounding box\n* `contain` keeps aspect ratio and ensures the image fits inside the bounding box\n* `crop` prompts the user with and interface to select an aspect-ratio-respecting area\n* `stretch` ignores aspect ratio and resizes the image to the bounding box\n\nThis key does not apply to existing images, and does not work if `width` and `height` options are not defined.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to resize images using the `cover` style to ensure images cover the bounding box while maintaining aspect ratio.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n```",
165
+ "description": "Sets how uploaded image files are resized with a bounding box defined by width and height prior to upload. Has no effect when selecting existing images, or if width and height are unset.",
200
166
  "default": "contain",
201
167
  "type": "string",
202
168
  "enum": [
@@ -204,98 +170,74 @@
204
170
  "contain",
205
171
  "stretch",
206
172
  "crop"
207
- ],
208
- "documented": true,
209
- "markdownDescription": "This key defines how image files are resized prior to upload, using a bounding box defined by `width` and `height` options.\n\nValid values are `cover`, `contain`, `crop`, or `stretch`:\n\n* `cover` keeps aspect ratio and ensures the image covers the bounding box\n* `contain` keeps aspect ratio and ensures the image fits inside the bounding box\n* `crop` prompts the user with and interface to select an aspect-ratio-respecting area\n* `stretch` ignores aspect ratio and resizes the image to the bounding box\n\nThis key does not apply to existing images, and does not work if `width` and `height` options are not defined.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to resize images using the `cover` style to ensure images cover the bounding box while maintaining aspect ratio.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n```"
173
+ ]
210
174
  },
211
175
  "type._inputs.*.options.width": {
176
+ "id": "type._inputs.*.options.width",
212
177
  "title": "Width",
213
- "description": "This key defines the width of the bounding box used in the resizing method defined by `resize_style`.",
214
- "type": "number",
215
- "documented": true,
216
- "markdownDescription": "This key defines the width of the bounding box used in the resizing method defined by `resize_style`."
178
+ "description": "Defines the width of the bounding box used in the image resizing process defined with resize_style.",
179
+ "type": "number"
217
180
  },
218
181
  "type._inputs.*.options.height": {
182
+ "id": "type._inputs.*.options.height",
219
183
  "title": "Height",
220
- "description": "This key defines the height of the bounding box used in the resizing method defined by `resize_style`.\n\n## Examples\n\nIn this example, we have configured the height of the bounding box for an *Image Input*.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n```",
221
- "type": "number",
222
- "documented": true,
223
- "markdownDescription": "This key defines the height of the bounding box used in the resizing method defined by `resize_style`.\n\n## Examples\n\nIn this example, we have configured the height of the bounding box for an *Image Input*.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n```"
184
+ "description": "Defines the height of the bounding box used in the image resizing process defined with resize_style.",
185
+ "type": "number"
224
186
  },
225
187
  "type._inputs.*.options.expandable": {
188
+ "id": "type._inputs.*.options.expandable",
226
189
  "title": "Expandable",
227
- "description": "This key defines whether you can upscale an image to fit the bounding box while resizing an image prior to upload.\n\nHas no effect if files are not resized.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to allow upscaling images to fit the bounding box while resizing.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n expandable: true\n```",
190
+ "description": "Controls whether or not images can be upscaled to fit the bounding box during resize prior to upload. Has no effect if files are not resized.",
228
191
  "default": false,
229
- "type": "boolean",
230
- "documented": true,
231
- "markdownDescription": "This key defines whether you can upscale an image to fit the bounding box while resizing an image prior to upload.\n\nHas no effect if files are not resized.\n\n## Examples\n\nIn this example, we have configured an *Image Input* to allow upscaling images to fit the bounding box while resizing.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n expandable: true\n```"
192
+ "type": "boolean"
232
193
  },
233
194
  "type._inputs.*.options.image_size_attributes": {
195
+ "id": "type._inputs.*.options.image_size_attributes",
234
196
  "title": "Image Size Attributes",
235
- "description": "This key toggles whether CloudCannon will instruct a rich text editor to save `width` and `height` attributes on image elements.\n\nSetting this key to `true` will instruct the rich text editor to save `width` and `height` attributes on image elements. This can prevent pop-in as a page loads.\n\nBy default, this key is `false` (i.e., width and height attributes are not saved on image elements). This defaults to `true` if the [Image Size Attributes site flag](https://cloudcannon.com/documentation/articles/legacy-option-flags/#image-size-attributes-default-behaviour) is enabled (this is enabled for sites created before June 23 2023, in order to keep those sites working).\n\n## Examples\n\nIn this example, CloudCannon will save width and height attributes on image elements in a *Rich Text Input*.\n\n```yaml\n_inputs:\n content:\n type: markdown\n options:\n image_size_attributes: true\n```",
197
+ "description": "Instructs the editor to save `width` and `height` attributes on the image elements. This can prevent pop-in as a page loads.",
236
198
  "default": true,
237
- "type": "boolean",
238
- "documented": true,
239
- "markdownDescription": "This key toggles whether CloudCannon will instruct a rich text editor to save `width` and `height` attributes on image elements.\n\nSetting this key to `true` will instruct the rich text editor to save `width` and `height` attributes on image elements. This can prevent pop-in as a page loads.\n\nBy default, this key is `false` (i.e., width and height attributes are not saved on image elements). This defaults to `true` if the [Image Size Attributes site flag](https://cloudcannon.com/documentation/articles/legacy-option-flags/#image-size-attributes-default-behaviour) is enabled (this is enabled for sites created before June 23 2023, in order to keep those sites working).\n\n## Examples\n\nIn this example, CloudCannon will save width and height attributes on image elements in a *Rich Text Input*.\n\n```yaml\n_inputs:\n content:\n type: markdown\n options:\n image_size_attributes: true\n```"
199
+ "type": "boolean"
240
200
  },
241
201
  "type._inputs.*.options.allowed_sources": {
202
+ "id": "type._inputs.*.options.allowed_sources",
242
203
  "title": "Allowed Sources",
243
- "description": "This key defines which sources and DAMs you are allowed to upload to and browse.\n\nThe value can be an array of strings. Valid values include `site-files` and the reference key for any DAM connected to your site.\n\nIf `site-files` is omitted from the array, site files will not be available as an asset source for this input.\n\n## Examples\n\nIn this example, we have configured allowed sources for an *Image Input*.\n\n```yaml\n_inputs:\n image:\n type: image\n options:\n allowed_sources:\n - site-files\n - my-cloudinary-dam\n```",
204
+ "description": "If you have one or more DAMs connected to your site, you can use this key to list which asset sources can be uploaded to and selected from.",
244
205
  "type": "array",
245
206
  "items": {
246
- "type": "string",
247
- "documented": true,
248
- "title": "allowed_sources[*]",
249
- "description": "This key defines which sources and DAMs you are allowed to upload to and browse.\n\nThe value can be an array of strings. Valid values include `site-files` and the reference key for any DAM connected to your site.\n\nIf `site-files` is omitted from the array, site files will not be available as an asset source for this input.\n\n## Examples\n\nIn this example, we have configured allowed sources for an *Image Input*.\n\n```yaml\n_inputs:\n image:\n type: image\n options:\n allowed_sources:\n - site-files\n - my-cloudinary-dam\n```",
250
- "markdownDescription": "This key defines which sources and DAMs you are allowed to upload to and browse.\n\nThe value can be an array of strings. Valid values include `site-files` and the reference key for any DAM connected to your site.\n\nIf `site-files` is omitted from the array, site files will not be available as an asset source for this input.\n\n## Examples\n\nIn this example, we have configured allowed sources for an *Image Input*.\n\n```yaml\n_inputs:\n image:\n type: image\n options:\n allowed_sources:\n - site-files\n - my-cloudinary-dam\n```"
251
- },
252
- "documented": true,
253
- "markdownDescription": "This key defines which sources and DAMs you are allowed to upload to and browse.\n\nThe value can be an array of strings. Valid values include `site-files` and the reference key for any DAM connected to your site.\n\nIf `site-files` is omitted from the array, site files will not be available as an asset source for this input.\n\n## Examples\n\nIn this example, we have configured allowed sources for an *Image Input*.\n\n```yaml\n_inputs:\n image:\n type: image\n options:\n allowed_sources:\n - site-files\n - my-cloudinary-dam\n```"
207
+ "type": "string"
208
+ }
254
209
  },
255
210
  "type._inputs.*.options.prevent_resize_existing_files": {
211
+ "id": "type._inputs.*.options.prevent_resize_existing_files",
256
212
  "title": "Prevent Resize Existing Files",
257
- "description": "This key toggles whether CloudCannon will skip the image resizing process configured for this input when selecting existing images.\n\nSetting this key to `true` will skip the image resizing process when selecting existing images.\n\n## Examples\n\nIn this example, CloudCannon will skip the image resizing process when selecting existing images for an *Image Input*.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n prevent_resize_existing_files: true\n```",
213
+ "description": "Enable to skip the image resizing process configured for this input when selecting existing images.",
258
214
  "default": false,
259
- "type": "boolean",
260
- "documented": true,
261
- "markdownDescription": "This key toggles whether CloudCannon will skip the image resizing process configured for this input when selecting existing images.\n\nSetting this key to `true` will skip the image resizing process when selecting existing images.\n\n## Examples\n\nIn this example, CloudCannon will skip the image resizing process when selecting existing images for an *Image Input*.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n width: 1200\n height: 600\n resize_style: cover\n prevent_resize_existing_files: true\n```"
215
+ "type": "boolean"
262
216
  },
263
217
  "type._inputs.*.options.sizes": {
218
+ "id": "type._inputs.*.options.sizes",
264
219
  "title": "Sizes",
265
- "description": "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```",
220
+ "description": "Definitions for creating additional images of different sizes when uploading or selecting existing files.",
266
221
  "type": "array",
267
222
  "items": {
268
223
  "type": "object",
269
224
  "properties": {
270
225
  "size": {
271
- "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```",
272
226
  "type": "string",
273
- "documented": true,
274
- "title": "size",
275
- "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```"
227
+ "description": "A number suffixed with \"x\" (relative size) or \"w\" (fixed width) for setting the dimensions of the image (e.g. 2x, 3x, 100w, 360w)."
276
228
  },
277
229
  "target": {
278
- "description": "This key defines a reference to another input that is given the path to this additional image file.",
279
- "type": "string",
280
- "documented": true,
281
- "title": "target",
282
- "markdownDescription": "This key defines a reference to another input that is given the path to this additional image file."
230
+ "description": "A reference to another input that is given the path to this additional image file.",
231
+ "type": "string"
283
232
  }
284
233
  },
285
234
  "required": [
286
235
  "size"
287
236
  ],
288
- "additionalProperties": false,
289
- "documented": true,
290
- "title": "sizes[*]",
291
- "description": "This key represents an individual size definition in the `options.sizes` array for *Image Inputs*.\n\nThe value is an object that can contain `size` and `target` properties.\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input*.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n target: hero_image_2x\n```",
292
- "markdownDescription": "This key represents an individual size definition in the `options.sizes` array for *Image Inputs*.\n\nThe value is an object that can contain `size` and `target` properties.\n\n## Examples\n\nIn this example, we have configured a size definition for an *Image Input*.\n\n```yaml\n_inputs:\n hero_image:\n type: image\n options:\n sizes:\n - size: 2x\n target: hero_image_2x\n```"
293
- },
294
- "documented": true,
295
- "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```"
237
+ "additionalProperties": false
238
+ }
296
239
  },
297
240
  "type.paths": {
298
- "title": "Paths",
299
241
  "type": "object",
300
242
  "properties": {
301
243
  "static": {
@@ -321,329 +263,240 @@
321
263
  }
322
264
  },
323
265
  "additionalProperties": false,
324
- "documented": true,
325
- "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```",
326
- "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```"
266
+ "id": "type.paths",
267
+ "title": "Paths"
327
268
  },
328
269
  "paths.static": {
329
- "type": "string",
330
- "documented": true,
331
- "title": "static",
332
- "description": "This key defines the path for the location of statically copied assets.\n\n## Examples\n\nIn this example, we have configured the static path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n static: /assets/\n```",
333
- "markdownDescription": "This key defines the path for the location of statically copied assets.\n\n## Examples\n\nIn this example, we have configured the static path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n static: /assets/\n```"
270
+ "id": "paths.static",
271
+ "type": "string"
334
272
  },
335
273
  "paths.uploads": {
274
+ "id": "paths.uploads",
336
275
  "default": "uploads",
337
- "type": "string",
338
- "documented": true,
339
- "title": "uploads",
340
- "description": "This key defines the paths for the default location of newly uploaded site files.\n\nYou can use [dynamic placeholders](https://cloudcannon.com/documentation/articles/configure-your-template-strings/) for `uploads` and `dam_uploads`.\n\n## Examples\n\nIn this example, we have configured the uploads path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads: /uploads/blog/\n```",
341
- "markdownDescription": "This key defines the paths for the default location of newly uploaded site files.\n\nYou can use [dynamic placeholders](https://cloudcannon.com/documentation/articles/configure-your-template-strings/) for `uploads` and `dam_uploads`.\n\n## Examples\n\nIn this example, we have configured the uploads path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads: /uploads/blog/\n```"
276
+ "type": "string"
342
277
  },
343
278
  "paths.uploads_filename": {
344
- "type": "string",
345
- "documented": true,
346
- "title": "uploads_filename",
347
- "description": "This key defines the path for the name of the uploaded file.\n\n## Examples\n\nIn this example, we have configured the uploads filename path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads_filename: '{filename|slugify}'\n```",
348
- "markdownDescription": "This key defines the path for the name of the uploaded file.\n\n## Examples\n\nIn this example, we have configured the uploads filename path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n uploads_filename: '{filename|slugify}'\n```"
279
+ "id": "paths.uploads_filename",
280
+ "type": "string"
349
281
  },
350
282
  "paths.dam_uploads": {
351
- "type": "string",
352
- "documented": true,
353
- "title": "dam_uploads",
354
- "description": "This key defines the path for the default location of newly uploaded [DAM](https://cloudcannon.com/documentation/articles/introduction-to-assets-and-dams/)\nfiles.\n\nYou can use [dynamic placeholders](https://cloudcannon.com/documentation/articles/configure-your-template-strings/) for `uploads` and `dam_uploads`.\n\n## Examples\n\nIn this example, we have configured the DAM uploads path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n dam_uploads: /dam/uploads/blog/\n```",
355
- "markdownDescription": "This key defines the path for the default location of newly uploaded [DAM](https://cloudcannon.com/documentation/articles/introduction-to-assets-and-dams/)\nfiles.\n\nYou can use [dynamic placeholders](https://cloudcannon.com/documentation/articles/configure-your-template-strings/) for `uploads` and `dam_uploads`.\n\n## Examples\n\nIn this example, we have configured the DAM uploads path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n dam_uploads: /dam/uploads/blog/\n```"
283
+ "id": "paths.dam_uploads",
284
+ "type": "string"
356
285
  },
357
286
  "paths.dam_uploads_filename": {
358
- "type": "string",
359
- "documented": true,
360
- "title": "dam_uploads_filename",
361
- "description": "This key defines the path for the name of the uploaded file, when uploading [DAM](https://cloudcannon.com/documentation/articles/introduction-to-assets-and-dams/) files.\n\n## Examples\n\nIn this example, we have configured the DAM uploads filename path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n dam_uploads_filename: '{filename|slugify}'\n```",
362
- "markdownDescription": "This key defines the path for the name of the uploaded file, when uploading [DAM](https://cloudcannon.com/documentation/articles/introduction-to-assets-and-dams/) files.\n\n## Examples\n\nIn this example, we have configured the DAM uploads filename path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n dam_uploads_filename: '{filename|slugify}'\n```"
287
+ "id": "paths.dam_uploads_filename",
288
+ "type": "string"
363
289
  },
364
290
  "paths.dam_static": {
365
- "type": "string",
366
- "documented": true,
367
- "title": "dam_static",
368
- "description": "This key defines the path for the location of statically copied assets for [DAM](https://cloudcannon.com/documentation/articles/introduction-to-assets-and-dams/) files.\n\n## Examples\n\nIn this example, we have configured the DAM static path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n dam_static: /assets/dam/\n```",
369
- "markdownDescription": "This key defines the path for the location of statically copied assets for [DAM](https://cloudcannon.com/documentation/articles/introduction-to-assets-and-dams/) files.\n\n## Examples\n\nIn this example, we have configured the DAM static path for the `blog` Collection.\n\n```yaml\ncollections_config:\n blog:\n paths:\n dam_static: /assets/dam/\n```"
291
+ "id": "paths.dam_static",
292
+ "type": "string"
370
293
  },
371
294
  "paths.uploads_use_relative_path": {
295
+ "id": "paths.uploads_use_relative_path",
372
296
  "default": false,
373
- "type": "boolean",
374
- "documented": true,
375
- "title": "uploads_use_relative_path",
376
- "description": "This key toggles whether CloudCannon will use relative paths instead of absolute paths for uploaded files.\n\nSetting this key to `true` will make CloudCannon use relative paths for uploaded files, which are relative to the file being edited rather than the repository root.\n\n## Examples\n\nIn this example, we have configured uploads to use relative paths for files uploaded in the Content Editor.\n\n```yaml\n_editables:\n content:\n paths:\n uploads_use_relative_path: true\n```",
377
- "markdownDescription": "This key toggles whether CloudCannon will use relative paths instead of absolute paths for uploaded files.\n\nSetting this key to `true` will make CloudCannon use relative paths for uploaded files, which are relative to the file being edited rather than the repository root.\n\n## Examples\n\nIn this example, we have configured uploads to use relative paths for files uploaded in the Content Editor.\n\n```yaml\n_editables:\n content:\n paths:\n uploads_use_relative_path: true\n```"
297
+ "type": "boolean"
378
298
  },
379
299
  "type._editables.*.bold": {
380
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to bold selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to bold selected text.",
300
+ "id": "type._editables.*.bold",
301
+ "description": "Enables a control to set selected text to bold.",
381
302
  "default": true,
382
- "type": "boolean",
383
- "documented": true,
384
- "title": "bold",
385
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to bold selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to bold selected text."
303
+ "type": "boolean"
386
304
  },
387
305
  "type._editables.*.copyformatting": {
388
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to copy formatting from selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to copy formatting from selected text. Applies to `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript` formatting. Does not copy other styles or formatting.",
306
+ "id": "type._editables.*.copyformatting",
307
+ "description": "Enables a control to copy formatting from text to other text. Only applies to formatting from `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript`. Does not copy other styles or formatting.",
389
308
  "default": false,
390
- "type": "boolean",
391
- "documented": true,
392
- "title": "copyformatting",
393
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to copy formatting from selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to copy formatting from selected text. Applies to `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript` formatting. Does not copy other styles or formatting."
309
+ "type": "boolean"
394
310
  },
395
311
  "type._editables.*.italic": {
396
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to italicize selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to italicize selected text.",
312
+ "id": "type._editables.*.italic",
313
+ "description": "Enables a control to italicize selected text.",
397
314
  "default": true,
398
- "type": "boolean",
399
- "documented": true,
400
- "title": "italic",
401
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to italicize selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to italicize selected text."
315
+ "type": "boolean"
402
316
  },
403
317
  "type._editables.*.link": {
404
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to create a hyperlink around selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to create a hyperlink around selected text.",
318
+ "id": "type._editables.*.link",
319
+ "description": "Enables a control to create hyperlinks around selected text.",
405
320
  "default": true,
406
- "type": "boolean",
407
- "documented": true,
408
- "title": "link",
409
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to create a hyperlink around selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to create a hyperlink around selected text."
321
+ "type": "boolean"
410
322
  },
411
323
  "type._editables.*.redo": {
412
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to redo recent edits undone with `undo`.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to redo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts.",
324
+ "id": "type._editables.*.redo",
325
+ "description": "Enables a control to redo recent edits undone with undo. Redo is always enabled through standard OS-specific keyboard shortcuts.",
413
326
  "default": false,
414
- "type": "boolean",
415
- "documented": true,
416
- "title": "redo",
417
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to redo recent edits undone with `undo`.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to redo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts."
327
+ "type": "boolean"
418
328
  },
419
329
  "type._editables.*.removeformat": {
420
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to remove formatting from selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to remove formatting. Applies to `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript` formatting. Does not remove other styles or formatting.",
330
+ "id": "type._editables.*.removeformat",
331
+ "description": "Enables the control to remove formatting from text. Applies to formatting from `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript`. Does not remove other styles or formatting.",
421
332
  "default": true,
422
- "type": "boolean",
423
- "documented": true,
424
- "title": "removeformat",
425
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to remove formatting from selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to remove formatting. Applies to `bold`, `italic`, `underline`, `strike`, `subscript`, and `superscript` formatting. Does not remove other styles or formatting."
333
+ "type": "boolean"
426
334
  },
427
335
  "type._editables.*.strike": {
428
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to strike through selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to strike through selected text.",
336
+ "id": "type._editables.*.strike",
337
+ "description": "Enables a control to strike selected text.",
429
338
  "default": false,
430
- "type": "boolean",
431
- "documented": true,
432
- "title": "strike",
433
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to strike through selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to strike through selected text."
339
+ "type": "boolean"
434
340
  },
435
341
  "type._editables.*.subscript": {
436
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to subscript selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to subscript selected text.",
342
+ "id": "type._editables.*.subscript",
343
+ "description": "Enables a control to set selected text to subscript.",
437
344
  "default": false,
438
- "type": "boolean",
439
- "documented": true,
440
- "title": "subscript",
441
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to subscript selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to subscript selected text."
345
+ "type": "boolean"
442
346
  },
443
347
  "type._editables.*.superscript": {
444
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to superscript selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to superscript selected text.",
348
+ "id": "type._editables.*.superscript",
349
+ "description": "Enables a control to set selected text to superscript.",
445
350
  "default": false,
446
- "type": "boolean",
447
- "documented": true,
448
- "title": "superscript",
449
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to superscript selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to superscript selected text."
351
+ "type": "boolean"
450
352
  },
451
353
  "type._editables.*.underline": {
452
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to underline selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to underline selected text.",
354
+ "id": "type._editables.*.underline",
355
+ "description": "Enables a control to underline selected text.",
453
356
  "default": false,
454
- "type": "boolean",
455
- "documented": true,
456
- "title": "underline",
457
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to underline selected text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to underline selected text."
357
+ "type": "boolean"
458
358
  },
459
359
  "type._editables.*.undo": {
460
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to undo recent edits.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to undo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts.",
360
+ "id": "type._editables.*.undo",
361
+ "description": "Enables a control to undo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts.",
461
362
  "default": false,
462
- "type": "boolean",
463
- "documented": true,
464
- "title": "undo",
465
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to undo recent edits.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to undo recent edits. Undo is always enabled through standard OS-specific keyboard shortcuts."
363
+ "type": "boolean"
466
364
  },
467
365
  "type._editables.*.remove_custom_markup": {
468
- "description": "This key toggles whether CloudCannon will allow you to strip custom markup from content edited in a rich text editor, allowing you to clean files of unnecessary HTML content.\n\nSetting this key to `true` will enable stripping custom markup from content. The `remove_custom_markup` key is disabled if `allow_custom_markup` is enabled.",
469
- "type": "boolean",
470
- "documented": true,
471
- "title": "remove_custom_markup",
472
- "markdownDescription": "This key toggles whether CloudCannon will allow you to strip custom markup from content edited in a rich text editor, allowing you to clean files of unnecessary HTML content.\n\nSetting this key to `true` will enable stripping custom markup from content. The `remove_custom_markup` key is disabled if `allow_custom_markup` is enabled."
366
+ "id": "type._editables.*.remove_custom_markup",
367
+ "description": "Defines if the content should be stripped of \"custom markup\". It is recommended to have this option turned on once you have all of your rich text options configured. Having `allow_custom_markup` turned on disables this option. Defaults to false.",
368
+ "type": "boolean"
473
369
  },
474
370
  "type._editables.*.allow_custom_markup": {
475
- "description": "This key toggles whether CloudCannon will allow you to edit custom markup in rich text editors and explicitly accept the risk of unintentionally deleting elements that cannot be recreated.\n\nSetting this key to `true` will enable editing of custom markup. When using `allow_custom_markup` outside of editable regions, content that uses JavaScript will not be editable for security reasons. These inputs will appear as uneditable snippets.",
476
- "type": "boolean",
477
- "documented": true,
478
- "title": "allow_custom_markup",
479
- "markdownDescription": "This key toggles whether CloudCannon will allow you to edit custom markup in rich text editors and explicitly accept the risk of unintentionally deleting elements that cannot be recreated.\n\nSetting this key to `true` will enable editing of custom markup. When using `allow_custom_markup` outside of editable regions, content that uses JavaScript will not be editable for security reasons. These inputs will appear as uneditable snippets."
371
+ "id": "type._editables.*.allow_custom_markup",
372
+ "description": "Defines if the content can contain \"custom markup\". It is not recommended to have this option turned on. Defaults to true for non-content editable regions, false otherwise.",
373
+ "type": "boolean"
480
374
  },
481
375
  "type._editables.*.blockquote": {
482
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to wrap selected blocks of text in a block quote.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to wrap selected blocks of text in a block quote.",
376
+ "id": "type._editables.*.blockquote",
377
+ "description": "Enables a control to wrap blocks of text in block quotes.",
483
378
  "default": true,
484
- "type": "boolean",
485
- "documented": true,
486
- "title": "blockquote",
487
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to wrap selected blocks of text in a block quote.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to wrap selected blocks of text in a block quote."
379
+ "type": "boolean"
488
380
  },
489
381
  "type._editables.*.bulletedlist": {
490
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an unordered list or convert selected text to an unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert an unordered list or convert selected text to an unordered list.",
382
+ "id": "type._editables.*.bulletedlist",
383
+ "description": "Enables a control to insert an unordered list, or to convert selected blocks of text into a unordered list.",
491
384
  "default": true,
492
- "type": "boolean",
493
- "documented": true,
494
- "title": "bulletedlist",
495
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an unordered list or convert selected text to an unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert an unordered list or convert selected text to an unordered list."
385
+ "type": "boolean"
496
386
  },
497
387
  "type._editables.*.center": {
498
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to center align selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to center align selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file.",
499
- "type": "string",
500
- "documented": true,
501
- "title": "center",
502
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to center align selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to center align selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file."
388
+ "id": "type._editables.*.center",
389
+ "description": "Enables a control to center align text by toggling a class name for a block of text. The value is the class name the editor should add to align the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
390
+ "type": "string"
503
391
  },
504
392
  "type._editables.*.code_inline": {
505
- "description": "This key toggles whether CloudCannon will display a control in your WYSIWYG toolbar to create an inline code element, containing any selected text.\n\nSetting this key to `true` will enable a control in your WYSIWYG toolbar to create an inline code element.\n\nBy default, this key is `false` (i.e., the inline code control is not displayed).",
393
+ "id": "type._editables.*.code_inline",
394
+ "description": "Enables a control to create an inline code element, containing any selected text.",
506
395
  "default": false,
507
- "type": "boolean",
508
- "documented": true,
509
- "title": "code_inline",
510
- "markdownDescription": "This key toggles whether CloudCannon will display a control in your WYSIWYG toolbar to create an inline code element, containing any selected text.\n\nSetting this key to `true` will enable a control in your WYSIWYG toolbar to create an inline code element.\n\nBy default, this key is `false` (i.e., the inline code control is not displayed)."
396
+ "type": "boolean"
511
397
  },
512
398
  "type._editables.*.code_block": {
513
- "description": "This key toggles whether CloudCannon will display a control in your WYSIWYG toolbar to insert a code block in editable regions.\n\nSetting this key to `true` will enable a control in your WYSIWYG toolbar to insert a code block.\n\nBy default, this key is `false` (i.e., the code block control is not displayed).",
399
+ "id": "type._editables.*.code_block",
400
+ "description": "Enables a control to insert a code block.",
514
401
  "default": false,
515
- "type": "boolean",
516
- "documented": true,
517
- "title": "code_block",
518
- "markdownDescription": "This key toggles whether CloudCannon will display a control in your WYSIWYG toolbar to insert a code block in editable regions.\n\nSetting this key to `true` will enable a control in your WYSIWYG toolbar to insert a code block.\n\nBy default, this key is `false` (i.e., the code block control is not displayed)."
402
+ "type": "boolean"
519
403
  },
520
404
  "type._editables.*.code": {
521
- "description": "This key toggles whether CloudCannon will display tools in your WYSIWYG toolbar to turn selected text into inline code and selected text into a code block.\n\nSetting this key to `true` will enable two tools in your WYSIWYG toolbar to turn selected text into inline code and selected text into a code block.",
405
+ "id": "type._editables.*.code",
406
+ "description": "Enables both block and inline code controls: `code_block` and `code_inline`.",
522
407
  "default": false,
523
- "type": "boolean",
524
- "documented": true,
525
- "title": "code",
526
- "markdownDescription": "This key toggles whether CloudCannon will display tools in your WYSIWYG toolbar to turn selected text into inline code and selected text into a code block.\n\nSetting this key to `true` will enable two tools in your WYSIWYG toolbar to turn selected text into inline code and selected text into a code block."
408
+ "type": "boolean"
527
409
  },
528
410
  "type._editables.*.embed": {
529
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a region of raw HTML for YouTube, Vimeo, social media posts, or other media.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a region of raw HTML. Embedded content is sanitized to mitigate XSS risks, which includes removing `style` tags. Embeds containing `script` tags are not loaded a rich text editor.",
411
+ "id": "type._editables.*.embed",
412
+ "description": "Enables a control to insert a region of raw HTML, including YouTube, Vimeo, Tweets, and other media. Embedded content is sanitized to mitigate XSS risks, which includes removing style tags. Embeds containing script tags are not loaded in the editor.",
530
413
  "default": false,
531
- "type": "boolean",
532
- "documented": true,
533
- "title": "embed",
534
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a region of raw HTML for YouTube, Vimeo, social media posts, or other media.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a region of raw HTML. Embedded content is sanitized to mitigate XSS risks, which includes removing `style` tags. Embeds containing `script` tags are not loaded a rich text editor."
414
+ "type": "boolean"
535
415
  },
536
416
  "type._editables.*.format": {
537
- "description": "This key toggles whether CloudCannon will display a dropdown menu tool in your WYSIWYG toolbar for structured text.\n\nSetting this key to `true` will enable a dropdown menu tool in your WYSIWYG toolbar for structured text. Valid values include for `p`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `pre`, `address`, and `div`. Include a space between each values, e.g. `format: p h1 h2`.",
417
+ "id": "type._editables.*.format",
418
+ "description": "Enables a drop down menu for structured text. Has options for \"p\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\". Set as space separated options (e.g. \"p h1 h2\").",
538
419
  "default": "p h1 h2 h3 h4 h5 h6",
539
- "type": "string",
540
- "documented": true,
541
- "title": "format",
542
- "markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu tool in your WYSIWYG toolbar for structured text.\n\nSetting this key to `true` will enable a dropdown menu tool in your WYSIWYG toolbar for structured text. Valid values include for `p`, `h1`, `h2`, `h3`, `h4`, `h5`, `h6`, `pre`, `address`, and `div`. Include a space between each values, e.g. `format: p h1 h2`."
420
+ "type": "string"
543
421
  },
544
422
  "type._editables.*.horizontalrule": {
545
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a horizontal line.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a horizontal line.",
423
+ "id": "type._editables.*.horizontalrule",
424
+ "description": "Enables a control to insert a horizontal rule.",
546
425
  "default": false,
547
- "type": "boolean",
548
- "documented": true,
549
- "title": "horizontalrule",
550
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert a horizontal line.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert a horizontal line."
426
+ "type": "boolean"
551
427
  },
552
428
  "type._editables.*.image": {
553
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an image and enter alternative text and title text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert an image. Select an existing image, upload an image, or use an external link.",
429
+ "id": "type._editables.*.image",
430
+ "description": "Enables a control to insert an image. The image can be uploaded, existing or an external link.",
554
431
  "default": true,
555
- "type": "boolean",
556
- "documented": true,
557
- "title": "image",
558
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an image and enter alternative text and title text.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert an image. Select an existing image, upload an image, or use an external link."
432
+ "type": "boolean"
559
433
  },
560
434
  "type._editables.*.indent": {
561
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to increase the indentation of a list item in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to increase the indentation of a list item.",
435
+ "id": "type._editables.*.indent",
436
+ "description": "Enables a control to increase indentation for numbered and unordered lists.",
562
437
  "default": false,
563
- "type": "boolean",
564
- "documented": true,
565
- "title": "indent",
566
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to increase the indentation of a list item in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to increase the indentation of a list item."
438
+ "type": "boolean"
567
439
  },
568
440
  "type._editables.*.justify": {
569
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to justify selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to justify selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file.",
570
- "type": "string",
571
- "documented": true,
572
- "title": "justify",
573
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to justify selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to justify selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file."
441
+ "id": "type._editables.*.justify",
442
+ "description": "Enables a control to justify text by toggling a class name for a block of text. The value is the class name the editor should add to justify the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
443
+ "type": "string"
574
444
  },
575
445
  "type._editables.*.left": {
576
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to left align selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to left align selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file.",
577
- "type": "string",
578
- "documented": true,
579
- "title": "left",
580
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to left align selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to left align selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file."
446
+ "id": "type._editables.*.left",
447
+ "description": "Enables a control to left align text by toggling a class name for a block of text. The value is the class name the editor should add to align the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
448
+ "type": "string"
581
449
  },
582
450
  "type._editables.*.numberedlist": {
583
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an ordered list or convert selected text to an ordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert an ordered list or convert selected text to an ordered list.",
451
+ "id": "type._editables.*.numberedlist",
452
+ "description": "Enables a control to insert a numbered list, or to convert selected blocks of text into a numbered list.",
584
453
  "default": true,
585
- "type": "boolean",
586
- "documented": true,
587
- "title": "numberedlist",
588
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to insert an ordered list or convert selected text to an ordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to insert an ordered list or convert selected text to an ordered list."
454
+ "type": "boolean"
589
455
  },
590
456
  "type._editables.*.outdent": {
591
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to decrease the indentation of a list item in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to decrease the indentation of a list item.",
457
+ "id": "type._editables.*.outdent",
458
+ "description": "Enables a control to reduce indentation for numbered and unordered lists.",
592
459
  "default": false,
593
- "type": "boolean",
594
- "documented": true,
595
- "title": "outdent",
596
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to decrease the indentation of a list item in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to decrease the indentation of a list item."
460
+ "type": "boolean"
597
461
  },
598
462
  "type._editables.*.right": {
599
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to right align selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to right align selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file.",
600
- "type": "string",
601
- "documented": true,
602
- "title": "right",
603
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to right align selected text by toggling a class name for that text block.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to right align selected text. The value is the class name to align the text. The styles for this class must be defined in the `styles` file."
463
+ "id": "type._editables.*.right",
464
+ "description": "Enables a control to right align text by toggling a class name for a block of text. The value is the class name the editor should add to align the text. The styles for this class need to be listed in the `styles` file to take effect outside of the input.",
465
+ "type": "string"
604
466
  },
605
467
  "type._editables.*.snippet": {
606
- "description": "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.",
468
+ "id": "type._editables.*.snippet",
469
+ "description": "Enables a control to insert snippets, if any are available.",
607
470
  "default": true,
608
- "type": "boolean",
609
- "documented": true,
610
- "title": "snippet",
611
- "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."
471
+ "type": "boolean"
612
472
  },
613
473
  "type._editables.*.styles": {
614
- "description": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\nSetting this key to `true` will enable a dropdown menu in your WYSIWYG toolbar to apply a style to selected text. Styles are the combination of an element and class name. The value for this option is the path (either source or build output) for the CSS file containing styles.",
615
- "type": "string",
616
- "documented": true,
617
- "title": "styles",
618
- "markdownDescription": "This key toggles whether CloudCannon will display a dropdown menu in your WYSIWYG toolbar to apply a style to selected text.\n\nSetting this key to `true` will enable a dropdown menu in your WYSIWYG toolbar to apply a style to selected text. Styles are the combination of an element and class name. The value for this option is the path (either source or build output) for the CSS file containing styles."
474
+ "id": "type._editables.*.styles",
475
+ "description": "Enables a drop down menu for editors to style selected text or blocks or text. Styles are the combination of an element and class name. The value for this option is the path (either source or build output) to the CSS file containing the styles.",
476
+ "type": "string"
619
477
  },
620
478
  "type._editables.*.table": {
621
- "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.",
479
+ "id": "type._editables.*.table",
480
+ "description": "Enables a control to insert a table. Further options for table cells are available in the context menu for cells within the editor.",
622
481
  "default": false,
623
- "type": "boolean",
624
- "documented": true,
625
- "title": "table",
626
- "markdownDescription": "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."
482
+ "type": "boolean"
627
483
  },
628
484
  "type._editables.*.join_above": {
629
- "description": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to merge a list item with the item above it in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to merge a list item with the item above it.",
485
+ "id": "type._editables.*.join_above",
486
+ "description": "Enables a control to join the selected block with the block above it.",
630
487
  "default": false,
631
- "type": "boolean",
632
- "documented": true,
633
- "title": "join_above",
634
- "markdownDescription": "This key toggles whether CloudCannon will display a tool in your WYSIWYG toolbar to merge a list item with the item above it in an ordered or unordered list.\n\nSetting this key to `true` will enable a tool in your WYSIWYG toolbar to merge a list item with the item above it."
488
+ "type": "boolean"
635
489
  },
636
490
  "type._editables.*.join_below": {
637
- "description": "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.",
491
+ "id": "type._editables.*.join_below",
492
+ "description": "Enables a control to join the selected block with the block below it.",
638
493
  "default": false,
639
- "type": "boolean",
640
- "documented": true,
641
- "title": "join_below",
642
- "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."
494
+ "type": "boolean"
643
495
  },
644
496
  "BlockEditable": {
497
+ "id": "BlockEditable",
645
498
  "title": "Block Editable",
646
- "description": "This key defines input options for block Editable Regions.",
499
+ "description": "Contains input options for block Editable Regions.",
647
500
  "type": "object",
648
501
  "properties": {
649
502
  "mime_type": {
@@ -678,9 +531,7 @@
678
531
  {
679
532
  "$ref": "#/definitions/type.paths"
680
533
  }
681
- ],
682
- "documented": false,
683
- "title": "paths"
534
+ ]
684
535
  },
685
536
  "bold": {
686
537
  "$ref": "#/definitions/type._editables.*.bold"
@@ -785,13 +636,12 @@
785
636
  "$ref": "#/definitions/type._editables.*.join_below"
786
637
  }
787
638
  },
788
- "additionalProperties": false,
789
- "documented": true,
790
- "markdownDescription": "This key defines input options for block Editable Regions."
639
+ "additionalProperties": false
791
640
  },
792
641
  "LinkEditable": {
642
+ "id": "LinkEditable",
793
643
  "title": "Link Editable",
794
- "description": "This key defines input options for link Editable Regions.",
644
+ "description": "Contains input options for link Editable Regions.",
795
645
  "type": "object",
796
646
  "properties": {
797
647
  "paths": {
@@ -799,18 +649,15 @@
799
649
  {
800
650
  "$ref": "#/definitions/type.paths"
801
651
  }
802
- ],
803
- "documented": false,
804
- "title": "paths"
652
+ ]
805
653
  }
806
654
  },
807
- "additionalProperties": false,
808
- "documented": true,
809
- "markdownDescription": "This key defines input options for link Editable Regions."
655
+ "additionalProperties": false
810
656
  },
811
657
  "ImageEditable": {
658
+ "id": "ImageEditable",
812
659
  "title": "Image Editable",
813
- "description": "This key defines input options for image Editable Regions.",
660
+ "description": "Contains input options for image Editable Regions.",
814
661
  "type": "object",
815
662
  "properties": {
816
663
  "mime_type": {
@@ -845,18 +692,15 @@
845
692
  {
846
693
  "$ref": "#/definitions/type.paths"
847
694
  }
848
- ],
849
- "documented": false,
850
- "title": "paths"
695
+ ]
851
696
  }
852
697
  },
853
- "additionalProperties": false,
854
- "documented": true,
855
- "markdownDescription": "This key defines input options for image Editable Regions."
698
+ "additionalProperties": false
856
699
  },
857
700
  "TextEditable": {
701
+ "id": "TextEditable",
858
702
  "title": "Text Editable",
859
- "description": "This key defines input options for text Editable Regions.",
703
+ "description": "Contains input options for text Editable Regions.",
860
704
  "type": "object",
861
705
  "properties": {
862
706
  "paths": {
@@ -864,9 +708,7 @@
864
708
  {
865
709
  "$ref": "#/definitions/type.paths"
866
710
  }
867
- ],
868
- "documented": false,
869
- "title": "paths"
711
+ ]
870
712
  },
871
713
  "bold": {
872
714
  "$ref": "#/definitions/type._editables.*.bold"
@@ -908,11 +750,33 @@
908
750
  "$ref": "#/definitions/type._editables.*.allow_custom_markup"
909
751
  }
910
752
  },
911
- "additionalProperties": false,
912
- "documented": true,
913
- "markdownDescription": "This key defines input options for text Editable Regions."
753
+ "additionalProperties": false
754
+ },
755
+ "type._editables": {
756
+ "id": "type._editables",
757
+ "title": "Editables",
758
+ "description": "Configuration for editable regions in the Visual Editor, including content, block, link, image, and text editing options.",
759
+ "type": "object",
760
+ "properties": {
761
+ "content": {
762
+ "$ref": "#/definitions/ContentEditable"
763
+ },
764
+ "block": {
765
+ "$ref": "#/definitions/BlockEditable"
766
+ },
767
+ "link": {
768
+ "$ref": "#/definitions/LinkEditable"
769
+ },
770
+ "image": {
771
+ "$ref": "#/definitions/ImageEditable"
772
+ },
773
+ "text": {
774
+ "$ref": "#/definitions/TextEditable"
775
+ }
776
+ },
777
+ "additionalProperties": false
914
778
  }
915
779
  },
916
780
  "documented": false,
917
- "markdownDescription": "Configuration for editable regions in the Visual Editor, including content, block, link, image, and text editing options."
781
+ "title": ""
918
782
  }