@omniharmonic/openspace-cli 0.1.2 → 0.1.4

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.
Files changed (143) hide show
  1. package/README.md +11 -1
  2. package/dist/{agents-md-2DTXWUZQ.js → agents-md-3W4PIY4N.js} +2 -2
  3. package/dist/bin.js +2 -2
  4. package/dist/chunk-6NIIOHOX.js +39190 -0
  5. package/dist/chunk-6NIIOHOX.js.map +1 -0
  6. package/dist/{chunk-3F6TAUAT.js → chunk-7I6IJI6Z.js} +9184 -874
  7. package/dist/chunk-7I6IJI6Z.js.map +1 -0
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.js +2 -2
  10. package/dist/starter/site/AGENTS.md +11 -4
  11. package/dist/templates/beacon/content/collections/events/_collection.json +13 -0
  12. package/dist/templates/beacon/content/collections/events/keeper-training-november.mdoc +14 -0
  13. package/dist/templates/beacon/content/collections/events/planting-day-harbour-ward.mdoc +14 -0
  14. package/dist/templates/beacon/content/collections/events/planting-day-linden-north.mdoc +14 -0
  15. package/dist/templates/beacon/content/collections/news/2026-09-12-heat-map-2026.mdoc +13 -0
  16. package/dist/templates/beacon/content/collections/news/2026-09-30-school-gardens-harvest.mdoc +13 -0
  17. package/dist/templates/beacon/content/collections/news/2026-10-14-planting-season-begins.mdoc +13 -0
  18. package/dist/templates/beacon/content/collections/news/_collection.json +16 -0
  19. package/dist/templates/beacon/content/pages/about.json +572 -0
  20. package/dist/templates/beacon/content/pages/contact.json +260 -0
  21. package/dist/templates/beacon/content/pages/donate.json +406 -0
  22. package/dist/templates/beacon/content/pages/get-involved.json +412 -0
  23. package/dist/templates/beacon/content/pages/home.json +701 -0
  24. package/dist/templates/beacon/content/pages/our-work.json +855 -0
  25. package/dist/templates/beacon/content/site.json +363 -0
  26. package/dist/templates/beacon/content/styles.json +17 -0
  27. package/dist/templates/beacon/media/LICENSES.json +163 -0
  28. package/dist/templates/beacon/openspace.json +21 -0
  29. package/dist/templates/beacon/template.json +113 -0
  30. package/dist/templates/commons/content/pages/{members.json → directory.json} +15 -15
  31. package/dist/templates/commons/content/pages/home.json +1 -1
  32. package/dist/templates/commons/content/site.json +2 -2
  33. package/dist/templates/commons/template.json +2 -2
  34. package/dist/templates/darkroom/content/collections/work/_collection.json +13 -0
  35. package/dist/templates/darkroom/content/collections/work/after-hours.mdoc +28 -0
  36. package/dist/templates/darkroom/content/collections/work/dry-season.mdoc +28 -0
  37. package/dist/templates/darkroom/content/collections/work/faces-of-the-guild.mdoc +28 -0
  38. package/dist/templates/darkroom/content/collections/work/two-weddings.mdoc +28 -0
  39. package/dist/templates/darkroom/content/collections/work/white-lines.mdoc +28 -0
  40. package/dist/templates/darkroom/content/pages/about.json +449 -0
  41. package/dist/templates/darkroom/content/pages/contact.json +185 -0
  42. package/dist/templates/darkroom/content/pages/home.json +636 -0
  43. package/dist/templates/darkroom/content/pages/services.json +636 -0
  44. package/dist/templates/darkroom/content/site.json +264 -0
  45. package/dist/templates/darkroom/content/styles.json +17 -0
  46. package/dist/templates/darkroom/media/LICENSES.json +284 -0
  47. package/dist/templates/darkroom/openspace.json +21 -0
  48. package/dist/templates/darkroom/template.json +103 -0
  49. package/dist/templates/encore/content/pages/home.json +86 -0
  50. package/dist/templates/encore/media/LICENSES.json +22 -0
  51. package/dist/templates/field-notes/content/pages/home.json +94 -0
  52. package/dist/templates/fixwell/content/pages/about.json +508 -0
  53. package/dist/templates/fixwell/content/pages/contact.json +321 -0
  54. package/dist/templates/fixwell/content/pages/home.json +888 -0
  55. package/dist/templates/fixwell/content/pages/pricing.json +467 -0
  56. package/dist/templates/fixwell/content/pages/services.json +648 -0
  57. package/dist/templates/fixwell/content/site.json +293 -0
  58. package/dist/templates/fixwell/content/styles.json +17 -0
  59. package/dist/templates/fixwell/media/LICENSES.json +119 -0
  60. package/dist/templates/fixwell/openspace.json +21 -0
  61. package/dist/templates/fixwell/template.json +108 -0
  62. package/dist/templates/folio/content/collections/projects/_collection.json +13 -0
  63. package/dist/templates/folio/content/collections/projects/field-notes-app.mdoc +28 -0
  64. package/dist/templates/folio/content/collections/projects/harbour-health-dashboards.mdoc +28 -0
  65. package/dist/templates/folio/content/collections/projects/open-budget.mdoc +28 -0
  66. package/dist/templates/folio/content/collections/projects/transit-times.mdoc +28 -0
  67. package/dist/templates/folio/content/collections/writing/2026-08-30-designing-for-night-shifts.mdoc +9 -0
  68. package/dist/templates/folio/content/collections/writing/2026-09-20-testing-with-real-data.mdoc +9 -0
  69. package/dist/templates/folio/content/collections/writing/2026-10-12-one-honest-number.mdoc +9 -0
  70. package/dist/templates/folio/content/collections/writing/_collection.json +16 -0
  71. package/dist/templates/folio/content/pages/about.json +366 -0
  72. package/dist/templates/folio/content/pages/contact.json +218 -0
  73. package/dist/templates/folio/content/pages/experience.json +552 -0
  74. package/dist/templates/folio/content/pages/home.json +410 -0
  75. package/dist/templates/folio/content/site.json +186 -0
  76. package/dist/templates/folio/content/styles.json +17 -0
  77. package/dist/templates/folio/media/LICENSES.json +229 -0
  78. package/dist/templates/folio/openspace.json +21 -0
  79. package/dist/templates/folio/template.json +103 -0
  80. package/dist/templates/gather/content/collections/fringe/_collection.json +13 -0
  81. package/dist/templates/gather/content/collections/fringe/library-open-studio.mdoc +14 -0
  82. package/dist/templates/gather/content/collections/fringe/morning-run.mdoc +14 -0
  83. package/dist/templates/gather/content/collections/fringe/plain-language-pub-quiz.mdoc +14 -0
  84. package/dist/templates/gather/content/pages/about.json +435 -0
  85. package/dist/templates/gather/content/pages/contact.json +196 -0
  86. package/dist/templates/gather/content/pages/home.json +527 -0
  87. package/dist/templates/gather/content/pages/programme.json +449 -0
  88. package/dist/templates/gather/content/pages/speakers.json +225 -0
  89. package/dist/templates/gather/content/pages/tickets.json +495 -0
  90. package/dist/templates/gather/content/pages/venue.json +382 -0
  91. package/dist/templates/gather/content/site.json +222 -0
  92. package/dist/templates/gather/content/styles.json +17 -0
  93. package/dist/templates/gather/media/LICENSES.json +185 -0
  94. package/dist/templates/gather/openspace.json +21 -0
  95. package/dist/templates/gather/template.json +118 -0
  96. package/dist/templates/inkwell/content/collections/essays/2026-09-17-notebooks.mdoc +13 -0
  97. package/dist/templates/inkwell/content/collections/essays/2026-10-01-kitchen-radio.mdoc +13 -0
  98. package/dist/templates/inkwell/content/collections/essays/2026-10-15-the-same-mile.mdoc +13 -0
  99. package/dist/templates/inkwell/content/collections/essays/_collection.json +21 -0
  100. package/dist/templates/inkwell/content/pages/about.json +281 -0
  101. package/dist/templates/inkwell/content/pages/books.json +459 -0
  102. package/dist/templates/inkwell/content/pages/contact.json +201 -0
  103. package/dist/templates/inkwell/content/pages/home.json +457 -0
  104. package/dist/templates/inkwell/content/pages/speaking.json +522 -0
  105. package/dist/templates/inkwell/content/site.json +222 -0
  106. package/dist/templates/inkwell/content/styles.json +17 -0
  107. package/dist/templates/inkwell/media/LICENSES.json +119 -0
  108. package/dist/templates/inkwell/openspace.json +21 -0
  109. package/dist/templates/inkwell/template.json +108 -0
  110. package/dist/templates/keystone/content/collections/notes/2026-09-17-hard-conversations.mdoc +11 -0
  111. package/dist/templates/keystone/content/collections/notes/2026-10-01-weekly-rhythm.mdoc +11 -0
  112. package/dist/templates/keystone/content/collections/notes/2026-10-15-the-first-manager.mdoc +11 -0
  113. package/dist/templates/keystone/content/collections/notes/_collection.json +21 -0
  114. package/dist/templates/keystone/content/pages/about.json +371 -0
  115. package/dist/templates/keystone/content/pages/contact.json +207 -0
  116. package/dist/templates/keystone/content/pages/home.json +815 -0
  117. package/dist/templates/keystone/content/pages/results.json +396 -0
  118. package/dist/templates/keystone/content/pages/work-with-me.json +477 -0
  119. package/dist/templates/keystone/content/site.json +224 -0
  120. package/dist/templates/keystone/content/styles.json +17 -0
  121. package/dist/templates/keystone/media/LICENSES.json +75 -0
  122. package/dist/templates/keystone/openspace.json +21 -0
  123. package/dist/templates/keystone/template.json +108 -0
  124. package/dist/templates/ledger/content/pages/home.json +62 -0
  125. package/dist/templates/orbit/content/collections/changelog/2026-09-21-faster-attachments.mdoc +11 -0
  126. package/dist/templates/orbit/content/collections/changelog/2026-10-05-snooze-until-reply.mdoc +11 -0
  127. package/dist/templates/orbit/content/collections/changelog/2026-10-19-help-centre-search.mdoc +13 -0
  128. package/dist/templates/orbit/content/collections/changelog/_collection.json +39 -0
  129. package/dist/templates/orbit/content/pages/about.json +396 -0
  130. package/dist/templates/orbit/content/pages/contact.json +195 -0
  131. package/dist/templates/orbit/content/pages/features.json +603 -0
  132. package/dist/templates/orbit/content/pages/home.json +1273 -0
  133. package/dist/templates/orbit/content/pages/pricing.json +608 -0
  134. package/dist/templates/orbit/content/site.json +368 -0
  135. package/dist/templates/orbit/content/styles.json +17 -0
  136. package/dist/templates/orbit/media/LICENSES.json +141 -0
  137. package/dist/templates/orbit/openspace.json +21 -0
  138. package/dist/templates/orbit/template.json +108 -0
  139. package/package.json +9 -7
  140. package/dist/chunk-3F6TAUAT.js.map +0 -1
  141. package/dist/chunk-R3SYHQ5J.js +0 -17420
  142. package/dist/chunk-R3SYHQ5J.js.map +0 -1
  143. /package/dist/{agents-md-2DTXWUZQ.js.map → agents-md-3W4PIY4N.js.map} +0 -0
