@omniharmonic/openspace-cli 0.0.0-stage → 0.1.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.
Files changed (211) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +74 -2
  3. package/dist/agents-md-2DTXWUZQ.js +8 -0
  4. package/dist/agents-md-2DTXWUZQ.js.map +1 -0
  5. package/dist/agents-md-TX6V4M64.js +8 -0
  6. package/dist/agents-md-TX6V4M64.js.map +1 -0
  7. package/dist/bin.d.ts +1 -0
  8. package/dist/bin.js +11 -0
  9. package/dist/bin.js.map +1 -0
  10. package/dist/chunk-2KUIUUKV.js +41167 -0
  11. package/dist/chunk-2KUIUUKV.js.map +1 -0
  12. package/dist/chunk-3F6TAUAT.js +41167 -0
  13. package/dist/chunk-3F6TAUAT.js.map +1 -0
  14. package/dist/chunk-LPHUKIJU.js +17120 -0
  15. package/dist/chunk-LPHUKIJU.js.map +1 -0
  16. package/dist/chunk-LTJEM3DN.js +17161 -0
  17. package/dist/chunk-LTJEM3DN.js.map +1 -0
  18. package/dist/index.d.ts +83 -0
  19. package/dist/index.js +23 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/starter/site/.github/workflows/publish.yml +38 -0
  22. package/dist/starter/site/AGENTS.md +392 -0
  23. package/dist/starter/site/astro.config.mjs +8 -0
  24. package/dist/starter/site/package.json +21 -0
  25. package/dist/starter/site/public/.gitkeep +0 -0
  26. package/dist/starter/site/src/pages/[...slug].astro +10 -0
  27. package/dist/starter/site/tsconfig.json +5 -0
  28. package/dist/starter/variants/cloudflare/.github/openspace/gated-sync.mjs +121 -0
  29. package/dist/starter/variants/cloudflare/.github/workflows/publish.yml +70 -0
  30. package/dist/starter/variants/cloudflare/astro.config.mjs +11 -0
  31. package/dist/starter/variants/cloudflare/package.json +23 -0
  32. package/dist/starter/variants/cloudflare/wrangler.jsonc +13 -0
  33. package/dist/templates/atelier/content/collections/projects/_collection.json +13 -0
  34. package/dist/templates/atelier/content/collections/projects/cordillera.mdoc +32 -0
  35. package/dist/templates/atelier/content/collections/projects/field-studies.mdoc +32 -0
  36. package/dist/templates/atelier/content/collections/projects/salt-and-glass.mdoc +32 -0
  37. package/dist/templates/atelier/content/collections/projects/white-city.mdoc +32 -0
  38. package/dist/templates/atelier/content/pages/about.json +180 -0
  39. package/dist/templates/atelier/content/pages/commissions.json +307 -0
  40. package/dist/templates/atelier/content/pages/contact.json +117 -0
  41. package/dist/templates/atelier/content/pages/home.json +524 -0
  42. package/dist/templates/atelier/content/pages/work.json +332 -0
  43. package/dist/templates/atelier/content/site.json +190 -0
  44. package/dist/templates/atelier/content/styles.json +25 -0
  45. package/dist/templates/atelier/media/LICENSES.json +218 -0
  46. package/dist/templates/atelier/openspace.json +21 -0
  47. package/dist/templates/atelier/template.json +115 -0
  48. package/dist/templates/commons/content/collections/gatherings/_collection.json +13 -0
  49. package/dist/templates/commons/content/collections/gatherings/grant-writing-workshop.mdoc +17 -0
  50. package/dist/templates/commons/content/collections/gatherings/seed-swap.mdoc +16 -0
  51. package/dist/templates/commons/content/collections/gatherings/winter-general-assembly.mdoc +17 -0
  52. package/dist/templates/commons/content/pages/about.json +227 -0
  53. package/dist/templates/commons/content/pages/home.json +540 -0
  54. package/dist/templates/commons/content/pages/join.json +304 -0
  55. package/dist/templates/commons/content/pages/members.json +499 -0
  56. package/dist/templates/commons/content/site.json +306 -0
  57. package/dist/templates/commons/content/styles.json +27 -0
  58. package/dist/templates/commons/media/LICENSES.json +108 -0
  59. package/dist/templates/commons/openspace.json +21 -0
  60. package/dist/templates/commons/template.json +113 -0
  61. package/dist/templates/encore/content/collections/sessions/_collection.json +19 -0
  62. package/dist/templates/encore/content/collections/sessions/session-10-headphones-on.mdoc +16 -0
  63. package/dist/templates/encore/content/collections/sessions/session-11-neon-tide.mdoc +16 -0
  64. package/dist/templates/encore/content/collections/sessions/session-12-slow-static.mdoc +16 -0
  65. package/dist/templates/encore/content/collections/tour/_collection.json +13 -0
  66. package/dist/templates/encore/content/collections/tour/brooklyn-elsewhere.mdoc +18 -0
  67. package/dist/templates/encore/content/collections/tour/chicago-thalia-hall.mdoc +18 -0
  68. package/dist/templates/encore/content/collections/tour/london-electric-ballroom.mdoc +18 -0
  69. package/dist/templates/encore/content/collections/tour/minneapolis-first-avenue.mdoc +18 -0
  70. package/dist/templates/encore/content/collections/tour/toronto-danforth.mdoc +18 -0
  71. package/dist/templates/encore/content/pages/about.json +251 -0
  72. package/dist/templates/encore/content/pages/contact.json +122 -0
  73. package/dist/templates/encore/content/pages/home.json +363 -0
  74. package/dist/templates/encore/content/pages/music.json +297 -0
  75. package/dist/templates/encore/content/site.json +293 -0
  76. package/dist/templates/encore/content/styles.json +17 -0
  77. package/dist/templates/encore/media/LICENSES.json +97 -0
  78. package/dist/templates/encore/openspace.json +21 -0
  79. package/dist/templates/encore/template.json +103 -0
  80. package/dist/templates/field-notes/content/collections/essays/_collection.json +31 -0
  81. package/dist/templates/field-notes/content/collections/essays/a-year-of-apples.mdoc +25 -0
  82. package/dist/templates/field-notes/content/collections/essays/learning-a-field.mdoc +32 -0
  83. package/dist/templates/field-notes/content/collections/essays/small-weather.mdoc +25 -0
  84. package/dist/templates/field-notes/content/collections/essays/the-wall-builders.mdoc +29 -0
  85. package/dist/templates/field-notes/content/pages/about.json +236 -0
  86. package/dist/templates/field-notes/content/pages/contact.json +116 -0
  87. package/dist/templates/field-notes/content/pages/home.json +428 -0
  88. package/dist/templates/field-notes/content/pages/subscribe.json +273 -0
  89. package/dist/templates/field-notes/content/site.json +218 -0
  90. package/dist/templates/field-notes/content/styles.json +27 -0
  91. package/dist/templates/field-notes/media/LICENSES.json +119 -0
  92. package/dist/templates/field-notes/openspace.json +21 -0
  93. package/dist/templates/field-notes/template.json +112 -0
  94. package/dist/templates/harbor/content/collections/events/_collection.json +13 -0
  95. package/dist/templates/harbor/content/collections/events/coat-drive-sorting-day.mdoc +17 -0
  96. package/dist/templates/harbor/content/collections/events/safe-at-home-build-day.mdoc +17 -0
  97. package/dist/templates/harbor/content/collections/events/spring-community-supper.mdoc +17 -0
  98. package/dist/templates/harbor/content/collections/events/winter-coat-giveaway.mdoc +16 -0
  99. package/dist/templates/harbor/content/collections/news/2026-08-28-back-to-school-at-homework-harbor.mdoc +17 -0
  100. package/dist/templates/harbor/content/collections/news/2026-09-15-meet-the-repair-crew.mdoc +21 -0
  101. package/dist/templates/harbor/content/collections/news/2026-10-08-the-2025-annual-report.mdoc +25 -0
  102. package/dist/templates/harbor/content/collections/news/_collection.json +34 -0
  103. package/dist/templates/harbor/content/pages/about.json +366 -0
  104. package/dist/templates/harbor/content/pages/contact.json +233 -0
  105. package/dist/templates/harbor/content/pages/get-involved.json +425 -0
  106. package/dist/templates/harbor/content/pages/home.json +524 -0
  107. package/dist/templates/harbor/content/pages/programs.json +611 -0
  108. package/dist/templates/harbor/content/site.json +377 -0
  109. package/dist/templates/harbor/content/styles.json +25 -0
  110. package/dist/templates/harbor/media/LICENSES.json +141 -0
  111. package/dist/templates/harbor/openspace.json +21 -0
  112. package/dist/templates/harbor/template.json +115 -0
  113. package/dist/templates/hearth/content/pages/about.json +246 -0
  114. package/dist/templates/hearth/content/pages/home.json +937 -0
  115. package/dist/templates/hearth/content/pages/menu.json +396 -0
  116. package/dist/templates/hearth/content/pages/private-dining.json +288 -0
  117. package/dist/templates/hearth/content/pages/visit.json +257 -0
  118. package/dist/templates/hearth/content/site.json +214 -0
  119. package/dist/templates/hearth/content/styles.json +25 -0
  120. package/dist/templates/hearth/media/LICENSES.json +196 -0
  121. package/dist/templates/hearth/openspace.json +21 -0
  122. package/dist/templates/hearth/template.json +116 -0
  123. package/dist/templates/kiln/content/collections/classes/_collection.json +13 -0
  124. package/dist/templates/kiln/content/collections/classes/glaze-day-march.mdoc +17 -0
  125. package/dist/templates/kiln/content/collections/classes/hand-building-february.mdoc +17 -0
  126. package/dist/templates/kiln/content/collections/classes/spring-studio-sale.mdoc +15 -0
  127. package/dist/templates/kiln/content/collections/classes/wheel-weekend-january.mdoc +17 -0
  128. package/dist/templates/kiln/content/collections/shop/_collection.json +14 -0
  129. package/dist/templates/kiln/content/collections/shop/ash-bud-vases.mdoc +18 -0
  130. package/dist/templates/kiln/content/collections/shop/harbor-planter.mdoc +18 -0
  131. package/dist/templates/kiln/content/collections/shop/morning-cup-pair.mdoc +24 -0
  132. package/dist/templates/kiln/content/collections/shop/sea-glass-planter.mdoc +18 -0
  133. package/dist/templates/kiln/content/collections/shop/tide-vase.mdoc +23 -0
  134. package/dist/templates/kiln/content/collections/shop/walnut-step-stool.mdoc +18 -0
  135. package/dist/templates/kiln/content/pages/about.json +344 -0
  136. package/dist/templates/kiln/content/pages/contact.json +232 -0
  137. package/dist/templates/kiln/content/pages/home.json +754 -0
  138. package/dist/templates/kiln/content/pages/workshops.json +352 -0
  139. package/dist/templates/kiln/content/site.json +263 -0
  140. package/dist/templates/kiln/content/styles.json +17 -0
  141. package/dist/templates/kiln/media/LICENSES.json +119 -0
  142. package/dist/templates/kiln/openspace.json +21 -0
  143. package/dist/templates/kiln/template.json +103 -0
  144. package/dist/templates/ledger/content/collections/case-studies/_collection.json +14 -0
  145. package/dist/templates/ledger/content/collections/case-studies/fieldwork-coffee.mdoc +29 -0
  146. package/dist/templates/ledger/content/collections/case-studies/larkspur-foods.mdoc +29 -0
  147. package/dist/templates/ledger/content/collections/case-studies/ostrander-clinics.mdoc +29 -0
  148. package/dist/templates/ledger/content/collections/insights/2026-08-10-one-page-of-numbers.mdoc +12 -0
  149. package/dist/templates/ledger/content/collections/insights/2026-09-07-hiring-your-first-coo.mdoc +17 -0
  150. package/dist/templates/ledger/content/collections/insights/2026-10-05-the-decision-log.mdoc +15 -0
  151. package/dist/templates/ledger/content/collections/insights/_collection.json +21 -0
  152. package/dist/templates/ledger/content/pages/about.json +298 -0
  153. package/dist/templates/ledger/content/pages/contact.json +158 -0
  154. package/dist/templates/ledger/content/pages/home.json +621 -0
  155. package/dist/templates/ledger/content/pages/services.json +639 -0
  156. package/dist/templates/ledger/content/site.json +336 -0
  157. package/dist/templates/ledger/content/styles.json +17 -0
  158. package/dist/templates/ledger/media/LICENSES.json +86 -0
  159. package/dist/templates/ledger/openspace.json +21 -0
  160. package/dist/templates/ledger/template.json +102 -0
  161. package/dist/templates/link/content/pages/home.json +278 -0
  162. package/dist/templates/link/content/site.json +168 -0
  163. package/dist/templates/link/content/styles.json +17 -0
  164. package/dist/templates/link/media/LICENSES.json +97 -0
  165. package/dist/templates/link/openspace.json +21 -0
  166. package/dist/templates/link/template.json +87 -0
  167. package/dist/templates/meadow/content/collections/journal/2026-09-02-meet-daniel.mdoc +20 -0
  168. package/dist/templates/meadow/content/collections/journal/2026-09-28-a-practice-for-dark-mornings.mdoc +24 -0
  169. package/dist/templates/meadow/content/collections/journal/2026-10-12-why-twelve-mats.mdoc +26 -0
  170. package/dist/templates/meadow/content/collections/journal/_collection.json +34 -0
  171. package/dist/templates/meadow/content/collections/workshops/_collection.json +13 -0
  172. package/dist/templates/meadow/content/collections/workshops/breath-and-rest-workshop.mdoc +17 -0
  173. package/dist/templates/meadow/content/collections/workshops/foundations-four-weeks.mdoc +17 -0
  174. package/dist/templates/meadow/content/collections/workshops/manzanita-spring-retreat.mdoc +17 -0
  175. package/dist/templates/meadow/content/collections/workshops/winter-solstice-restorative.mdoc +17 -0
  176. package/dist/templates/meadow/content/pages/about.json +344 -0
  177. package/dist/templates/meadow/content/pages/bodywork.json +330 -0
  178. package/dist/templates/meadow/content/pages/classes.json +820 -0
  179. package/dist/templates/meadow/content/pages/contact.json +240 -0
  180. package/dist/templates/meadow/content/pages/home.json +556 -0
  181. package/dist/templates/meadow/content/site.json +290 -0
  182. package/dist/templates/meadow/content/styles.json +25 -0
  183. package/dist/templates/meadow/media/LICENSES.json +130 -0
  184. package/dist/templates/meadow/openspace.json +21 -0
  185. package/dist/templates/meadow/template.json +116 -0
  186. package/dist/templates/signal/content/collections/changelog/2026-09-08-faster-sms.mdoc +11 -0
  187. package/dist/templates/signal/content/collections/changelog/2026-09-22-postmortem-drafts.mdoc +11 -0
  188. package/dist/templates/signal/content/collections/changelog/2026-10-06-quiet-hours.mdoc +13 -0
  189. package/dist/templates/signal/content/collections/changelog/2026-10-20-status-pages-that-update-themselves.mdoc +17 -0
  190. package/dist/templates/signal/content/collections/changelog/_collection.json +39 -0
  191. package/dist/templates/signal/content/pages/about.json +258 -0
  192. package/dist/templates/signal/content/pages/contact.json +122 -0
  193. package/dist/templates/signal/content/pages/home.json +1062 -0
  194. package/dist/templates/signal/content/pages/pricing.json +460 -0
  195. package/dist/templates/signal/content/site.json +345 -0
  196. package/dist/templates/signal/content/styles.json +17 -0
  197. package/dist/templates/signal/media/LICENSES.json +119 -0
  198. package/dist/templates/signal/openspace.json +21 -0
  199. package/dist/templates/signal/template.json +103 -0
  200. package/dist/templates/vow/content/pages/about.json +314 -0
  201. package/dist/templates/vow/content/pages/home.json +400 -0
  202. package/dist/templates/vow/content/pages/registry.json +207 -0
  203. package/dist/templates/vow/content/pages/rsvp.json +145 -0
  204. package/dist/templates/vow/content/pages/schedule.json +281 -0
  205. package/dist/templates/vow/content/pages/travel.json +326 -0
  206. package/dist/templates/vow/content/site.json +200 -0
  207. package/dist/templates/vow/content/styles.json +17 -0
  208. package/dist/templates/vow/media/LICENSES.json +130 -0
  209. package/dist/templates/vow/openspace.json +21 -0
  210. package/dist/templates/vow/template.json +113 -0
  211. package/package.json +71 -3
