@contentrain/astro-kit 0.31.0 → 0.32.0
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/catalog.json +2531 -345
- package/components/_shared/measured.ts +10 -0
- package/components/contact-form/ContactForm.astro +48 -12
- package/components/contact-form/fixtures.json +169 -9
- package/components/contact-form/meta.json +283 -15
- package/components/cta/Cta.astro +52 -12
- package/components/cta/fixtures.json +5 -1
- package/components/cta/meta.json +11 -2
- package/components/faq/Faq.astro +60 -17
- package/components/faq/fixtures.json +75 -0
- package/components/faq/meta.json +7 -1
- package/components/feature-list/FeatureList.astro +28 -4
- package/components/feature-list/meta.json +15 -3
- package/components/gallery/Gallery.astro +47 -13
- package/components/gallery/fixtures.json +275 -0
- package/components/gallery/meta.json +266 -14
- package/components/logo-cloud/LogoCloud.astro +85 -21
- package/components/logo-cloud/fixtures.json +239 -0
- package/components/logo-cloud/meta.json +144 -5
- package/components/post-card/PostCard.astro +4 -2
- package/components/post-card/meta.json +2 -1
- package/components/post-list/PostList.astro +114 -0
- package/components/post-list/fixtures.json +387 -0
- package/components/post-list/meta.json +308 -0
- package/components/pricing/Pricing.astro +128 -24
- package/components/pricing/fixtures.json +288 -4
- package/components/pricing/meta.json +187 -1
- package/components/split/Split.astro +76 -14
- package/components/split/fixtures.json +8 -1
- package/components/split/meta.json +225 -4
- package/components/stats/Stats.astro +42 -10
- package/components/stats/fixtures.json +173 -0
- package/components/stats/meta.json +150 -4
- package/components/steps/Steps.astro +36 -8
- package/components/steps/fixtures.json +217 -5
- package/components/steps/meta.json +156 -3
- package/components/team/Team.astro +52 -8
- package/components/team/fixtures.json +217 -4
- package/components/team/meta.json +167 -3
- package/components/team/team.ts +9 -0
- package/components/testimonial/Testimonial.astro +71 -21
- package/components/testimonial/fixtures.json +73 -0
- package/components/testimonial/meta.json +166 -3
- package/mapping/classic.json +7 -1
- package/mapping/divi.json +21 -4
- package/mapping/elementor.json +33 -8
- package/mapping/gutenberg.json +20 -4
- package/package.json +1 -1
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"name": "grid-3",
|
|
4
|
+
"props": {
|
|
5
|
+
"id": "posts",
|
|
6
|
+
"heading": "Latest posts",
|
|
7
|
+
"posts": [
|
|
8
|
+
{
|
|
9
|
+
"title": "What a careful migration keeps",
|
|
10
|
+
"href": "/blog/post-1/",
|
|
11
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
12
|
+
"date": "2026-09-21T09:00:00Z",
|
|
13
|
+
"category": {
|
|
14
|
+
"label": "Guides",
|
|
15
|
+
"href": "/category/guides/"
|
|
16
|
+
},
|
|
17
|
+
"author": "Mira Kovač",
|
|
18
|
+
"image": {
|
|
19
|
+
"src": "/kit-fixtures/photo-1.svg",
|
|
20
|
+
"alt": "Photo 1",
|
|
21
|
+
"width": 1200,
|
|
22
|
+
"height": 800
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"title": "Designing for a hundred pages",
|
|
27
|
+
"href": "/blog/post-2/",
|
|
28
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
29
|
+
"date": "2026-09-22T09:00:00Z",
|
|
30
|
+
"category": {
|
|
31
|
+
"label": "Guides",
|
|
32
|
+
"href": "/category/guides/"
|
|
33
|
+
},
|
|
34
|
+
"author": "Mira Kovač",
|
|
35
|
+
"image": {
|
|
36
|
+
"src": "/kit-fixtures/photo-2.svg",
|
|
37
|
+
"alt": "Photo 2",
|
|
38
|
+
"width": 1200,
|
|
39
|
+
"height": 800
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"title": "Redirects, one by one",
|
|
44
|
+
"href": "/blog/post-3/",
|
|
45
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
46
|
+
"date": "2026-09-23T09:00:00Z",
|
|
47
|
+
"category": {
|
|
48
|
+
"label": "Guides",
|
|
49
|
+
"href": "/category/guides/"
|
|
50
|
+
},
|
|
51
|
+
"author": "Mira Kovač",
|
|
52
|
+
"image": {
|
|
53
|
+
"src": "/kit-fixtures/photo-3.svg",
|
|
54
|
+
"alt": "Photo 3",
|
|
55
|
+
"width": 1200,
|
|
56
|
+
"height": 800
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "list",
|
|
64
|
+
"props": {
|
|
65
|
+
"layout": "list",
|
|
66
|
+
"posts": [
|
|
67
|
+
{
|
|
68
|
+
"title": "What a careful migration keeps",
|
|
69
|
+
"href": "/blog/post-1/",
|
|
70
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
71
|
+
"date": "2026-09-21T09:00:00Z",
|
|
72
|
+
"category": {
|
|
73
|
+
"label": "Guides",
|
|
74
|
+
"href": "/category/guides/"
|
|
75
|
+
},
|
|
76
|
+
"author": "Mira Kovač",
|
|
77
|
+
"image": {
|
|
78
|
+
"src": "/kit-fixtures/photo-1.svg",
|
|
79
|
+
"alt": "Photo 1",
|
|
80
|
+
"width": 1200,
|
|
81
|
+
"height": 800
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"title": "Designing for a hundred pages",
|
|
86
|
+
"href": "/blog/post-2/",
|
|
87
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
88
|
+
"date": "2026-09-22T09:00:00Z",
|
|
89
|
+
"category": {
|
|
90
|
+
"label": "Guides",
|
|
91
|
+
"href": "/category/guides/"
|
|
92
|
+
},
|
|
93
|
+
"author": "Mira Kovač",
|
|
94
|
+
"image": {
|
|
95
|
+
"src": "/kit-fixtures/photo-2.svg",
|
|
96
|
+
"alt": "Photo 2",
|
|
97
|
+
"width": 1200,
|
|
98
|
+
"height": 800
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"title": "Redirects, one by one",
|
|
103
|
+
"href": "/blog/post-3/",
|
|
104
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
105
|
+
"date": "2026-09-23T09:00:00Z",
|
|
106
|
+
"category": {
|
|
107
|
+
"label": "Guides",
|
|
108
|
+
"href": "/category/guides/"
|
|
109
|
+
},
|
|
110
|
+
"author": "Mira Kovač",
|
|
111
|
+
"image": {
|
|
112
|
+
"src": "/kit-fixtures/photo-3.svg",
|
|
113
|
+
"alt": "Photo 3",
|
|
114
|
+
"width": 1200,
|
|
115
|
+
"height": 800
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"excerptLines": 2
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "featured-4",
|
|
124
|
+
"props": {
|
|
125
|
+
"layout": "featured",
|
|
126
|
+
"columns": "4",
|
|
127
|
+
"heading": "Journal",
|
|
128
|
+
"intro": "Notes from the studio.",
|
|
129
|
+
"posts": [
|
|
130
|
+
{
|
|
131
|
+
"title": "What a careful migration keeps",
|
|
132
|
+
"href": "/blog/post-1/",
|
|
133
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
134
|
+
"date": "2026-09-21T09:00:00Z",
|
|
135
|
+
"category": {
|
|
136
|
+
"label": "Guides",
|
|
137
|
+
"href": "/category/guides/"
|
|
138
|
+
},
|
|
139
|
+
"author": "Mira Kovač",
|
|
140
|
+
"image": {
|
|
141
|
+
"src": "/kit-fixtures/photo-1.svg",
|
|
142
|
+
"alt": "Photo 1",
|
|
143
|
+
"width": 1200,
|
|
144
|
+
"height": 800
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"title": "Designing for a hundred pages",
|
|
149
|
+
"href": "/blog/post-2/",
|
|
150
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
151
|
+
"date": "2026-09-22T09:00:00Z",
|
|
152
|
+
"category": {
|
|
153
|
+
"label": "Guides",
|
|
154
|
+
"href": "/category/guides/"
|
|
155
|
+
},
|
|
156
|
+
"author": "Mira Kovač",
|
|
157
|
+
"image": {
|
|
158
|
+
"src": "/kit-fixtures/photo-2.svg",
|
|
159
|
+
"alt": "Photo 2",
|
|
160
|
+
"width": 1200,
|
|
161
|
+
"height": 800
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"title": "Redirects, one by one",
|
|
166
|
+
"href": "/blog/post-3/",
|
|
167
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
168
|
+
"date": "2026-09-23T09:00:00Z",
|
|
169
|
+
"category": {
|
|
170
|
+
"label": "Guides",
|
|
171
|
+
"href": "/category/guides/"
|
|
172
|
+
},
|
|
173
|
+
"author": "Mira Kovač",
|
|
174
|
+
"image": {
|
|
175
|
+
"src": "/kit-fixtures/photo-3.svg",
|
|
176
|
+
"alt": "Photo 3",
|
|
177
|
+
"width": 1200,
|
|
178
|
+
"height": 800
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"title": "A very long title that keeps going well past one line to prove the card wraps it without clipping",
|
|
183
|
+
"href": "/blog/post-4/",
|
|
184
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
185
|
+
"date": "2026-09-24T09:00:00Z",
|
|
186
|
+
"category": {
|
|
187
|
+
"label": "Guides",
|
|
188
|
+
"href": "/category/guides/"
|
|
189
|
+
},
|
|
190
|
+
"author": "Mira Kovač",
|
|
191
|
+
"image": {
|
|
192
|
+
"src": "/kit-fixtures/photo-4.svg",
|
|
193
|
+
"alt": "Photo 4",
|
|
194
|
+
"width": 1200,
|
|
195
|
+
"height": 800
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"name": "compact",
|
|
203
|
+
"props": {
|
|
204
|
+
"layout": "compact",
|
|
205
|
+
"heading": "Recent",
|
|
206
|
+
"posts": [
|
|
207
|
+
{
|
|
208
|
+
"title": "What a careful migration keeps",
|
|
209
|
+
"href": "/blog/post-1/",
|
|
210
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
211
|
+
"date": "2026-09-21T09:00:00Z",
|
|
212
|
+
"category": {
|
|
213
|
+
"label": "Guides",
|
|
214
|
+
"href": "/category/guides/"
|
|
215
|
+
},
|
|
216
|
+
"author": "Mira Kovač",
|
|
217
|
+
"image": {
|
|
218
|
+
"src": "/kit-fixtures/photo-1.svg",
|
|
219
|
+
"alt": "Photo 1",
|
|
220
|
+
"width": 1200,
|
|
221
|
+
"height": 800
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"title": "Designing for a hundred pages",
|
|
226
|
+
"href": "/blog/post-2/",
|
|
227
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
228
|
+
"date": "2026-09-22T09:00:00Z",
|
|
229
|
+
"category": {
|
|
230
|
+
"label": "Guides",
|
|
231
|
+
"href": "/category/guides/"
|
|
232
|
+
},
|
|
233
|
+
"author": "Mira Kovač",
|
|
234
|
+
"image": {
|
|
235
|
+
"src": "/kit-fixtures/photo-2.svg",
|
|
236
|
+
"alt": "Photo 2",
|
|
237
|
+
"width": 1200,
|
|
238
|
+
"height": 800
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"title": "Redirects, one by one",
|
|
243
|
+
"href": "/blog/post-3/",
|
|
244
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
245
|
+
"date": "2026-09-23T09:00:00Z",
|
|
246
|
+
"category": {
|
|
247
|
+
"label": "Guides",
|
|
248
|
+
"href": "/category/guides/"
|
|
249
|
+
},
|
|
250
|
+
"author": "Mira Kovač",
|
|
251
|
+
"image": {
|
|
252
|
+
"src": "/kit-fixtures/photo-3.svg",
|
|
253
|
+
"alt": "Photo 3",
|
|
254
|
+
"width": 1200,
|
|
255
|
+
"height": 800
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"title": "A very long title that keeps going well past one line to prove the card wraps it without clipping",
|
|
260
|
+
"href": "/blog/post-4/",
|
|
261
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
262
|
+
"date": "2026-09-24T09:00:00Z",
|
|
263
|
+
"category": {
|
|
264
|
+
"label": "Guides",
|
|
265
|
+
"href": "/category/guides/"
|
|
266
|
+
},
|
|
267
|
+
"author": "Mira Kovač",
|
|
268
|
+
"image": {
|
|
269
|
+
"src": "/kit-fixtures/photo-4.svg",
|
|
270
|
+
"alt": "Photo 4",
|
|
271
|
+
"width": 1200,
|
|
272
|
+
"height": 800
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"moreHref": "/blog/",
|
|
277
|
+
"moreLabel": "All posts"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "grid-2-no-parts",
|
|
282
|
+
"props": {
|
|
283
|
+
"columns": "2",
|
|
284
|
+
"showImage": false,
|
|
285
|
+
"showAuthor": false,
|
|
286
|
+
"showCategory": false,
|
|
287
|
+
"posts": [
|
|
288
|
+
{
|
|
289
|
+
"title": "What a careful migration keeps",
|
|
290
|
+
"href": "/blog/post-1/",
|
|
291
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
292
|
+
"date": "2026-09-21T09:00:00Z",
|
|
293
|
+
"category": {
|
|
294
|
+
"label": "Guides",
|
|
295
|
+
"href": "/category/guides/"
|
|
296
|
+
},
|
|
297
|
+
"author": "Mira Kovač",
|
|
298
|
+
"image": {
|
|
299
|
+
"src": "/kit-fixtures/photo-1.svg",
|
|
300
|
+
"alt": "Photo 1",
|
|
301
|
+
"width": 1200,
|
|
302
|
+
"height": 800
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
"title": "Designing for a hundred pages",
|
|
307
|
+
"href": "/blog/post-2/",
|
|
308
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
309
|
+
"date": "2026-09-22T09:00:00Z",
|
|
310
|
+
"category": {
|
|
311
|
+
"label": "Guides",
|
|
312
|
+
"href": "/category/guides/"
|
|
313
|
+
},
|
|
314
|
+
"author": "Mira Kovač",
|
|
315
|
+
"image": {
|
|
316
|
+
"src": "/kit-fixtures/photo-2.svg",
|
|
317
|
+
"alt": "Photo 2",
|
|
318
|
+
"width": 1200,
|
|
319
|
+
"height": 800
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "missing-image-excerpt",
|
|
327
|
+
"props": {
|
|
328
|
+
"surface": "card",
|
|
329
|
+
"posts": [
|
|
330
|
+
{
|
|
331
|
+
"title": "What a careful migration keeps",
|
|
332
|
+
"href": "/blog/post-1/",
|
|
333
|
+
"date": "2026-09-21T09:00:00Z",
|
|
334
|
+
"category": {
|
|
335
|
+
"label": "Guides",
|
|
336
|
+
"href": "/category/guides/"
|
|
337
|
+
},
|
|
338
|
+
"author": "Mira Kovač"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"title": "Designing for a hundred pages",
|
|
342
|
+
"href": "/blog/post-2/",
|
|
343
|
+
"date": "2026-09-22T09:00:00Z",
|
|
344
|
+
"category": {
|
|
345
|
+
"label": "Guides",
|
|
346
|
+
"href": "/category/guides/"
|
|
347
|
+
},
|
|
348
|
+
"author": "Mira Kovač"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"title": "Redirects, one by one",
|
|
352
|
+
"href": "/blog/post-3/",
|
|
353
|
+
"date": "2026-09-23T09:00:00Z",
|
|
354
|
+
"category": {
|
|
355
|
+
"label": "Guides",
|
|
356
|
+
"href": "/category/guides/"
|
|
357
|
+
},
|
|
358
|
+
"author": "Mira Kovač"
|
|
359
|
+
}
|
|
360
|
+
]
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "single-post",
|
|
365
|
+
"props": {
|
|
366
|
+
"posts": [
|
|
367
|
+
{
|
|
368
|
+
"title": "What a careful migration keeps",
|
|
369
|
+
"href": "/blog/post-1/",
|
|
370
|
+
"excerpt": "What a careful migration keeps: addresses, formatting and rankings, block by block.",
|
|
371
|
+
"date": "2026-09-21T09:00:00Z",
|
|
372
|
+
"category": {
|
|
373
|
+
"label": "Guides",
|
|
374
|
+
"href": "/category/guides/"
|
|
375
|
+
},
|
|
376
|
+
"author": "Mira Kovač",
|
|
377
|
+
"image": {
|
|
378
|
+
"src": "/kit-fixtures/photo-1.svg",
|
|
379
|
+
"alt": "Photo 1",
|
|
380
|
+
"width": 1200,
|
|
381
|
+
"height": 800
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
]
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "post-list",
|
|
3
|
+
"name": "Post list",
|
|
4
|
+
"description": "A list of posts as cards: a grid, stacked rows, a featured first post over a grid, or a compact title-and-date list. The posts come from the site's own collection; the switches decide which parts of a card show.",
|
|
5
|
+
"category": "section",
|
|
6
|
+
"uses": [
|
|
7
|
+
"post-card"
|
|
8
|
+
],
|
|
9
|
+
"shared": [
|
|
10
|
+
"Section.astro",
|
|
11
|
+
"measured.ts",
|
|
12
|
+
"types.ts"
|
|
13
|
+
],
|
|
14
|
+
"variants": {
|
|
15
|
+
"layout": {
|
|
16
|
+
"options": [
|
|
17
|
+
"grid",
|
|
18
|
+
"list",
|
|
19
|
+
"featured",
|
|
20
|
+
"compact"
|
|
21
|
+
],
|
|
22
|
+
"default": "grid",
|
|
23
|
+
"description": "grid: cards in columns. list: stacked horizontal cards. featured: the first post large over a grid. compact: title and date only."
|
|
24
|
+
},
|
|
25
|
+
"columns": {
|
|
26
|
+
"options": [
|
|
27
|
+
"2",
|
|
28
|
+
"3",
|
|
29
|
+
"4"
|
|
30
|
+
],
|
|
31
|
+
"default": "3",
|
|
32
|
+
"description": "Cards per row on wide screens (grid and featured)."
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"props": {
|
|
36
|
+
"heading": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"label": "Heading",
|
|
39
|
+
"description": "Section heading above the posts."
|
|
40
|
+
},
|
|
41
|
+
"intro": {
|
|
42
|
+
"type": "text",
|
|
43
|
+
"label": "Intro",
|
|
44
|
+
"description": "A line or two under the heading."
|
|
45
|
+
},
|
|
46
|
+
"posts": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"label": "Posts",
|
|
49
|
+
"required": true,
|
|
50
|
+
"content": false,
|
|
51
|
+
"description": "The posts to show, newest first: from the posts collection (the query SDK), never copied from a page.",
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"fields": {
|
|
55
|
+
"title": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"required": true
|
|
58
|
+
},
|
|
59
|
+
"href": {
|
|
60
|
+
"type": "url",
|
|
61
|
+
"required": true
|
|
62
|
+
},
|
|
63
|
+
"excerpt": {
|
|
64
|
+
"type": "text"
|
|
65
|
+
},
|
|
66
|
+
"date": {
|
|
67
|
+
"type": "datetime"
|
|
68
|
+
},
|
|
69
|
+
"image": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"fields": {
|
|
72
|
+
"src": {
|
|
73
|
+
"type": "image",
|
|
74
|
+
"required": true
|
|
75
|
+
},
|
|
76
|
+
"alt": {
|
|
77
|
+
"type": "string",
|
|
78
|
+
"required": true
|
|
79
|
+
},
|
|
80
|
+
"width": {
|
|
81
|
+
"type": "integer"
|
|
82
|
+
},
|
|
83
|
+
"height": {
|
|
84
|
+
"type": "integer"
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"category": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"fields": {
|
|
91
|
+
"label": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"required": true
|
|
94
|
+
},
|
|
95
|
+
"href": {
|
|
96
|
+
"type": "url",
|
|
97
|
+
"required": true
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"author": {
|
|
102
|
+
"type": "string"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"showImage": {
|
|
108
|
+
"type": "boolean",
|
|
109
|
+
"default": true,
|
|
110
|
+
"content": false,
|
|
111
|
+
"description": "Show each post's cover."
|
|
112
|
+
},
|
|
113
|
+
"showExcerpt": {
|
|
114
|
+
"type": "boolean",
|
|
115
|
+
"default": true,
|
|
116
|
+
"content": false,
|
|
117
|
+
"description": "Show each post's excerpt."
|
|
118
|
+
},
|
|
119
|
+
"showAuthor": {
|
|
120
|
+
"type": "boolean",
|
|
121
|
+
"default": true,
|
|
122
|
+
"content": false,
|
|
123
|
+
"description": "Show each post's author."
|
|
124
|
+
},
|
|
125
|
+
"showCategory": {
|
|
126
|
+
"type": "boolean",
|
|
127
|
+
"default": true,
|
|
128
|
+
"content": false,
|
|
129
|
+
"description": "Show each post's category."
|
|
130
|
+
},
|
|
131
|
+
"excerptLines": {
|
|
132
|
+
"type": "integer",
|
|
133
|
+
"min": 2,
|
|
134
|
+
"max": 4,
|
|
135
|
+
"content": false,
|
|
136
|
+
"description": "Clamp each excerpt to this many lines."
|
|
137
|
+
},
|
|
138
|
+
"locale": {
|
|
139
|
+
"type": "string",
|
|
140
|
+
"content": false,
|
|
141
|
+
"description": "BCP 47 locale the dates are written in (site.language)."
|
|
142
|
+
},
|
|
143
|
+
"surface": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"content": false,
|
|
146
|
+
"description": "plain or card: whether each post is a card of its own (post-card surface)."
|
|
147
|
+
},
|
|
148
|
+
"moreHref": {
|
|
149
|
+
"type": "url",
|
|
150
|
+
"content": false,
|
|
151
|
+
"description": "Where the full archive lives; with moreLabel a link follows the list."
|
|
152
|
+
},
|
|
153
|
+
"moreLabel": {
|
|
154
|
+
"type": "string",
|
|
155
|
+
"content": false,
|
|
156
|
+
"description": "Text of the archive link."
|
|
157
|
+
},
|
|
158
|
+
"tone": {
|
|
159
|
+
"type": "string",
|
|
160
|
+
"content": false,
|
|
161
|
+
"description": "Section background: default, muted, inverse or accent."
|
|
162
|
+
},
|
|
163
|
+
"id": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"content": false,
|
|
166
|
+
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
167
|
+
},
|
|
168
|
+
"measured": {
|
|
169
|
+
"type": "object",
|
|
170
|
+
"content": false,
|
|
171
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
172
|
+
"fields": {
|
|
173
|
+
"containerPx": {
|
|
174
|
+
"type": "integer",
|
|
175
|
+
"min": 0,
|
|
176
|
+
"max": 2560,
|
|
177
|
+
"description": "The frame's content width."
|
|
178
|
+
},
|
|
179
|
+
"padY": {
|
|
180
|
+
"type": "integer",
|
|
181
|
+
"min": 0,
|
|
182
|
+
"max": 400,
|
|
183
|
+
"description": "Top and bottom padding."
|
|
184
|
+
},
|
|
185
|
+
"padX": {
|
|
186
|
+
"type": "integer",
|
|
187
|
+
"min": 0,
|
|
188
|
+
"max": 200,
|
|
189
|
+
"description": "The frame's side padding (gutter)."
|
|
190
|
+
},
|
|
191
|
+
"bg": {
|
|
192
|
+
"type": "object",
|
|
193
|
+
"description": "The section's background.",
|
|
194
|
+
"fields": {
|
|
195
|
+
"color": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
198
|
+
},
|
|
199
|
+
"image": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
202
|
+
},
|
|
203
|
+
"overlay": {
|
|
204
|
+
"type": "string",
|
|
205
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
206
|
+
},
|
|
207
|
+
"size": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
210
|
+
},
|
|
211
|
+
"position": {
|
|
212
|
+
"type": "string",
|
|
213
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
"columns": {
|
|
218
|
+
"type": "object",
|
|
219
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
220
|
+
"fields": {
|
|
221
|
+
"390": {
|
|
222
|
+
"type": "integer",
|
|
223
|
+
"min": 1,
|
|
224
|
+
"max": 6,
|
|
225
|
+
"description": "Phone."
|
|
226
|
+
},
|
|
227
|
+
"768": {
|
|
228
|
+
"type": "integer",
|
|
229
|
+
"min": 1,
|
|
230
|
+
"max": 6,
|
|
231
|
+
"description": "Tablet."
|
|
232
|
+
},
|
|
233
|
+
"1280": {
|
|
234
|
+
"type": "integer",
|
|
235
|
+
"min": 1,
|
|
236
|
+
"max": 6,
|
|
237
|
+
"description": "Desktop."
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
"gap": {
|
|
242
|
+
"type": "integer",
|
|
243
|
+
"min": 0,
|
|
244
|
+
"max": 200,
|
|
245
|
+
"description": "Gap between items."
|
|
246
|
+
},
|
|
247
|
+
"tone": {
|
|
248
|
+
"type": "select",
|
|
249
|
+
"options": [
|
|
250
|
+
"light",
|
|
251
|
+
"dark"
|
|
252
|
+
],
|
|
253
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
254
|
+
},
|
|
255
|
+
"align": {
|
|
256
|
+
"type": "select",
|
|
257
|
+
"options": [
|
|
258
|
+
"start",
|
|
259
|
+
"center",
|
|
260
|
+
"end"
|
|
261
|
+
],
|
|
262
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
263
|
+
},
|
|
264
|
+
"radius": {
|
|
265
|
+
"type": "integer",
|
|
266
|
+
"min": 0,
|
|
267
|
+
"max": 200,
|
|
268
|
+
"description": "Card and item corner radius."
|
|
269
|
+
},
|
|
270
|
+
"minHeight": {
|
|
271
|
+
"type": "integer",
|
|
272
|
+
"min": 0,
|
|
273
|
+
"max": 2000,
|
|
274
|
+
"description": "The section's minimum height."
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"slots": {},
|
|
280
|
+
"js": "none",
|
|
281
|
+
"dependencies": {},
|
|
282
|
+
"sources": {
|
|
283
|
+
"gutenberg": [
|
|
284
|
+
"core/query",
|
|
285
|
+
"core/latest-posts"
|
|
286
|
+
],
|
|
287
|
+
"elementor": [
|
|
288
|
+
"elementor/posts",
|
|
289
|
+
"elementor/archive-posts"
|
|
290
|
+
],
|
|
291
|
+
"divi": [
|
|
292
|
+
"divi/et_pb_blog"
|
|
293
|
+
],
|
|
294
|
+
"classic": [
|
|
295
|
+
"classic/archive-item"
|
|
296
|
+
]
|
|
297
|
+
},
|
|
298
|
+
"a11y": "A <ul> of cards, each an <article> with one link (the title, stretched over the card) and a <time datetime>. Cards sit one heading level under the section heading, or at h2 when there is none. Images are decorative next to their title; the featured card keeps reading order.",
|
|
299
|
+
"pattern": {
|
|
300
|
+
"summary": "a repeated post card: image + title + excerpt + date, as a grid, rows or a featured first post",
|
|
301
|
+
"signals": [
|
|
302
|
+
"2-4 columns",
|
|
303
|
+
"date text",
|
|
304
|
+
"one link per card",
|
|
305
|
+
"repeated card structure"
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
}
|