@@ -0,0 +1,449 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_7h5fkz85td",
4
+ "title": "Programme",
5
+ "slug": "programme",
6
+ "seo": {
7
+ "description": "The Open Field 2027 programme: two days of talks and workshops on public service design, plus fringe events across Minneapolis."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_271ajh7cak",
12
+ "preset": "hero/editorial-type@1",
13
+ "label": "Editorial type",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 9,
19
+ 3
20
+ ],
21
+ "m": [
22
+ 12
23
+ ]
24
+ },
25
+ "align": "end",
26
+ "gap": "xl"
27
+ },
28
+ "style": {
29
+ "colorTheme": "light",
30
+ "padding": {
31
+ "d": "2xl",
32
+ "m": "xl"
33
+ }
34
+ },
35
+ "blocks": [
36
+ {
37
+ "id": "blk_rs3k7chwk2",
38
+ "type": "heading",
39
+ "v": 1,
40
+ "fields": {
41
+ "text": "Two days, hour by hour",
42
+ "level": "h1",
43
+ "size": "display",
44
+ "eyebrow": "Programme · draft 2"
45
+ },
46
+ "column": 0,
47
+ "variant": "rule"
48
+ },
49
+ {
50
+ "id": "blk_b31akv2je3",
51
+ "type": "text",
52
+ "v": 1,
53
+ "fields": {
54
+ "content": {
55
+ "type": "doc",
56
+ "content": [
57
+ {
58
+ "type": "paragraph",
59
+ "content": [
60
+ {
61
+ "type": "text",
62
+ "text": "Times may shift a little until May. Every main-stage talk is captioned and recorded."
63
+ }
64
+ ]
65
+ }
66
+ ]
67
+ }
68
+ },
69
+ "column": 1,
70
+ "variant": "default"
71
+ },
72
+ {
73
+ "id": "blk_m5tfdts6tv",
74
+ "type": "button",
75
+ "v": 1,
76
+ "fields": {
77
+ "label": "Get tickets",
78
+ "link": {
79
+ "type": "page",
80
+ "page": "pg_wrwn9f0tjc"
81
+ },
82
+ "role": "tertiary",
83
+ "secondaryLabel": "Speakers",
84
+ "secondaryLink": {
85
+ "type": "page",
86
+ "page": "pg_k1ec9wgctm"
87
+ }
88
+ },
89
+ "column": 1,
90
+ "variant": "default"
91
+ }
92
+ ]
93
+ },
94
+ {
95
+ "id": "sec_t90c0ssqtn",
96
+ "preset": "events/programme-tabs@1",
97
+ "label": "Programme by day",
98
+ "layout": {
99
+ "mode": "stack",
100
+ "columns": {
101
+ "d": [
102
+ 12
103
+ ]
104
+ },
105
+ "width": "content",
106
+ "gap": "lg"
107
+ },
108
+ "style": {
109
+ "colorTheme": "light"
110
+ },
111
+ "blocks": [
112
+ {
113
+ "id": "blk_s8d3ny1cab",
114
+ "type": "heading",
115
+ "v": 1,
116
+ "fields": {
117
+ "text": "Talks and workshops",
118
+ "level": "h2",
119
+ "size": "auto",
120
+ "eyebrow": "Main hall",
121
+ "subheading": "Workshops run in the two side rooms; sign up on the day."
122
+ },
123
+ "variant": "plain"
124
+ },
125
+ {
126
+ "id": "blk_h7hgk7at40",
127
+ "type": "tabs",
128
+ "v": 1,
129
+ "fields": {
130
+ "label": "Conference days",
131
+ "items": [
132
+ {
133
+ "label": "Thu 10 June",
134
+ "content": {
135
+ "type": "doc",
136
+ "content": [
137
+ {
138
+ "type": "heading",
139
+ "attrs": {
140
+ "level": 3,
141
+ "preset": "h4"
142
+ },
143
+ "content": [
144
+ {
145
+ "type": "text",
146
+ "text": "9:00 · Registration and breakfast"
147
+ }
148
+ ]
149
+ },
150
+ {
151
+ "type": "paragraph",
152
+ "content": [
153
+ {
154
+ "type": "text",
155
+ "text": "Coffee from Twin Oaks, pastries from Little Ember."
156
+ }
157
+ ]
158
+ },
159
+ {
160
+ "type": "heading",
161
+ "attrs": {
162
+ "level": 3,
163
+ "preset": "h4"
164
+ },
165
+ "content": [
166
+ {
167
+ "type": "text",
168
+ "text": "10:00 · Forms people can finish"
169
+ }
170
+ ]
171
+ },
172
+ {
173
+ "type": "paragraph",
174
+ "content": [
175
+ {
176
+ "type": "text",
177
+ "text": "Lena Brandt on rewriting a benefits application from scratch."
178
+ }
179
+ ]
180
+ },
181
+ {
182
+ "type": "heading",
183
+ "attrs": {
184
+ "level": 3,
185
+ "preset": "h4"
186
+ },
187
+ "content": [
188
+ {
189
+ "type": "text",
190
+ "text": "14:00 · Workshops"
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "type": "paragraph",
196
+ "content": [
197
+ {
198
+ "type": "text",
199
+ "text": "Plain language clinic, research with small budgets, and accessible PDFs."
200
+ }
201
+ ]
202
+ }
203
+ ]
204
+ }
205
+ },
206
+ {
207
+ "label": "Fri 11 June",
208
+ "content": {
209
+ "type": "doc",
210
+ "content": [
211
+ {
212
+ "type": "heading",
213
+ "attrs": {
214
+ "level": 3,
215
+ "preset": "h4"
216
+ },
217
+ "content": [
218
+ {
219
+ "type": "text",
220
+ "text": "10:00 · Small teams, public money"
221
+ }
222
+ ]
223
+ },
224
+ {
225
+ "type": "paragraph",
226
+ "content": [
227
+ {
228
+ "type": "text",
229
+ "text": "Jonah Ellis on shipping weekly inside city government."
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "type": "heading",
235
+ "attrs": {
236
+ "level": 3,
237
+ "preset": "h4"
238
+ },
239
+ "content": [
240
+ {
241
+ "type": "text",
242
+ "text": "13:30 · Panel: trust in public spaces"
243
+ }
244
+ ]
245
+ },
246
+ {
247
+ "type": "paragraph",
248
+ "content": [
249
+ {
250
+ "type": "text",
251
+ "text": "Libraries, clinics and the digital front door."
252
+ }
253
+ ]
254
+ },
255
+ {
256
+ "type": "heading",
257
+ "attrs": {
258
+ "level": 3,
259
+ "preset": "h4"
260
+ },
261
+ "content": [
262
+ {
263
+ "type": "text",
264
+ "text": "16:30 · Closing and drinks"
265
+ }
266
+ ]
267
+ },
268
+ {
269
+ "type": "paragraph",
270
+ "content": [
271
+ {
272
+ "type": "text",
273
+ "text": "On the terrace, rain or shine."
274
+ }
275
+ ]
276
+ }
277
+ ]
278
+ }
279
+ }
280
+ ]
281
+ },
282
+ "variant": "underline"
283
+ }
284
+ ]
285
+ },
286
+ {
287
+ "id": "sec_cz80wv9n20",
288
+ "preset": "events/upcoming-split@1",
289
+ "label": "Upcoming events with intro",
290
+ "layout": {
291
+ "mode": "stack",
292
+ "columns": {
293
+ "d": [
294
+ 4,
295
+ 8
296
+ ],
297
+ "m": [
298
+ 12
299
+ ]
300
+ },
301
+ "gap": "2xl"
302
+ },
303
+ "style": {
304
+ "colorTheme": "light"
305
+ },
306
+ "blocks": [
307
+ {
308
+ "id": "blk_k8pzsxhyxp",
309
+ "type": "heading",
310
+ "v": 1,
311
+ "fields": {
312
+ "text": "Around the conference",
313
+ "level": "h2",
314
+ "size": "auto",
315
+ "eyebrow": "Fringe"
316
+ },
317
+ "column": 0,
318
+ "variant": "plain"
319
+ },
320
+ {
321
+ "id": "blk_xaep2v8cy7",
322
+ "type": "text",
323
+ "v": 1,
324
+ "fields": {
325
+ "content": {
326
+ "type": "doc",
327
+ "content": [
328
+ {
329
+ "type": "paragraph",
330
+ "content": [
331
+ {
332
+ "type": "text",
333
+ "text": "Free evening events hosted by local teams. Conference badge not needed."
334
+ }
335
+ ]
336
+ }
337
+ ]
338
+ }
339
+ },
340
+ "column": 0,
341
+ "variant": "default"
342
+ },
343
+ {
344
+ "id": "blk_ge0y82be6h",
345
+ "type": "button",
346
+ "v": 1,
347
+ "fields": {
348
+ "label": "All fringe events",
349
+ "link": {
350
+ "type": "url",
351
+ "url": "/fringe/"
352
+ },
353
+ "role": "secondary"
354
+ },
355
+ "column": 0,
356
+ "variant": "default"
357
+ },
358
+ {
359
+ "id": "blk_gn2g5mg6wk",
360
+ "type": "events",
361
+ "v": 1,
362
+ "fields": {
363
+ "headingLevel": "h2",
364
+ "source": {
365
+ "collection": "fringe",
366
+ "filter": {
367
+ "upcoming": true
368
+ },
369
+ "limit": 4
370
+ },
371
+ "showImage": false,
372
+ "showLocation": true,
373
+ "showExcerpt": true,
374
+ "registerLabel": "Save a place",
375
+ "emptyMessage": "Fringe events are announced in April.",
376
+ "structuredData": true
377
+ },
378
+ "column": 1,
379
+ "variant": "list"
380
+ }
381
+ ]
382
+ },
383
+ {
384
+ "id": "sec_a7h6yswmmj",
385
+ "preset": "cta/banner@1",
386
+ "label": "Centred banner",
387
+ "layout": {
388
+ "mode": "stack",
389
+ "columns": {
390
+ "d": [
391
+ 12
392
+ ]
393
+ },
394
+ "width": "narrow",
395
+ "gap": "lg"
396
+ },
397
+ "style": {
398
+ "colorTheme": "brand",
399
+ "padding": {
400
+ "d": "xl",
401
+ "m": "lg"
402
+ }
403
+ },
404
+ "blocks": [
405
+ {
406
+ "id": "blk_0ghpwmc7t6",
407
+ "type": "heading",
408
+ "v": 1,
409
+ "fields": {
410
+ "text": "Bring your whole team",
411
+ "level": "h2",
412
+ "size": "auto",
413
+ "subheading": "Groups of five or more save 15%, and we'll seat you together at lunch."
414
+ },
415
+ "variant": "plain",
416
+ "style": {
417
+ "align": {
418
+ "d": "center"
419
+ }
420
+ }
421
+ },
422
+ {
423
+ "id": "blk_yr55pwacqt",
424
+ "type": "button",
425
+ "v": 1,
426
+ "fields": {
427
+ "label": "Team tickets",
428
+ "link": {
429
+ "type": "page",
430
+ "page": "pg_wrwn9f0tjc"
431
+ },
432
+ "role": "primary",
433
+ "secondaryLabel": "Ask a question",
434
+ "secondaryLink": {
435
+ "type": "page",
436
+ "page": "pg_w0dp3gv618"
437
+ }
438
+ },
439
+ "variant": "large",
440
+ "style": {
441
+ "align": {
442
+ "d": "center"
443
+ }
444
+ }
445
+ }
446
+ ]
447
+ }
448
+ ]
449
+ }
@@ -0,0 +1,225 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_k1ec9wgctm",
4
+ "title": "Speakers",
5
+ "slug": "speakers",
6
+ "seo": {
7
+ "description": "Meet the Open Field 2027 speakers: practitioners designing public services in cities, libraries, hospitals and national government."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_zf1g1b3djm",
12
+ "preset": "hero/centered@1",
13
+ "label": "Centered statement",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 12
19
+ ]
20
+ }
21
+ },
22
+ "style": {
23
+ "colorTheme": "light",
24
+ "padding": {
25
+ "d": "2xl",
26
+ "m": "xl"
27
+ }
28
+ },
29
+ "blocks": [
30
+ {
31
+ "id": "blk_3k3qsh7ef5",
32
+ "type": "heading",
33
+ "v": 1,
34
+ "fields": {
35
+ "text": "People who've done the work",
36
+ "level": "h1",
37
+ "size": "display",
38
+ "eyebrow": "Speakers",
39
+ "subheading": "No keynotes from vendors. Every speaker works on a public service and will tell you what went wrong."
40
+ },
41
+ "variant": "plain",
42
+ "style": {
43
+ "align": {
44
+ "d": "center"
45
+ }
46
+ }
47
+ },
48
+ {
49
+ "id": "blk_vjm60crmqg",
50
+ "type": "button",
51
+ "v": 1,
52
+ "fields": {
53
+ "label": "Get tickets",
54
+ "link": {
55
+ "type": "page",
56
+ "page": "pg_wrwn9f0tjc"
57
+ },
58
+ "role": "primary",
59
+ "secondaryLabel": "Propose a talk",
60
+ "secondaryLink": {
61
+ "type": "page",
62
+ "page": "pg_w0dp3gv618"
63
+ }
64
+ },
65
+ "variant": "default",
66
+ "style": {
67
+ "align": {
68
+ "d": "center"
69
+ }
70
+ }
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "id": "sec_160m7cb060",
76
+ "preset": "team/list-bios@1",
77
+ "label": "Team list with bios",
78
+ "layout": {
79
+ "mode": "stack",
80
+ "columns": {
81
+ "d": [
82
+ 12
83
+ ]
84
+ },
85
+ "width": "content",
86
+ "gap": "lg"
87
+ },
88
+ "style": {
89
+ "colorTheme": "light"
90
+ },
91
+ "blocks": [
92
+ {
93
+ "id": "blk_r4k4565nzv",
94
+ "type": "heading",
95
+ "v": 1,
96
+ "fields": {
97
+ "text": "This year's line-up",
98
+ "level": "h2",
99
+ "size": "auto",
100
+ "eyebrow": "Main stage"
101
+ },
102
+ "variant": "plain"
103
+ },
104
+ {
105
+ "id": "blk_ne0jjtg0ye",
106
+ "type": "team",
107
+ "v": 1,
108
+ "fields": {
109
+ "people": [
110
+ {
111
+ "name": "Lena Brandt",
112
+ "role": "Forms people can finish",
113
+ "photo": {
114
+ "src": "https://images.unsplash.com/photo-1614436201459-156d322d38c6?w=720&q=80",
115
+ "alt": "A smiling woman with a shoulder-length bob by the water",
116
+ "width": 720,
117
+ "height": 1080
118
+ },
119
+ "bio": "Leads design for a national benefits service and has rewritten more forms than anyone should."
120
+ },
121
+ {
122
+ "name": "Jonah Ellis",
123
+ "role": "Small teams, public money",
124
+ "photo": {
125
+ "src": "https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=1320&q=80",
126
+ "alt": "A smiling man in a grey t-shirt outdoors",
127
+ "width": 1320,
128
+ "height": 880
129
+ },
130
+ "bio": "Runs a twelve-person digital team inside a city government, shipping weekly."
131
+ },
132
+ {
133
+ "name": "Ines Varga",
134
+ "role": "Libraries as infrastructure",
135
+ "photo": {
136
+ "src": "https://images.unsplash.com/photo-1573497019236-17f8177b81e8?w=1320&q=80",
137
+ "alt": "A woman seated in a modern office, smiling at the camera",
138
+ "width": 1320,
139
+ "height": 880
140
+ },
141
+ "bio": "Architect and researcher studying how public buildings earn trust."
142
+ },
143
+ {
144
+ "name": "Rafael Costa",
145
+ "role": "Accessibility is the default",
146
+ "photo": {
147
+ "src": "https://images.unsplash.com/photo-1639747280804-dd2d6b3d88ac?w=720&q=80",
148
+ "alt": "A smiling man in a green shirt standing outdoors",
149
+ "width": 720,
150
+ "height": 1080
151
+ },
152
+ "bio": "Accessibility lead and screen-reader user who audits services for a living."
153
+ }
154
+ ],
155
+ "columns": "2"
156
+ },
157
+ "variant": "list"
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "id": "sec_42e9q20chm",
163
+ "preset": "cta/split@1",
164
+ "label": "Headline with action on the right",
165
+ "layout": {
166
+ "mode": "stack",
167
+ "columns": {
168
+ "d": [
169
+ 8,
170
+ 4
171
+ ],
172
+ "m": [
173
+ 12
174
+ ]
175
+ },
176
+ "align": "center",
177
+ "gap": "xl"
178
+ },
179
+ "style": {
180
+ "colorTheme": "dark-accent",
181
+ "padding": {
182
+ "d": "lg",
183
+ "m": "lg"
184
+ }
185
+ },
186
+ "blocks": [
187
+ {
188
+ "id": "blk_a47tm0c4d0",
189
+ "type": "heading",
190
+ "v": 1,
191
+ "fields": {
192
+ "text": "Got a story worth telling? Propose a talk.",
193
+ "level": "h2",
194
+ "size": "auto",
195
+ "eyebrow": "Call for proposals"
196
+ },
197
+ "column": 0,
198
+ "variant": "plain"
199
+ },
200
+ {
201
+ "id": "blk_n57dxyapkz",
202
+ "type": "button",
203
+ "v": 1,
204
+ "fields": {
205
+ "label": "Send a proposal",
206
+ "link": {
207
+ "type": "page",
208
+ "page": "pg_w0dp3gv618"
209
+ },
210
+ "role": "primary",
211
+ "note": "Closes 15 February. First-time speakers welcome."
212
+ },
213
+ "column": 1,
214
+ "variant": "default",
215
+ "style": {
216
+ "align": {
217
+ "d": "end",
218
+ "m": "start"
219
+ }
220
+ }
221
+ }
222
+ ]
223
+ }
224
+ ]
225
+ }