@@ -0,0 +1,236 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_jb98pzwwr8",
4
+ "title": "About",
5
+ "slug": "about",
6
+ "seo": {
7
+ "description": "Ruth Ellery is a former newspaper reporter who writes The Long Field from a hill farm in Vermont. Her story, books and press."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_2sh4merhs0",
12
+ "preset": "about/story-editorial@1",
13
+ "label": "Editorial story",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 12
19
+ ]
20
+ },
21
+ "width": "narrow"
22
+ },
23
+ "style": {
24
+ "colorTheme": "light",
25
+ "padding": {
26
+ "d": "xl",
27
+ "m": "lg"
28
+ }
29
+ },
30
+ "blocks": [
31
+ {
32
+ "id": "blk_4fgfe4wxt4",
33
+ "type": "heading",
34
+ "v": 1,
35
+ "fields": {
36
+ "text": "A letter from a hill farm",
37
+ "level": "h1",
38
+ "size": "h1",
39
+ "eyebrow": "About"
40
+ },
41
+ "variant": "plain",
42
+ "style": {
43
+ "align": {
44
+ "d": "center"
45
+ }
46
+ }
47
+ },
48
+ {
49
+ "id": "blk_1jmh80zk12",
50
+ "type": "text",
51
+ "v": 1,
52
+ "fields": {
53
+ "content": {
54
+ "type": "doc",
55
+ "content": [
56
+ {
57
+ "type": "paragraph",
58
+ "content": [
59
+ {
60
+ "type": "text",
61
+ "text": "For twelve years I covered city hall for a Boston newspaper. I wrote fast, about meetings, and rarely looked up. In 2019 my partner and I bought a run-down hill farm in Vermont with a leaking barn, an orchard nobody had pruned since the eighties and a view that still stops me in the lane."
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "type": "paragraph",
67
+ "content": [
68
+ {
69
+ "type": "text",
70
+ "text": "The Long Field started as emails to friends who wanted to know what we were doing up here. They forwarded them, and their friends forwarded them again. Today the letter goes to fourteen thousand people in sixty countries, and it is still written at the same kitchen table, usually on a Saturday night."
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "type": "paragraph",
76
+ "content": [
77
+ {
78
+ "type": "text",
79
+ "text": "I write about land, work and attention: what a stone wall tells you about the people who built it, how to learn a field by walking it every day for a year. My first book, Small Weather, comes out from Harrow & Lane in the spring."
80
+ }
81
+ ]
82
+ }
83
+ ]
84
+ }
85
+ },
86
+ "variant": "drop-cap"
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ "id": "sec_ddn19gjcr5",
92
+ "preset": "logos/marquee@1",
93
+ "label": "Scrolling press strip",
94
+ "layout": {
95
+ "mode": "stack",
96
+ "columns": {
97
+ "d": [
98
+ 12
99
+ ]
100
+ },
101
+ "width": "full"
102
+ },
103
+ "style": {
104
+ "colorTheme": "dark",
105
+ "padding": {
106
+ "d": "md",
107
+ "m": "sm"
108
+ }
109
+ },
110
+ "blocks": [
111
+ {
112
+ "id": "blk_6emhgyfrhy",
113
+ "type": "logo-strip",
114
+ "v": 1,
115
+ "fields": {
116
+ "label": "Writing has appeared in",
117
+ "logos": [
118
+ {
119
+ "name": "Quarry Quarterly"
120
+ },
121
+ {
122
+ "name": "The Hill Review"
123
+ },
124
+ {
125
+ "name": "Northern Almanac"
126
+ },
127
+ {
128
+ "name": "Field & Hedge"
129
+ },
130
+ {
131
+ "name": "The Sunday Letter"
132
+ },
133
+ {
134
+ "name": "Granite State Radio"
135
+ }
136
+ ],
137
+ "monochrome": true
138
+ },
139
+ "variant": "marquee"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "id": "sec_9m7repz36a",
145
+ "preset": "newsletter/split-image@1",
146
+ "label": "Signup beside photo",
147
+ "layout": {
148
+ "mode": "stack",
149
+ "columns": {
150
+ "d": [
151
+ 5,
152
+ 7
153
+ ],
154
+ "m": [
155
+ 12
156
+ ]
157
+ },
158
+ "align": "center",
159
+ "gap": "2xl"
160
+ },
161
+ "style": {
162
+ "colorTheme": "light"
163
+ },
164
+ "blocks": [
165
+ {
166
+ "id": "blk_1x19thrpm7",
167
+ "type": "image",
168
+ "v": 1,
169
+ "fields": {
170
+ "image": {
171
+ "src": "https://images.unsplash.com/photo-1434030216411-0b793f4b4173?w=1920&q=80",
172
+ "alt": "Writing notes in a notebook beside a mug of tea",
173
+ "width": 1920,
174
+ "height": 1280
175
+ },
176
+ "aspect": "4:5",
177
+ "lightbox": false
178
+ },
179
+ "column": 0,
180
+ "variant": "default"
181
+ },
182
+ {
183
+ "id": "blk_9s5296weqw",
184
+ "type": "heading",
185
+ "v": 1,
186
+ "fields": {
187
+ "text": "Read along every other Sunday",
188
+ "level": "h2",
189
+ "size": "auto",
190
+ "eyebrow": "The letter"
191
+ },
192
+ "column": 1,
193
+ "variant": "plain"
194
+ },
195
+ {
196
+ "id": "blk_fxemzn5746",
197
+ "type": "icon-list",
198
+ "v": 1,
199
+ "fields": {
200
+ "items": [
201
+ {
202
+ "icon": "book-open",
203
+ "title": "One long essay"
204
+ },
205
+ {
206
+ "icon": "mountain",
207
+ "title": "One walk worth taking"
208
+ },
209
+ {
210
+ "icon": "heart",
211
+ "title": "One good thing to read"
212
+ }
213
+ ],
214
+ "columns": "1"
215
+ },
216
+ "column": 1,
217
+ "variant": "list"
218
+ },
219
+ {
220
+ "id": "blk_a63sm032jp",
221
+ "type": "newsletter",
222
+ "v": 1,
223
+ "fields": {
224
+ "askName": false,
225
+ "placeholder": "you@example.com",
226
+ "buttonLabel": "Subscribe",
227
+ "successMessage": "You're in. The next letter arrives on a Sunday morning.",
228
+ "note": "Free. Unsubscribe with one click."
229
+ },
230
+ "column": 1,
231
+ "variant": "stacked"
232
+ }
233
+ ]
234
+ }
235
+ ]
236
+ }
@@ -0,0 +1,116 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_qgdxacc2d3",
4
+ "title": "Contact",
5
+ "slug": "contact",
6
+ "seo": {
7
+ "description": "Write to Ruth Ellery about The Long Field, supporter subscriptions, speaking, reprints or press. Every reply is read."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_vgb30yft8z",
12
+ "preset": "contact/form-split@1",
13
+ "label": "Contact form with details",
14
+ "layout": {
15
+ "mode": "stack",
16
+ "columns": {
17
+ "d": [
18
+ 5,
19
+ 7
20
+ ],
21
+ "m": [
22
+ 12
23
+ ]
24
+ },
25
+ "gap": "2xl"
26
+ },
27
+ "style": {
28
+ "colorTheme": "light"
29
+ },
30
+ "blocks": [
31
+ {
32
+ "id": "blk_rap0vbx0yf",
33
+ "type": "heading",
34
+ "v": 1,
35
+ "fields": {
36
+ "text": "Write to me",
37
+ "level": "h1",
38
+ "size": "auto",
39
+ "eyebrow": "Contact",
40
+ "subheading": "Replying to any letter reaches me too. For press, reprints and speaking, the form below is quickest."
41
+ },
42
+ "column": 0,
43
+ "variant": "plain"
44
+ },
45
+ {
46
+ "id": "blk_d4x5x6wpm1",
47
+ "type": "contact-info",
48
+ "v": 1,
49
+ "fields": {
50
+ "headingLevel": "h3",
51
+ "name": "Ruth Ellery",
52
+ "address": "Peacham, Vermont",
53
+ "email": "ruth@thelongfield.example",
54
+ "directions": true
55
+ },
56
+ "column": 0,
57
+ "variant": "list"
58
+ },
59
+ {
60
+ "id": "blk_t0t31fgnew",
61
+ "type": "form",
62
+ "v": 1,
63
+ "fields": {
64
+ "form": {
65
+ "id": "frm_ggkhg2vbcz",
66
+ "name": "Contact",
67
+ "fields": [
68
+ {
69
+ "type": "text",
70
+ "name": "name",
71
+ "label": "Name",
72
+ "required": true,
73
+ "width": "half"
74
+ },
75
+ {
76
+ "type": "email",
77
+ "name": "email",
78
+ "label": "Email",
79
+ "required": true,
80
+ "width": "half"
81
+ },
82
+ {
83
+ "type": "select",
84
+ "name": "topic",
85
+ "label": "About",
86
+ "width": "full",
87
+ "options": [
88
+ "A letter",
89
+ "Supporter subscription",
90
+ "Speaking",
91
+ "Reprints & press"
92
+ ]
93
+ },
94
+ {
95
+ "type": "textarea",
96
+ "name": "message",
97
+ "label": "Message",
98
+ "required": true,
99
+ "maxLength": 4000
100
+ }
101
+ ],
102
+ "submitLabel": "Send",
103
+ "success": {
104
+ "type": "message",
105
+ "message": "Thank you for writing. I read everything, usually on Sunday evenings."
106
+ },
107
+ "notifyOwner": true
108
+ }
109
+ },
110
+ "column": 1,
111
+ "variant": "card"
112
+ }
113
+ ]
114
+ }
115
+ ]
116
+ }