@omniharmonic/openspace-cli 0.1.3 → 0.1.5

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 (241) hide show
  1. package/README.md +14 -9
  2. package/dist/{agents-md-7DESZGEN.js → agents-md-PVK5NBFF.js} +3 -2
  3. package/dist/bin.js +4 -2
  4. package/dist/bin.js.map +1 -1
  5. package/dist/chunk-26AZCID5.js +44 -0
  6. package/dist/chunk-26AZCID5.js.map +1 -0
  7. package/dist/{chunk-TQZ5F7VG.js → chunk-RG7S2MUH.js} +13857 -22780
  8. package/dist/chunk-RG7S2MUH.js.map +1 -0
  9. package/dist/{chunk-AAMRGTSI.js → chunk-UQXJVMUV.js} +9116 -855
  10. package/dist/chunk-UQXJVMUV.js.map +1 -0
  11. package/dist/chunk-WE4QCL3R.js +12836 -0
  12. package/dist/chunk-WE4QCL3R.js.map +1 -0
  13. package/dist/crawl-5ZZ5W7B6.js +9 -0
  14. package/dist/crawl-5ZZ5W7B6.js.map +1 -0
  15. package/dist/index.js +4 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/starter/site/AGENTS.md +13 -6
  18. package/dist/templates/atelier/content/pages/about.json +1 -1
  19. package/dist/templates/atelier/content/pages/commissions.json +1 -1
  20. package/dist/templates/atelier/content/pages/contact.json +1 -1
  21. package/dist/templates/atelier/content/pages/home.json +1 -1
  22. package/dist/templates/atelier/content/pages/work.json +1 -1
  23. package/dist/templates/atelier/content/site.json +1 -1
  24. package/dist/templates/atelier/content/styles.json +1 -1
  25. package/dist/templates/atelier/openspace.json +2 -2
  26. package/dist/templates/atelier/template.json +1 -1
  27. package/dist/templates/beacon/content/collections/events/_collection.json +13 -0
  28. package/dist/templates/beacon/content/collections/events/keeper-training-november.mdoc +14 -0
  29. package/dist/templates/beacon/content/collections/events/planting-day-harbour-ward.mdoc +14 -0
  30. package/dist/templates/beacon/content/collections/events/planting-day-linden-north.mdoc +14 -0
  31. package/dist/templates/beacon/content/collections/news/2026-09-12-heat-map-2026.mdoc +13 -0
  32. package/dist/templates/beacon/content/collections/news/2026-09-30-school-gardens-harvest.mdoc +13 -0
  33. package/dist/templates/beacon/content/collections/news/2026-10-14-planting-season-begins.mdoc +13 -0
  34. package/dist/templates/beacon/content/collections/news/_collection.json +16 -0
  35. package/dist/templates/beacon/content/pages/about.json +572 -0
  36. package/dist/templates/beacon/content/pages/contact.json +260 -0
  37. package/dist/templates/beacon/content/pages/donate.json +406 -0
  38. package/dist/templates/beacon/content/pages/get-involved.json +412 -0
  39. package/dist/templates/beacon/content/pages/home.json +701 -0
  40. package/dist/templates/beacon/content/pages/our-work.json +855 -0
  41. package/dist/templates/beacon/content/site.json +363 -0
  42. package/dist/templates/beacon/content/styles.json +17 -0
  43. package/dist/templates/beacon/media/LICENSES.json +163 -0
  44. package/dist/templates/beacon/openspace.json +21 -0
  45. package/dist/templates/beacon/template.json +113 -0
  46. package/dist/templates/commons/content/pages/about.json +1 -1
  47. package/dist/templates/commons/content/pages/{members.json → directory.json} +16 -16
  48. package/dist/templates/commons/content/pages/home.json +2 -2
  49. package/dist/templates/commons/content/pages/join.json +1 -1
  50. package/dist/templates/commons/content/site.json +3 -3
  51. package/dist/templates/commons/content/styles.json +1 -1
  52. package/dist/templates/commons/openspace.json +2 -2
  53. package/dist/templates/commons/template.json +3 -3
  54. package/dist/templates/darkroom/content/collections/work/_collection.json +13 -0
  55. package/dist/templates/darkroom/content/collections/work/after-hours.mdoc +28 -0
  56. package/dist/templates/darkroom/content/collections/work/dry-season.mdoc +28 -0
  57. package/dist/templates/darkroom/content/collections/work/faces-of-the-guild.mdoc +28 -0
  58. package/dist/templates/darkroom/content/collections/work/two-weddings.mdoc +28 -0
  59. package/dist/templates/darkroom/content/collections/work/white-lines.mdoc +28 -0
  60. package/dist/templates/darkroom/content/pages/about.json +449 -0
  61. package/dist/templates/darkroom/content/pages/contact.json +185 -0
  62. package/dist/templates/darkroom/content/pages/home.json +636 -0
  63. package/dist/templates/darkroom/content/pages/services.json +636 -0
  64. package/dist/templates/darkroom/content/site.json +264 -0
  65. package/dist/templates/darkroom/content/styles.json +17 -0
  66. package/dist/templates/darkroom/media/LICENSES.json +284 -0
  67. package/dist/templates/darkroom/openspace.json +21 -0
  68. package/dist/templates/darkroom/template.json +103 -0
  69. package/dist/templates/encore/content/pages/about.json +1 -1
  70. package/dist/templates/encore/content/pages/contact.json +1 -1
  71. package/dist/templates/encore/content/pages/home.json +87 -1
  72. package/dist/templates/encore/content/pages/music.json +1 -1
  73. package/dist/templates/encore/content/site.json +1 -1
  74. package/dist/templates/encore/content/styles.json +1 -1
  75. package/dist/templates/encore/media/LICENSES.json +22 -0
  76. package/dist/templates/encore/openspace.json +2 -2
  77. package/dist/templates/encore/template.json +1 -1
  78. package/dist/templates/field-notes/content/pages/about.json +1 -1
  79. package/dist/templates/field-notes/content/pages/contact.json +1 -1
  80. package/dist/templates/field-notes/content/pages/home.json +95 -1
  81. package/dist/templates/field-notes/content/pages/subscribe.json +1 -1
  82. package/dist/templates/field-notes/content/site.json +1 -1
  83. package/dist/templates/field-notes/content/styles.json +1 -1
  84. package/dist/templates/field-notes/openspace.json +2 -2
  85. package/dist/templates/field-notes/template.json +1 -1
  86. package/dist/templates/fixwell/content/pages/about.json +508 -0
  87. package/dist/templates/fixwell/content/pages/contact.json +321 -0
  88. package/dist/templates/fixwell/content/pages/home.json +888 -0
  89. package/dist/templates/fixwell/content/pages/pricing.json +467 -0
  90. package/dist/templates/fixwell/content/pages/services.json +648 -0
  91. package/dist/templates/fixwell/content/site.json +293 -0
  92. package/dist/templates/fixwell/content/styles.json +17 -0
  93. package/dist/templates/fixwell/media/LICENSES.json +119 -0
  94. package/dist/templates/fixwell/openspace.json +21 -0
  95. package/dist/templates/fixwell/template.json +108 -0
  96. package/dist/templates/folio/content/collections/projects/_collection.json +13 -0
  97. package/dist/templates/folio/content/collections/projects/field-notes-app.mdoc +28 -0
  98. package/dist/templates/folio/content/collections/projects/harbour-health-dashboards.mdoc +28 -0
  99. package/dist/templates/folio/content/collections/projects/open-budget.mdoc +28 -0
  100. package/dist/templates/folio/content/collections/projects/transit-times.mdoc +28 -0
  101. package/dist/templates/folio/content/collections/writing/2026-08-30-designing-for-night-shifts.mdoc +9 -0
  102. package/dist/templates/folio/content/collections/writing/2026-09-20-testing-with-real-data.mdoc +9 -0
  103. package/dist/templates/folio/content/collections/writing/2026-10-12-one-honest-number.mdoc +9 -0
  104. package/dist/templates/folio/content/collections/writing/_collection.json +16 -0
  105. package/dist/templates/folio/content/pages/about.json +366 -0
  106. package/dist/templates/folio/content/pages/contact.json +218 -0
  107. package/dist/templates/folio/content/pages/experience.json +552 -0
  108. package/dist/templates/folio/content/pages/home.json +410 -0
  109. package/dist/templates/folio/content/site.json +186 -0
  110. package/dist/templates/folio/content/styles.json +17 -0
  111. package/dist/templates/folio/media/LICENSES.json +229 -0
  112. package/dist/templates/folio/openspace.json +21 -0
  113. package/dist/templates/folio/template.json +103 -0
  114. package/dist/templates/gather/content/collections/fringe/_collection.json +13 -0
  115. package/dist/templates/gather/content/collections/fringe/library-open-studio.mdoc +14 -0
  116. package/dist/templates/gather/content/collections/fringe/morning-run.mdoc +14 -0
  117. package/dist/templates/gather/content/collections/fringe/plain-language-pub-quiz.mdoc +14 -0
  118. package/dist/templates/gather/content/pages/about.json +435 -0
  119. package/dist/templates/gather/content/pages/contact.json +196 -0
  120. package/dist/templates/gather/content/pages/home.json +527 -0
  121. package/dist/templates/gather/content/pages/programme.json +449 -0
  122. package/dist/templates/gather/content/pages/speakers.json +225 -0
  123. package/dist/templates/gather/content/pages/tickets.json +495 -0
  124. package/dist/templates/gather/content/pages/venue.json +382 -0
  125. package/dist/templates/gather/content/site.json +222 -0
  126. package/dist/templates/gather/content/styles.json +17 -0
  127. package/dist/templates/gather/media/LICENSES.json +185 -0
  128. package/dist/templates/gather/openspace.json +21 -0
  129. package/dist/templates/gather/template.json +118 -0
  130. package/dist/templates/harbor/content/pages/about.json +1 -1
  131. package/dist/templates/harbor/content/pages/contact.json +1 -1
  132. package/dist/templates/harbor/content/pages/get-involved.json +1 -1
  133. package/dist/templates/harbor/content/pages/home.json +1 -1
  134. package/dist/templates/harbor/content/pages/programs.json +1 -1
  135. package/dist/templates/harbor/content/site.json +1 -1
  136. package/dist/templates/harbor/content/styles.json +1 -1
  137. package/dist/templates/harbor/openspace.json +2 -2
  138. package/dist/templates/harbor/template.json +1 -1
  139. package/dist/templates/hearth/content/pages/about.json +1 -1
  140. package/dist/templates/hearth/content/pages/home.json +1 -1
  141. package/dist/templates/hearth/content/pages/menu.json +1 -1
  142. package/dist/templates/hearth/content/pages/private-dining.json +1 -1
  143. package/dist/templates/hearth/content/pages/visit.json +1 -1
  144. package/dist/templates/hearth/content/site.json +1 -1
  145. package/dist/templates/hearth/content/styles.json +1 -1
  146. package/dist/templates/hearth/openspace.json +2 -2
  147. package/dist/templates/hearth/template.json +1 -1
  148. package/dist/templates/inkwell/content/collections/essays/2026-09-17-notebooks.mdoc +13 -0
  149. package/dist/templates/inkwell/content/collections/essays/2026-10-01-kitchen-radio.mdoc +13 -0
  150. package/dist/templates/inkwell/content/collections/essays/2026-10-15-the-same-mile.mdoc +13 -0
  151. package/dist/templates/inkwell/content/collections/essays/_collection.json +21 -0
  152. package/dist/templates/inkwell/content/pages/about.json +281 -0
  153. package/dist/templates/inkwell/content/pages/books.json +459 -0
  154. package/dist/templates/inkwell/content/pages/contact.json +201 -0
  155. package/dist/templates/inkwell/content/pages/home.json +457 -0
  156. package/dist/templates/inkwell/content/pages/speaking.json +522 -0
  157. package/dist/templates/inkwell/content/site.json +222 -0
  158. package/dist/templates/inkwell/content/styles.json +17 -0
  159. package/dist/templates/inkwell/media/LICENSES.json +119 -0
  160. package/dist/templates/inkwell/openspace.json +21 -0
  161. package/dist/templates/inkwell/template.json +108 -0
  162. package/dist/templates/keystone/content/collections/notes/2026-09-17-hard-conversations.mdoc +11 -0
  163. package/dist/templates/keystone/content/collections/notes/2026-10-01-weekly-rhythm.mdoc +11 -0
  164. package/dist/templates/keystone/content/collections/notes/2026-10-15-the-first-manager.mdoc +11 -0
  165. package/dist/templates/keystone/content/collections/notes/_collection.json +21 -0
  166. package/dist/templates/keystone/content/pages/about.json +371 -0
  167. package/dist/templates/keystone/content/pages/contact.json +207 -0
  168. package/dist/templates/keystone/content/pages/home.json +815 -0
  169. package/dist/templates/keystone/content/pages/results.json +396 -0
  170. package/dist/templates/keystone/content/pages/work-with-me.json +477 -0
  171. package/dist/templates/keystone/content/site.json +224 -0
  172. package/dist/templates/keystone/content/styles.json +17 -0
  173. package/dist/templates/keystone/media/LICENSES.json +75 -0
  174. package/dist/templates/keystone/openspace.json +21 -0
  175. package/dist/templates/keystone/template.json +108 -0
  176. package/dist/templates/kiln/content/pages/about.json +1 -1
  177. package/dist/templates/kiln/content/pages/contact.json +1 -1
  178. package/dist/templates/kiln/content/pages/home.json +1 -1
  179. package/dist/templates/kiln/content/pages/workshops.json +1 -1
  180. package/dist/templates/kiln/content/site.json +1 -1
  181. package/dist/templates/kiln/content/styles.json +1 -1
  182. package/dist/templates/kiln/openspace.json +2 -2
  183. package/dist/templates/kiln/template.json +1 -1
  184. package/dist/templates/ledger/content/pages/about.json +1 -1
  185. package/dist/templates/ledger/content/pages/contact.json +1 -1
  186. package/dist/templates/ledger/content/pages/home.json +63 -1
  187. package/dist/templates/ledger/content/pages/services.json +1 -1
  188. package/dist/templates/ledger/content/site.json +1 -1
  189. package/dist/templates/ledger/content/styles.json +1 -1
  190. package/dist/templates/ledger/openspace.json +2 -2
  191. package/dist/templates/ledger/template.json +1 -1
  192. package/dist/templates/link/content/pages/home.json +1 -1
  193. package/dist/templates/link/content/site.json +1 -1
  194. package/dist/templates/link/content/styles.json +1 -1
  195. package/dist/templates/link/openspace.json +2 -2
  196. package/dist/templates/link/template.json +1 -1
  197. package/dist/templates/meadow/content/pages/about.json +1 -1
  198. package/dist/templates/meadow/content/pages/bodywork.json +1 -1
  199. package/dist/templates/meadow/content/pages/classes.json +1 -1
  200. package/dist/templates/meadow/content/pages/contact.json +1 -1
  201. package/dist/templates/meadow/content/pages/home.json +1 -1
  202. package/dist/templates/meadow/content/site.json +1 -1
  203. package/dist/templates/meadow/content/styles.json +1 -1
  204. package/dist/templates/meadow/openspace.json +2 -2
  205. package/dist/templates/meadow/template.json +1 -1
  206. package/dist/templates/orbit/content/collections/changelog/2026-09-21-faster-attachments.mdoc +11 -0
  207. package/dist/templates/orbit/content/collections/changelog/2026-10-05-snooze-until-reply.mdoc +11 -0
  208. package/dist/templates/orbit/content/collections/changelog/2026-10-19-help-centre-search.mdoc +13 -0
  209. package/dist/templates/orbit/content/collections/changelog/_collection.json +39 -0
  210. package/dist/templates/orbit/content/pages/about.json +396 -0
  211. package/dist/templates/orbit/content/pages/contact.json +195 -0
  212. package/dist/templates/orbit/content/pages/features.json +603 -0
  213. package/dist/templates/orbit/content/pages/home.json +1273 -0
  214. package/dist/templates/orbit/content/pages/pricing.json +608 -0
  215. package/dist/templates/orbit/content/site.json +368 -0
  216. package/dist/templates/orbit/content/styles.json +17 -0
  217. package/dist/templates/orbit/media/LICENSES.json +141 -0
  218. package/dist/templates/orbit/openspace.json +21 -0
  219. package/dist/templates/orbit/template.json +108 -0
  220. package/dist/templates/signal/content/pages/about.json +1 -1
  221. package/dist/templates/signal/content/pages/contact.json +1 -1
  222. package/dist/templates/signal/content/pages/home.json +1 -1
  223. package/dist/templates/signal/content/pages/pricing.json +1 -1
  224. package/dist/templates/signal/content/site.json +1 -1
  225. package/dist/templates/signal/content/styles.json +1 -1
  226. package/dist/templates/signal/openspace.json +2 -2
  227. package/dist/templates/signal/template.json +1 -1
  228. package/dist/templates/vow/content/pages/about.json +1 -1
  229. package/dist/templates/vow/content/pages/home.json +1 -1
  230. package/dist/templates/vow/content/pages/registry.json +1 -1
  231. package/dist/templates/vow/content/pages/rsvp.json +1 -1
  232. package/dist/templates/vow/content/pages/schedule.json +1 -1
  233. package/dist/templates/vow/content/pages/travel.json +1 -1
  234. package/dist/templates/vow/content/site.json +1 -1
  235. package/dist/templates/vow/content/styles.json +1 -1
  236. package/dist/templates/vow/openspace.json +2 -2
  237. package/dist/templates/vow/template.json +1 -1
  238. package/package.json +7 -7
  239. package/dist/chunk-AAMRGTSI.js.map +0 -1
  240. package/dist/chunk-TQZ5F7VG.js.map +0 -1
  241. /package/dist/{agents-md-7DESZGEN.js.map → agents-md-PVK5NBFF.js.map} +0 -0
