-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathcloudcannon.config.yml
545 lines (536 loc) · 11.9 KB
/
cloudcannon.config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
timezone: Pacific/Auckland
paths:
static: 'public'
uploads: public/images
collections_config:
pages:
path: src/content/pages
glob:
- '**/*.md'
url: '/[full_slug]/'
icon: laptop_mac
_enabled_editors:
- visual
add_options:
- name: Add New Page
schema: default
icon: pages
schemas:
default:
name: New Page
path: schemas/page.md
remove_extra_inputs: false
paginated:
name: Paginated collection
path: schemas/paginated.md
remove_extra_inputs: false
create:
path: '[relative_base_path]/{title|slugify}.md'
blog:
path: src/content/blog
glob:
- '**/*.mdx'
url: '/blog/[full_slug]/'
icon: newspaper
_enabled_editors:
- content
- visual
add_options:
- name: Add New Post
schema: default
icon: post_add
schemas:
default:
name: New Post
path: schemas/post.mdx
create:
path: '[relative_base_path]/{title|slugify}.mdx'
_inputs:
title:
options:
empty_type: string
image:
options:
empty_type: string
paths:
static: ''
uploads: src/assets/images
thumb_image_path:
options:
empty_type: string
paths:
static: ''
uploads: src/assets/images
image_alt:
options:
empty_type: string
author:
options:
empty_type: string
tags:
type: multiselect
comment: To add a new tag, go to the [tags data file](cloudcannon:collections/data/tags.json)
options:
values: data.tags
empty_type: array
data:
path: data
disable_add: true
disable_add_folder: true
_inputs:
icons:
comment: Add an icon from the list of [Font Awesome icons](https://fontawesome.com/search?o=r&m=free). Then add it to the ```src/components/utility/icon.jsx``` file, following the existing pattern.
data_config:
icons:
path: data/icons.json
colors:
path: data/colors.json
tags:
path: data/tags.json
file_config:
- glob: data/colors.json
_structures:
color:
values:
- value:
name:
value:
preview:
icon: palette
_inputs:
$:
type: array
label: Colors
comment: Set the colors available in the color selectors throughout the site.
options:
structures: _structures.color
value:
type: color
name:
type: text
comment: What is seen in the color selector dropdown.
- glob: data/tags.json
_inputs:
$:
type: array
label: Tags
comment: Set the tags available in posts.
$[*]:
options:
preview:
icon: tag
collection_groups:
- heading: Pages
collections:
- pages
- blog
- heading: Data
collections:
- data
_editables:
content:
blockquote: true
bold: true
format: p h2 h3 h4
italic: true
strike: true
subscript: true
superscript: true
underline: true
link: true
bulletedlist: true
indent: true
numberedlist: true
outdent: true
code: true
embed: true
horizontalrule: true
image: true
table: true
undo: true
redo: true
removeformat: true
copyformatting: true
styles: /css/editor.css
left: align-left
center: align-center
right: align-right
justify: align-justify
image_size_attributes: true
snippet: true
_inputs:
feature_list:
type: multiselect
options:
empty_type: array
values: collections.blog
value_key: title
main_feature:
type: select
options:
values: collections.blog
value_key: title
markdown_content:
type: markdown
options:
blockquote: true
bold: true
format: p h1 h2 h3 h4
italic: true
strike: true
subscript: true
superscript: true
underline: true
link: true
bulletedlist: true
numberedlist: true
table: true
code: true
embed: true
horizontalrule: true
image: true
undo: true
redo: true
removeformat: true
copyformatting: true
image_path:
type: image
comment: The path to the source file of the image to be optimized.
options:
paths:
static: ''
uploads: src/assets/images
alt_text:
label: Image Alt Text
type: textarea
hidden: '!image_path'
width:
type: number
height:
type: number
background_color:
hidden: 'border_only'
type: select
options:
values: data.colors
value_key: value
preview:
text:
- key: name
text_color:
type: select
options:
values: data.colors
value_key: value
preview:
text:
- key: name
color:
type: select
options:
values: data.colors
value_key: value
preview:
text:
- key: name
icon:
type: select
options:
values: data.icons
button_icon:
type: select
options:
values: data.icons
button_link:
type: url
hover_brightness:
type: range
options:
min: 0
max: 1.5
step: 0.05
seo:
options:
preview:
icon: query_stats
text:
- 'Search engine optimization'
subtext:
- key: page_description
- 'Update SEO values for the page'
layout:
hidden: true
date:
instance_value: now
page_size:
type: number
comment: The number of collection items to list per page
featured_posts:
options:
preview:
icon: newspaper
text: Featured Posts
social:
options:
preview:
icon: link
links[*]:
options:
preview:
icon: link
text:
- key: text
- 'Link'
subtext:
- key: link
- 'Add a social link'
social_icon:
type: select
options:
values: data.icons
social[*]:
options:
preview:
icon: query_stats
logo:
type: image
logo_url:
comment: Link for the logo in the top left of the footer
copyright:
comment: Automatically prefixed with the current year
page_description:
comment: Defaults to the description set in the Site SEO data file
canonical_url:
comment: Defaults to the pages url
featured_image:
comment: Defaults to the image set in the Site SEO data file
open_graph_type:
type: select
options:
values:
- website
- article
comment: Defaults to the type 'website'
author_twitter_handle:
comment: Defaults to the twitter site value set in the Site SEO data file
twitter_site:
type: url
no_index:
type: checkbox
comment:
When selected this removes the page from your sitemap and adds the noindex
robots meta tag
_snippets_imports:
mdx: true
_snippets:
alert:
template: mdx_component
inline: false
preview:
icon: announcement
text: Alert
subtext:
- key: alert_message
- Update alert content and styles
definitions:
component_name: SnippetsAlert
named_args:
- editor_key: background_color
source_key: background_color
type: string
- editor_key: alert_message
source_key: alert_message
type: string
- editor_key: color
source_key: color
type: string
- editor_key: icon
source_key: icon
type: string
_inputs:
background_color:
type: select
options:
values: data.colors
value_key: value
preview:
text:
- key: name
icon:
type: select
options:
values: data.icons
color:
type: select
options:
values: data.colors
value_key: value
preview:
text:
- key: name
alert_message:
comment: This is the text displayed in the alert
type: textarea
astro_image:
template: mdx_component
inline: false
preview:
icon: image
text: Astro Image
view: gallery
subtext:
- key: image_alt
- Update image path and alt text
image:
- key: image_path
gallery:
image:
- key: image_path
definitions:
component_name: SnippetsAstroImage
named_args:
- editor_key: image_path
source_key: image_path
type: string
- editor_key: image_alt
source_key: image_alt
type: string
_inputs:
image_alt:
type: textarea
image_path:
type: image
options:
empty_type: string
paths:
static: ''
uploads: src/assets/images
accordion:
template: mdx_component
inline: false
definitions:
component_name: SnippetsAccordion
named_args:
- editor_key: heading
source_key: heading
type: string
- editor_key: text
source_key: text
type: string
preview:
icon: expand_more
text: Accordion
subtext:
- key: text
- Update accordion content.
_inputs:
heading:
type: textarea
text:
type: textarea
video:
template: mdx_component
inline: false
definitions:
component_name: SnippetsVideo
named_args:
- editor_key: src
source_key: src
type: string
preview:
text: Video
subtext: A self hosted video from our static files
icon: duo
_inputs:
src:
comment: Link to a video hosted in our own files.
type: file
options:
paths:
uploads: public/videos
youtube:
template: mdx_component
inline: false
definitions:
component_name: SnippetsYoutube
named_args:
- editor_key: video_source
source_key: video_source
type: string
- editor_key: width
source_key: width
type: number
- editor_key: height
source_key: height
type: number
- editor_key: title
source_key: title
type: string
preview:
icon: duo
text:
- key: title
- Youtube Video
subtext:
- key: video_source
- Update Youtube video details
_inputs:
video_source:
type: url
comment: Get an embed link from a Youtube video and paste it here.
width:
type: number
comment: The width of the video, measured in px.
height:
type: number
comment: The height of the video, measured in px.
title:
type: textarea
file:
template: mdx_component
inline: false
preview:
text: File
definitions:
component_name: SnippetsFile
named_args:
- editor_key: src
source_key: src
type: string
- editor_key: file_name
source_key: file_name
type: string
- editor_key: link_message
source_key: link_message
type: string
_inputs:
src:
type: file
label: File source
options:
paths:
uploads: public/documents
static: 'public'
file_name:
comment: The name of the file, once downloaded.
link_message:
type: textarea
comment: The text for the download link
mdx_tint:
template: mdx_paired_component
inline: true
preview:
text: Tint
icon: pallet
definitions:
component_name: SnippetsTint
content_key: inner_text
named_args:
- editor_key: color
source_key: tint_color
type: string
_inputs:
tint_color:
type: color
inner_text:
comment: This text will be tinted