forked from CloudCannon/astro-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cloudcannon.config.yml
394 lines (389 loc) · 8.25 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
paths:
data: data
static: 'public'
uploads: public/images
_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
collections_config:
pages:
path: src/content/pages
url: '/[full_slug]/'
output: true
icon: laptop_mac
_enabled_editors:
- visual
filter:
base: strict
add_options:
- name: Add New Page
schema: default
icon: pages
schemas:
default:
name: New Page
path: schemas/page.md
remove_extra_inputs: false
create:
path: '[relative_base_path]/{title|slugify}.md'
posts:
path: src/content/blog
parser: front-matter
output: true
url: '/blog/[full_slug]/'
_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
image_alt:
options:
empty_type: string
author:
options:
empty_type: string
tags:
type: array
options:
allow_create: true
empty_type: array
tags[*]:
type: text
options:
empty_type: string
data:
path: data
disable_add: true
disable_add_folder: true
_inputs:
colors[*]:
options:
preview:
icon: palette
value:
type: color
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.
collection_groups:
- heading: Pages
collections:
- pages
- heading: Blogging
collections:
- posts
- heading: Data
collections:
- data
_inputs:
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
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
data_config:
icons:
path: data/icons.json
colors:
path: data/colors.json
generator:
metadata:
markdown: markdown-it
markdown-it:
html: true
linkify: false
breaks: true
_snippets_imports:
mdx: true
_snippets:
alert:
template: mdx_component
inline: false
preview:
text:
- key: alert_message
- 'Alert'
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
video:
template: mdx_component
inline: false
preview:
text: Video
definitions:
component_name: SnippetsVideo
named_args:
- editor_key: src
source_key: src
type: string
_inputs:
src:
type: file
options:
paths:
uploads: public/videos
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
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
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