@@ -0,0 +1,527 @@
1
+ {
2
+ "$schema": "https://schema.openspace.host/v1/page.json",
3
+ "id": "pg_xzesny8yta",
4
+ "title": "Home",
5
+ "slug": "",
6
+ "seo": {
7
+ "description": "Open Field is a two-day conference on design for public services, 10–11 June 2027 in Minneapolis. Speakers, programme and tickets."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_1rk85majej",
12
+ "preset": "hero/event-countdown@1",
13
+ "label": "Event with countdown",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 12
19
+ ]
20
+ },
21
+ "width": "content",
22
+ "gap": "lg"
23
+ },
24
+ "style": {
25
+ "colorTheme": "dark",
26
+ "padding": {
27
+ "d": "3xl",
28
+ "m": "2xl"
29
+ },
30
+ "minHeight": {
31
+ "d": "90vh",
32
+ "m": "85svh"
33
+ },
34
+ "background": {
35
+ "type": "image",
36
+ "src": "https://images.unsplash.com/photo-1773828755374-0ee802d9f44b?w=3840&q=80",
37
+ "focal": [
38
+ 0.5,
39
+ 0.5
40
+ ],
41
+ "overlay": {
42
+ "color": "background",
43
+ "opacity": 0.8
44
+ }
45
+ }
46
+ },
47
+ "blocks": [
48
+ {
49
+ "id": "blk_3eab654egw",
50
+ "type": "heading",
51
+ "v": 1,
52
+ "fields": {
53
+ "text": "Open Field: design for public services",
54
+ "level": "h1",
55
+ "size": "display",
56
+ "eyebrow": "10–11 June 2027 · Minneapolis",
57
+ "subheading": "Two days of talks and workshops for the designers, researchers and civil servants making public services simpler, fairer and kinder."
58
+ },
59
+ "variant": "plain",
60
+ "style": {
61
+ "align": {
62
+ "d": "center"
63
+ }
64
+ }
65
+ },
66
+ {
67
+ "id": "blk_nv138vrm3h",
68
+ "type": "countdown",
69
+ "v": 1,
70
+ "fields": {
71
+ "headingLevel": "h2",
72
+ "target": "2027-06-10T09:00:00-05:00",
73
+ "showSeconds": false,
74
+ "doneMessage": "Open Field is happening now — see you in the main hall."
75
+ },
76
+ "variant": "boxes",
77
+ "style": {
78
+ "align": {
79
+ "d": "center"
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "id": "blk_mz3v212hv0",
85
+ "type": "button",
86
+ "v": 1,
87
+ "fields": {
88
+ "label": "Get tickets",
89
+ "link": {
90
+ "type": "page",
91
+ "page": "pg_wrwn9f0tjc"
92
+ },
93
+ "role": "primary",
94
+ "secondaryLabel": "See the programme",
95
+ "secondaryLink": {
96
+ "type": "page",
97
+ "page": "pg_7h5fkz85td"
98
+ }
99
+ },
100
+ "variant": "large",
101
+ "style": {
102
+ "align": {
103
+ "d": "center"
104
+ }
105
+ }
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "id": "sec_y97cymf4yd",
111
+ "preset": "logos/stats-and-logos@1",
112
+ "label": "Logos with a number",
113
+ "layout": {
114
+ "mode": "stack",
115
+ "columns": {
116
+ "d": [
117
+ 3,
118
+ 9
119
+ ],
120
+ "m": [
121
+ 12
122
+ ]
123
+ },
124
+ "align": "center",
125
+ "gap": "xl"
126
+ },
127
+ "style": {
128
+ "colorTheme": "light",
129
+ "padding": {
130
+ "d": "lg",
131
+ "m": "lg"
132
+ }
133
+ },
134
+ "blocks": [
135
+ {
136
+ "id": "blk_enzwxe9d3r",
137
+ "type": "stats",
138
+ "v": 1,
139
+ "fields": {
140
+ "items": [
141
+ {
142
+ "value": "1,200",
143
+ "label": "People at Open Field 2026"
144
+ }
145
+ ]
146
+ },
147
+ "column": 0,
148
+ "variant": "row"
149
+ },
150
+ {
151
+ "id": "blk_ekxf7h2wjn",
152
+ "type": "logo-strip",
153
+ "v": 1,
154
+ "fields": {
155
+ "logos": [
156
+ {
157
+ "name": "City of Lakewood"
158
+ },
159
+ {
160
+ "name": "Civic Design Lab"
161
+ },
162
+ {
163
+ "name": "Northland Libraries"
164
+ },
165
+ {
166
+ "name": "Public Code Co-op"
167
+ },
168
+ {
169
+ "name": "State Digital Service"
170
+ },
171
+ {
172
+ "name": "Harbour Health"
173
+ }
174
+ ],
175
+ "monochrome": true
176
+ },
177
+ "column": 1,
178
+ "variant": "marquee"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "id": "sec_6sza5b247d",
184
+ "preset": "events/speakers@1",
185
+ "label": "Speakers",
186
+ "layout": {
187
+ "mode": "stack",
188
+ "columns": {
189
+ "d": [
190
+ 12
191
+ ]
192
+ },
193
+ "gap": "xl"
194
+ },
195
+ "style": {
196
+ "colorTheme": "light-accent"
197
+ },
198
+ "blocks": [
199
+ {
200
+ "id": "blk_cddx7qbdep",
201
+ "type": "heading",
202
+ "v": 1,
203
+ "fields": {
204
+ "text": "Who's on stage",
205
+ "level": "h2",
206
+ "size": "auto",
207
+ "eyebrow": "Speakers",
208
+ "subheading": "Practitioners from city halls, libraries, hospitals and national services."
209
+ },
210
+ "variant": "plain",
211
+ "style": {
212
+ "align": {
213
+ "d": "center"
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "id": "blk_y97y6k0tmw",
219
+ "type": "team",
220
+ "v": 1,
221
+ "fields": {
222
+ "people": [
223
+ {
224
+ "name": "Lena Brandt",
225
+ "role": "Forms people can finish",
226
+ "photo": {
227
+ "src": "https://images.unsplash.com/photo-1614436201459-156d322d38c6?w=720&q=80",
228
+ "alt": "A smiling woman with a shoulder-length bob by the water",
229
+ "width": 720,
230
+ "height": 1080
231
+ }
232
+ },
233
+ {
234
+ "name": "Jonah Ellis",
235
+ "role": "Small teams, public money",
236
+ "photo": {
237
+ "src": "https://images.unsplash.com/photo-1522529599102-193c0d76b5b6?w=1320&q=80",
238
+ "alt": "A smiling man in a grey t-shirt outdoors",
239
+ "width": 1320,
240
+ "height": 880
241
+ }
242
+ },
243
+ {
244
+ "name": "Ines Varga",
245
+ "role": "Libraries as infrastructure",
246
+ "photo": {
247
+ "src": "https://images.unsplash.com/photo-1573497019236-17f8177b81e8?w=1320&q=80",
248
+ "alt": "A woman seated in a modern office, smiling at the camera",
249
+ "width": 1320,
250
+ "height": 880
251
+ }
252
+ },
253
+ {
254
+ "name": "Rafael Costa",
255
+ "role": "Accessibility is the default",
256
+ "photo": {
257
+ "src": "https://images.unsplash.com/photo-1639747280804-dd2d6b3d88ac?w=720&q=80",
258
+ "alt": "A smiling man in a green shirt standing outdoors",
259
+ "width": 720,
260
+ "height": 1080
261
+ }
262
+ }
263
+ ],
264
+ "columns": "4"
265
+ },
266
+ "variant": "grid"
267
+ }
268
+ ]
269
+ },
270
+ {
271
+ "id": "sec_q2s5xv31k6",
272
+ "preset": "features/wide-image-points@1",
273
+ "label": "Wide photo with three points",
274
+ "layout": {
275
+ "mode": "stack",
276
+ "columns": {
277
+ "d": [
278
+ 12
279
+ ]
280
+ },
281
+ "width": "wide",
282
+ "gap": "xl"
283
+ },
284
+ "style": {
285
+ "colorTheme": "light"
286
+ },
287
+ "blocks": [
288
+ {
289
+ "id": "blk_qfprmp1qkw",
290
+ "type": "heading",
291
+ "v": 1,
292
+ "fields": {
293
+ "text": "Two days, three rooms, one big question",
294
+ "level": "h2",
295
+ "size": "auto",
296
+ "eyebrow": "The event"
297
+ },
298
+ "variant": "plain",
299
+ "style": {
300
+ "align": {
301
+ "d": "center"
302
+ }
303
+ }
304
+ },
305
+ {
306
+ "id": "blk_h6165wc444",
307
+ "type": "image",
308
+ "v": 1,
309
+ "fields": {
310
+ "image": {
311
+ "src": "https://images.unsplash.com/photo-1769798643655-e0f10f62c3fd?w=2880&q=80",
312
+ "alt": "A packed hall facing a brightly lit stage",
313
+ "width": 2880,
314
+ "height": 1920
315
+ },
316
+ "aspect": "21:9",
317
+ "lightbox": false
318
+ },
319
+ "variant": "default"
320
+ },
321
+ {
322
+ "id": "blk_kxxhwdre2b",
323
+ "type": "icon-list",
324
+ "v": 1,
325
+ "fields": {
326
+ "items": [
327
+ {
328
+ "icon": "mic",
329
+ "title": "Twenty-four talks",
330
+ "text": "Short, practical and recorded for later."
331
+ },
332
+ {
333
+ "icon": "users",
334
+ "title": "Twelve workshops",
335
+ "text": "Small groups, real problems, take-home tools."
336
+ },
337
+ {
338
+ "icon": "coffee",
339
+ "title": "Long breaks",
340
+ "text": "Because the hallway is half the conference."
341
+ }
342
+ ],
343
+ "columns": "3"
344
+ },
345
+ "variant": "list"
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "id": "sec_j12kxanbpp",
351
+ "preset": "testimonials/carousel-cards@1",
352
+ "label": "Review carousel",
353
+ "layout": {
354
+ "mode": "stack",
355
+ "columns": {
356
+ "d": [
357
+ 12
358
+ ]
359
+ },
360
+ "gap": "lg"
361
+ },
362
+ "style": {
363
+ "colorTheme": "light-accent"
364
+ },
365
+ "blocks": [
366
+ {
367
+ "id": "blk_82zm9ayx6c",
368
+ "type": "heading",
369
+ "v": 1,
370
+ "fields": {
371
+ "text": "What people took home",
372
+ "level": "h2",
373
+ "size": "auto",
374
+ "eyebrow": "Last year"
375
+ },
376
+ "variant": "plain"
377
+ },
378
+ {
379
+ "id": "blk_rzsyp99f35",
380
+ "type": "quote-carousel",
381
+ "v": 1,
382
+ "fields": {
383
+ "label": "Attendee reviews",
384
+ "quotes": [
385
+ {
386
+ "quote": "The only conference where I came back with things to try on Monday.",
387
+ "name": "Ana Ruiz",
388
+ "role": "Service designer",
389
+ "photo": {
390
+ "src": "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=320&q=80",
391
+ "alt": "Portrait of a woman in a red sweater, laughing",
392
+ "width": 320,
393
+ "height": 480
394
+ }
395
+ },
396
+ {
397
+ "quote": "Brilliant talks, kind people and actual lunch breaks.",
398
+ "name": "Daniel Okoro",
399
+ "role": "Product manager, city government",
400
+ "photo": {
401
+ "src": "https://images.unsplash.com/photo-1500648767791-00dcc994a43e?w=320&q=80",
402
+ "alt": "Portrait of a man in a grey sweater, smiling softly",
403
+ "width": 320,
404
+ "height": 480
405
+ }
406
+ },
407
+ {
408
+ "quote": "The accessibility workshop changed how my whole team works.",
409
+ "name": "Iris Lund",
410
+ "role": "Content designer",
411
+ "photo": {
412
+ "src": "https://images.unsplash.com/photo-1534528741775-53994a69daeb?w=320&q=80",
413
+ "alt": "Portrait of a woman in a black top against a soft violet wall",
414
+ "width": 320,
415
+ "height": 400
416
+ }
417
+ },
418
+ {
419
+ "quote": "I met three people I now call every month for advice.",
420
+ "name": "Theo Grant",
421
+ "role": "User researcher",
422
+ "photo": {
423
+ "src": "https://images.unsplash.com/photo-1539571696357-5a69c17a67c6?w=320&q=80",
424
+ "alt": "Portrait of a young man in a black hat, smiling",
425
+ "width": 320,
426
+ "height": 480
427
+ }
428
+ }
429
+ ]
430
+ },
431
+ "variant": "cards"
432
+ }
433
+ ]
434
+ },
435
+ {
436
+ "id": "sec_h91d88mk1w",
437
+ "preset": "cta/card-centered@1",
438
+ "label": "Card on tinted band",
439
+ "layout": {
440
+ "mode": "stack",
441
+ "columns": {
442
+ "d": [
443
+ 12
444
+ ]
445
+ },
446
+ "width": "content",
447
+ "gap": "lg"
448
+ },
449
+ "style": {
450
+ "colorTheme": "light-accent"
451
+ },
452
+ "blocks": [
453
+ {
454
+ "id": "blk_pyxq9pewhe",
455
+ "type": "text",
456
+ "v": 1,
457
+ "fields": {
458
+ "content": {
459
+ "type": "doc",
460
+ "content": [
461
+ {
462
+ "type": "heading",
463
+ "attrs": {
464
+ "level": 2,
465
+ "preset": "h2"
466
+ },
467
+ "content": [
468
+ {
469
+ "type": "text",
470
+ "text": "Early-bird tickets end 31 March"
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ "type": "paragraph",
476
+ "content": [
477
+ {
478
+ "type": "text",
479
+ "text": "Public-sector and nonprofit rates available. Group discounts for teams of five or more."
480
+ }
481
+ ]
482
+ }
483
+ ]
484
+ }
485
+ },
486
+ "variant": "default",
487
+ "style": {
488
+ "align": {
489
+ "d": "center"
490
+ },
491
+ "colorTheme": "light",
492
+ "padding": {
493
+ "d": "xl",
494
+ "m": "md"
495
+ },
496
+ "radius": "md",
497
+ "border": "subtle"
498
+ }
499
+ },
500
+ {
501
+ "id": "blk_0tv0sphhp1",
502
+ "type": "button",
503
+ "v": 1,
504
+ "fields": {
505
+ "label": "Choose a ticket",
506
+ "link": {
507
+ "type": "page",
508
+ "page": "pg_wrwn9f0tjc"
509
+ },
510
+ "role": "primary",
511
+ "secondaryLabel": "Ask about groups",
512
+ "secondaryLink": {
513
+ "type": "page",
514
+ "page": "pg_w0dp3gv618"
515
+ }
516
+ },
517
+ "variant": "default",
518
+ "style": {
519
+ "align": {
520
+ "d": "center"
521
+ }
522
+ }
523
+ }
524
+ ]
525
+ }
526
+ ]
527
+ }