@omniharmonic/openspace-cli 0.0.0-stage → 0.1.1

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 (205) 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/bin.d.ts +1 -0
  6. package/dist/bin.js +11 -0
  7. package/dist/bin.js.map +1 -0
  8. package/dist/chunk-3F6TAUAT.js +41167 -0
  9. package/dist/chunk-3F6TAUAT.js.map +1 -0
  10. package/dist/chunk-LTJEM3DN.js +17161 -0
  11. package/dist/chunk-LTJEM3DN.js.map +1 -0
  12. package/dist/index.d.ts +83 -0
  13. package/dist/index.js +23 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/starter/site/.github/workflows/publish.yml +38 -0
  16. package/dist/starter/site/AGENTS.md +392 -0
  17. package/dist/starter/site/astro.config.mjs +8 -0
  18. package/dist/starter/site/package.json +21 -0
  19. package/dist/starter/site/public/.gitkeep +0 -0
  20. package/dist/starter/site/src/pages/[...slug].astro +10 -0
  21. package/dist/starter/site/tsconfig.json +5 -0
  22. package/dist/starter/variants/cloudflare/.github/openspace/gated-sync.mjs +121 -0
  23. package/dist/starter/variants/cloudflare/.github/workflows/publish.yml +70 -0
  24. package/dist/starter/variants/cloudflare/astro.config.mjs +11 -0
  25. package/dist/starter/variants/cloudflare/package.json +23 -0
  26. package/dist/starter/variants/cloudflare/wrangler.jsonc +13 -0
  27. package/dist/templates/atelier/content/collections/projects/_collection.json +13 -0
  28. package/dist/templates/atelier/content/collections/projects/cordillera.mdoc +32 -0
  29. package/dist/templates/atelier/content/collections/projects/field-studies.mdoc +32 -0
  30. package/dist/templates/atelier/content/collections/projects/salt-and-glass.mdoc +32 -0
  31. package/dist/templates/atelier/content/collections/projects/white-city.mdoc +32 -0
  32. package/dist/templates/atelier/content/pages/about.json +180 -0
  33. package/dist/templates/atelier/content/pages/commissions.json +307 -0
  34. package/dist/templates/atelier/content/pages/contact.json +117 -0
  35. package/dist/templates/atelier/content/pages/home.json +524 -0
  36. package/dist/templates/atelier/content/pages/work.json +332 -0
  37. package/dist/templates/atelier/content/site.json +190 -0
  38. package/dist/templates/atelier/content/styles.json +25 -0
  39. package/dist/templates/atelier/media/LICENSES.json +218 -0
  40. package/dist/templates/atelier/openspace.json +21 -0
  41. package/dist/templates/atelier/template.json +115 -0
  42. package/dist/templates/commons/content/collections/gatherings/_collection.json +13 -0
  43. package/dist/templates/commons/content/collections/gatherings/grant-writing-workshop.mdoc +17 -0
  44. package/dist/templates/commons/content/collections/gatherings/seed-swap.mdoc +16 -0
  45. package/dist/templates/commons/content/collections/gatherings/winter-general-assembly.mdoc +17 -0
  46. package/dist/templates/commons/content/pages/about.json +227 -0
  47. package/dist/templates/commons/content/pages/home.json +540 -0
  48. package/dist/templates/commons/content/pages/join.json +304 -0
  49. package/dist/templates/commons/content/pages/members.json +499 -0
  50. package/dist/templates/commons/content/site.json +306 -0
  51. package/dist/templates/commons/content/styles.json +27 -0
  52. package/dist/templates/commons/media/LICENSES.json +108 -0
  53. package/dist/templates/commons/openspace.json +21 -0
  54. package/dist/templates/commons/template.json +113 -0
  55. package/dist/templates/encore/content/collections/sessions/_collection.json +19 -0
  56. package/dist/templates/encore/content/collections/sessions/session-10-headphones-on.mdoc +16 -0
  57. package/dist/templates/encore/content/collections/sessions/session-11-neon-tide.mdoc +16 -0
  58. package/dist/templates/encore/content/collections/sessions/session-12-slow-static.mdoc +16 -0
  59. package/dist/templates/encore/content/collections/tour/_collection.json +13 -0
  60. package/dist/templates/encore/content/collections/tour/brooklyn-elsewhere.mdoc +18 -0
  61. package/dist/templates/encore/content/collections/tour/chicago-thalia-hall.mdoc +18 -0
  62. package/dist/templates/encore/content/collections/tour/london-electric-ballroom.mdoc +18 -0
  63. package/dist/templates/encore/content/collections/tour/minneapolis-first-avenue.mdoc +18 -0
  64. package/dist/templates/encore/content/collections/tour/toronto-danforth.mdoc +18 -0
  65. package/dist/templates/encore/content/pages/about.json +251 -0
  66. package/dist/templates/encore/content/pages/contact.json +122 -0
  67. package/dist/templates/encore/content/pages/home.json +363 -0
  68. package/dist/templates/encore/content/pages/music.json +297 -0
  69. package/dist/templates/encore/content/site.json +293 -0
  70. package/dist/templates/encore/content/styles.json +17 -0
  71. package/dist/templates/encore/media/LICENSES.json +97 -0
  72. package/dist/templates/encore/openspace.json +21 -0
  73. package/dist/templates/encore/template.json +103 -0
  74. package/dist/templates/field-notes/content/collections/essays/_collection.json +31 -0
  75. package/dist/templates/field-notes/content/collections/essays/a-year-of-apples.mdoc +25 -0
  76. package/dist/templates/field-notes/content/collections/essays/learning-a-field.mdoc +32 -0
  77. package/dist/templates/field-notes/content/collections/essays/small-weather.mdoc +25 -0
  78. package/dist/templates/field-notes/content/collections/essays/the-wall-builders.mdoc +29 -0
  79. package/dist/templates/field-notes/content/pages/about.json +236 -0
  80. package/dist/templates/field-notes/content/pages/contact.json +116 -0
  81. package/dist/templates/field-notes/content/pages/home.json +428 -0
  82. package/dist/templates/field-notes/content/pages/subscribe.json +273 -0
  83. package/dist/templates/field-notes/content/site.json +218 -0
  84. package/dist/templates/field-notes/content/styles.json +27 -0
  85. package/dist/templates/field-notes/media/LICENSES.json +119 -0
  86. package/dist/templates/field-notes/openspace.json +21 -0
  87. package/dist/templates/field-notes/template.json +112 -0
  88. package/dist/templates/harbor/content/collections/events/_collection.json +13 -0
  89. package/dist/templates/harbor/content/collections/events/coat-drive-sorting-day.mdoc +17 -0
  90. package/dist/templates/harbor/content/collections/events/safe-at-home-build-day.mdoc +17 -0
  91. package/dist/templates/harbor/content/collections/events/spring-community-supper.mdoc +17 -0
  92. package/dist/templates/harbor/content/collections/events/winter-coat-giveaway.mdoc +16 -0
  93. package/dist/templates/harbor/content/collections/news/2026-08-28-back-to-school-at-homework-harbor.mdoc +17 -0
  94. package/dist/templates/harbor/content/collections/news/2026-09-15-meet-the-repair-crew.mdoc +21 -0
  95. package/dist/templates/harbor/content/collections/news/2026-10-08-the-2025-annual-report.mdoc +25 -0
  96. package/dist/templates/harbor/content/collections/news/_collection.json +34 -0
  97. package/dist/templates/harbor/content/pages/about.json +366 -0
  98. package/dist/templates/harbor/content/pages/contact.json +233 -0
  99. package/dist/templates/harbor/content/pages/get-involved.json +425 -0
  100. package/dist/templates/harbor/content/pages/home.json +524 -0
  101. package/dist/templates/harbor/content/pages/programs.json +611 -0
  102. package/dist/templates/harbor/content/site.json +377 -0
  103. package/dist/templates/harbor/content/styles.json +25 -0
  104. package/dist/templates/harbor/media/LICENSES.json +141 -0
  105. package/dist/templates/harbor/openspace.json +21 -0
  106. package/dist/templates/harbor/template.json +115 -0
  107. package/dist/templates/hearth/content/pages/about.json +246 -0
  108. package/dist/templates/hearth/content/pages/home.json +937 -0
  109. package/dist/templates/hearth/content/pages/menu.json +396 -0
  110. package/dist/templates/hearth/content/pages/private-dining.json +288 -0
  111. package/dist/templates/hearth/content/pages/visit.json +257 -0
  112. package/dist/templates/hearth/content/site.json +214 -0
  113. package/dist/templates/hearth/content/styles.json +25 -0
  114. package/dist/templates/hearth/media/LICENSES.json +196 -0
  115. package/dist/templates/hearth/openspace.json +21 -0
  116. package/dist/templates/hearth/template.json +116 -0
  117. package/dist/templates/kiln/content/collections/classes/_collection.json +13 -0
  118. package/dist/templates/kiln/content/collections/classes/glaze-day-march.mdoc +17 -0
  119. package/dist/templates/kiln/content/collections/classes/hand-building-february.mdoc +17 -0
  120. package/dist/templates/kiln/content/collections/classes/spring-studio-sale.mdoc +15 -0
  121. package/dist/templates/kiln/content/collections/classes/wheel-weekend-january.mdoc +17 -0
  122. package/dist/templates/kiln/content/collections/shop/_collection.json +14 -0
  123. package/dist/templates/kiln/content/collections/shop/ash-bud-vases.mdoc +18 -0
  124. package/dist/templates/kiln/content/collections/shop/harbor-planter.mdoc +18 -0
  125. package/dist/templates/kiln/content/collections/shop/morning-cup-pair.mdoc +24 -0
  126. package/dist/templates/kiln/content/collections/shop/sea-glass-planter.mdoc +18 -0
  127. package/dist/templates/kiln/content/collections/shop/tide-vase.mdoc +23 -0
  128. package/dist/templates/kiln/content/collections/shop/walnut-step-stool.mdoc +18 -0
  129. package/dist/templates/kiln/content/pages/about.json +344 -0
  130. package/dist/templates/kiln/content/pages/contact.json +232 -0
  131. package/dist/templates/kiln/content/pages/home.json +754 -0
  132. package/dist/templates/kiln/content/pages/workshops.json +352 -0
  133. package/dist/templates/kiln/content/site.json +263 -0
  134. package/dist/templates/kiln/content/styles.json +17 -0
  135. package/dist/templates/kiln/media/LICENSES.json +119 -0
  136. package/dist/templates/kiln/openspace.json +21 -0
  137. package/dist/templates/kiln/template.json +103 -0
  138. package/dist/templates/ledger/content/collections/case-studies/_collection.json +14 -0
  139. package/dist/templates/ledger/content/collections/case-studies/fieldwork-coffee.mdoc +29 -0
  140. package/dist/templates/ledger/content/collections/case-studies/larkspur-foods.mdoc +29 -0
  141. package/dist/templates/ledger/content/collections/case-studies/ostrander-clinics.mdoc +29 -0
  142. package/dist/templates/ledger/content/collections/insights/2026-08-10-one-page-of-numbers.mdoc +12 -0
  143. package/dist/templates/ledger/content/collections/insights/2026-09-07-hiring-your-first-coo.mdoc +17 -0
  144. package/dist/templates/ledger/content/collections/insights/2026-10-05-the-decision-log.mdoc +15 -0
  145. package/dist/templates/ledger/content/collections/insights/_collection.json +21 -0
  146. package/dist/templates/ledger/content/pages/about.json +298 -0
  147. package/dist/templates/ledger/content/pages/contact.json +158 -0
  148. package/dist/templates/ledger/content/pages/home.json +621 -0
  149. package/dist/templates/ledger/content/pages/services.json +639 -0
  150. package/dist/templates/ledger/content/site.json +336 -0
  151. package/dist/templates/ledger/content/styles.json +17 -0
  152. package/dist/templates/ledger/media/LICENSES.json +86 -0
  153. package/dist/templates/ledger/openspace.json +21 -0
  154. package/dist/templates/ledger/template.json +102 -0
  155. package/dist/templates/link/content/pages/home.json +278 -0
  156. package/dist/templates/link/content/site.json +168 -0
  157. package/dist/templates/link/content/styles.json +17 -0
  158. package/dist/templates/link/media/LICENSES.json +97 -0
  159. package/dist/templates/link/openspace.json +21 -0
  160. package/dist/templates/link/template.json +87 -0
  161. package/dist/templates/meadow/content/collections/journal/2026-09-02-meet-daniel.mdoc +20 -0
  162. package/dist/templates/meadow/content/collections/journal/2026-09-28-a-practice-for-dark-mornings.mdoc +24 -0
  163. package/dist/templates/meadow/content/collections/journal/2026-10-12-why-twelve-mats.mdoc +26 -0
  164. package/dist/templates/meadow/content/collections/journal/_collection.json +34 -0
  165. package/dist/templates/meadow/content/collections/workshops/_collection.json +13 -0
  166. package/dist/templates/meadow/content/collections/workshops/breath-and-rest-workshop.mdoc +17 -0
  167. package/dist/templates/meadow/content/collections/workshops/foundations-four-weeks.mdoc +17 -0
  168. package/dist/templates/meadow/content/collections/workshops/manzanita-spring-retreat.mdoc +17 -0
  169. package/dist/templates/meadow/content/collections/workshops/winter-solstice-restorative.mdoc +17 -0
  170. package/dist/templates/meadow/content/pages/about.json +344 -0
  171. package/dist/templates/meadow/content/pages/bodywork.json +330 -0
  172. package/dist/templates/meadow/content/pages/classes.json +820 -0
  173. package/dist/templates/meadow/content/pages/contact.json +240 -0
  174. package/dist/templates/meadow/content/pages/home.json +556 -0
  175. package/dist/templates/meadow/content/site.json +290 -0
  176. package/dist/templates/meadow/content/styles.json +25 -0
  177. package/dist/templates/meadow/media/LICENSES.json +130 -0
  178. package/dist/templates/meadow/openspace.json +21 -0
  179. package/dist/templates/meadow/template.json +116 -0
  180. package/dist/templates/signal/content/collections/changelog/2026-09-08-faster-sms.mdoc +11 -0
  181. package/dist/templates/signal/content/collections/changelog/2026-09-22-postmortem-drafts.mdoc +11 -0
  182. package/dist/templates/signal/content/collections/changelog/2026-10-06-quiet-hours.mdoc +13 -0
  183. package/dist/templates/signal/content/collections/changelog/2026-10-20-status-pages-that-update-themselves.mdoc +17 -0
  184. package/dist/templates/signal/content/collections/changelog/_collection.json +39 -0
  185. package/dist/templates/signal/content/pages/about.json +258 -0
  186. package/dist/templates/signal/content/pages/contact.json +122 -0
  187. package/dist/templates/signal/content/pages/home.json +1062 -0
  188. package/dist/templates/signal/content/pages/pricing.json +460 -0
  189. package/dist/templates/signal/content/site.json +345 -0
  190. package/dist/templates/signal/content/styles.json +17 -0
  191. package/dist/templates/signal/media/LICENSES.json +119 -0
  192. package/dist/templates/signal/openspace.json +21 -0
  193. package/dist/templates/signal/template.json +103 -0
  194. package/dist/templates/vow/content/pages/about.json +314 -0
  195. package/dist/templates/vow/content/pages/home.json +400 -0
  196. package/dist/templates/vow/content/pages/registry.json +207 -0
  197. package/dist/templates/vow/content/pages/rsvp.json +145 -0
  198. package/dist/templates/vow/content/pages/schedule.json +281 -0
  199. package/dist/templates/vow/content/pages/travel.json +326 -0
  200. package/dist/templates/vow/content/site.json +200 -0
  201. package/dist/templates/vow/content/styles.json +17 -0
  202. package/dist/templates/vow/media/LICENSES.json +130 -0
  203. package/dist/templates/vow/openspace.json +21 -0
  204. package/dist/templates/vow/template.json +113 -0
  205. package/package.json +71 -3
@@ -0,0 +1,820 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_f7jcnz65me",
4
+ "title": "Classes",
5
+ "slug": "classes",
6
+ "seo": {
7
+ "description": "The weekly class schedule at Fernwood: slow flow, foundations, yin, prenatal and restorative yoga, plus memberships and class cards."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_f1fz664hep",
12
+ "layout": {
13
+ "mode": "stack",
14
+ "columns": {
15
+ "d": [
16
+ 12
17
+ ]
18
+ },
19
+ "width": "narrow"
20
+ },
21
+ "style": {
22
+ "colorTheme": "light-accent",
23
+ "padding": {
24
+ "d": "xl",
25
+ "m": "lg"
26
+ }
27
+ },
28
+ "blocks": [
29
+ {
30
+ "id": "blk_y087v53wfp",
31
+ "type": "heading",
32
+ "v": 1,
33
+ "fields": {
34
+ "level": "h1",
35
+ "size": "display",
36
+ "text": "Classes & schedule",
37
+ "eyebrow": "Thirty classes a week",
38
+ "subheading": "Every class is 60 or 75 minutes and capped at twelve students. Book ahead online, or drop in if there's a mat free."
39
+ },
40
+ "variant": "plain",
41
+ "style": {
42
+ "align": {
43
+ "d": "center"
44
+ }
45
+ }
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ "id": "sec_pxtkm0d9nk",
51
+ "preset": "services/tabs@1",
52
+ "label": "Weekly schedule",
53
+ "layout": {
54
+ "mode": "stack",
55
+ "columns": {
56
+ "d": [
57
+ 5,
58
+ 7
59
+ ],
60
+ "m": [
61
+ 12
62
+ ]
63
+ },
64
+ "gap": "lg"
65
+ },
66
+ "style": {
67
+ "colorTheme": "light"
68
+ },
69
+ "blocks": [
70
+ {
71
+ "id": "blk_88qjn3rq9x",
72
+ "type": "heading",
73
+ "v": 1,
74
+ "fields": {
75
+ "level": "h2",
76
+ "size": "auto",
77
+ "text": "Find a time that fits",
78
+ "eyebrow": "Weekly schedule",
79
+ "subheading": "The schedule runs all year. Holiday changes are posted in the journal and emailed to students a week ahead."
80
+ },
81
+ "variant": "plain",
82
+ "column": 0
83
+ },
84
+ {
85
+ "id": "blk_rzm2sdzv8b",
86
+ "type": "text",
87
+ "v": 1,
88
+ "fields": {
89
+ "content": {
90
+ "type": "doc",
91
+ "content": [
92
+ {
93
+ "type": "paragraph",
94
+ "content": [
95
+ {
96
+ "type": "text",
97
+ "text": "Not sure where to start? Foundations and Slow Flow suit complete beginners, and every teacher offers simpler options in every class."
98
+ }
99
+ ]
100
+ }
101
+ ]
102
+ }
103
+ },
104
+ "variant": "default",
105
+ "column": 0
106
+ },
107
+ {
108
+ "id": "blk_hsf8kqj1ge",
109
+ "type": "button",
110
+ "v": 1,
111
+ "fields": {
112
+ "role": "secondary",
113
+ "label": "Book a class",
114
+ "link": {
115
+ "type": "url",
116
+ "url": "https://cal.com/fernwood-yoga"
117
+ }
118
+ },
119
+ "variant": "default",
120
+ "column": 0
121
+ },
122
+ {
123
+ "id": "blk_j88ee4v2bn",
124
+ "type": "tabs",
125
+ "v": 1,
126
+ "fields": {
127
+ "label": "Days of the week",
128
+ "items": [
129
+ {
130
+ "label": "Mon",
131
+ "content": {
132
+ "type": "doc",
133
+ "content": [
134
+ {
135
+ "type": "paragraph",
136
+ "content": [
137
+ {
138
+ "type": "text",
139
+ "text": "6:30am",
140
+ "marks": [
141
+ {
142
+ "type": "bold"
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "type": "text",
148
+ "text": " Slow Morning Flow · Hana"
149
+ }
150
+ ]
151
+ },
152
+ {
153
+ "type": "paragraph",
154
+ "content": [
155
+ {
156
+ "type": "text",
157
+ "text": "12:15pm",
158
+ "marks": [
159
+ {
160
+ "type": "bold"
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "type": "text",
166
+ "text": " Lunchtime Stretch (45 min) · Iris"
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "type": "paragraph",
172
+ "content": [
173
+ {
174
+ "type": "text",
175
+ "text": "6:00pm",
176
+ "marks": [
177
+ {
178
+ "type": "bold"
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "type": "text",
184
+ "text": " Foundations · Theo"
185
+ }
186
+ ]
187
+ },
188
+ {
189
+ "type": "paragraph",
190
+ "content": [
191
+ {
192
+ "type": "text",
193
+ "text": "7:30pm",
194
+ "marks": [
195
+ {
196
+ "type": "bold"
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ "type": "text",
202
+ "text": " Yin & Breath · Iris"
203
+ }
204
+ ]
205
+ }
206
+ ]
207
+ }
208
+ },
209
+ {
210
+ "label": "Tue",
211
+ "content": {
212
+ "type": "doc",
213
+ "content": [
214
+ {
215
+ "type": "paragraph",
216
+ "content": [
217
+ {
218
+ "type": "text",
219
+ "text": "7:00am",
220
+ "marks": [
221
+ {
222
+ "type": "bold"
223
+ }
224
+ ]
225
+ },
226
+ {
227
+ "type": "text",
228
+ "text": " Strong & Steady · Theo"
229
+ }
230
+ ]
231
+ },
232
+ {
233
+ "type": "paragraph",
234
+ "content": [
235
+ {
236
+ "type": "text",
237
+ "text": "9:30am",
238
+ "marks": [
239
+ {
240
+ "type": "bold"
241
+ }
242
+ ]
243
+ },
244
+ {
245
+ "type": "text",
246
+ "text": " Prenatal Yoga · Iris"
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "type": "paragraph",
252
+ "content": [
253
+ {
254
+ "type": "text",
255
+ "text": "6:00pm",
256
+ "marks": [
257
+ {
258
+ "type": "bold"
259
+ }
260
+ ]
261
+ },
262
+ {
263
+ "type": "text",
264
+ "text": " Slow Flow · Hana"
265
+ }
266
+ ]
267
+ }
268
+ ]
269
+ }
270
+ },
271
+ {
272
+ "label": "Wed",
273
+ "content": {
274
+ "type": "doc",
275
+ "content": [
276
+ {
277
+ "type": "paragraph",
278
+ "content": [
279
+ {
280
+ "type": "text",
281
+ "text": "6:30am",
282
+ "marks": [
283
+ {
284
+ "type": "bold"
285
+ }
286
+ ]
287
+ },
288
+ {
289
+ "type": "text",
290
+ "text": " Slow Morning Flow · Hana"
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "type": "paragraph",
296
+ "content": [
297
+ {
298
+ "type": "text",
299
+ "text": "12:15pm",
300
+ "marks": [
301
+ {
302
+ "type": "bold"
303
+ }
304
+ ]
305
+ },
306
+ {
307
+ "type": "text",
308
+ "text": " Lunchtime Stretch (45 min) · Theo"
309
+ }
310
+ ]
311
+ },
312
+ {
313
+ "type": "paragraph",
314
+ "content": [
315
+ {
316
+ "type": "text",
317
+ "text": "7:30pm",
318
+ "marks": [
319
+ {
320
+ "type": "bold"
321
+ }
322
+ ]
323
+ },
324
+ {
325
+ "type": "text",
326
+ "text": " Restorative · Hana"
327
+ }
328
+ ]
329
+ }
330
+ ]
331
+ }
332
+ },
333
+ {
334
+ "label": "Thu",
335
+ "content": {
336
+ "type": "doc",
337
+ "content": [
338
+ {
339
+ "type": "paragraph",
340
+ "content": [
341
+ {
342
+ "type": "text",
343
+ "text": "7:00am",
344
+ "marks": [
345
+ {
346
+ "type": "bold"
347
+ }
348
+ ]
349
+ },
350
+ {
351
+ "type": "text",
352
+ "text": " Strong & Steady · Theo"
353
+ }
354
+ ]
355
+ },
356
+ {
357
+ "type": "paragraph",
358
+ "content": [
359
+ {
360
+ "type": "text",
361
+ "text": "9:30am",
362
+ "marks": [
363
+ {
364
+ "type": "bold"
365
+ }
366
+ ]
367
+ },
368
+ {
369
+ "type": "text",
370
+ "text": " Prenatal Yoga · Iris"
371
+ }
372
+ ]
373
+ },
374
+ {
375
+ "type": "paragraph",
376
+ "content": [
377
+ {
378
+ "type": "text",
379
+ "text": "6:00pm",
380
+ "marks": [
381
+ {
382
+ "type": "bold"
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ "type": "text",
388
+ "text": " Foundations · Hana"
389
+ }
390
+ ]
391
+ }
392
+ ]
393
+ }
394
+ },
395
+ {
396
+ "label": "Fri",
397
+ "content": {
398
+ "type": "doc",
399
+ "content": [
400
+ {
401
+ "type": "paragraph",
402
+ "content": [
403
+ {
404
+ "type": "text",
405
+ "text": "6:30am",
406
+ "marks": [
407
+ {
408
+ "type": "bold"
409
+ }
410
+ ]
411
+ },
412
+ {
413
+ "type": "text",
414
+ "text": " Slow Morning Flow · Iris"
415
+ }
416
+ ]
417
+ },
418
+ {
419
+ "type": "paragraph",
420
+ "content": [
421
+ {
422
+ "type": "text",
423
+ "text": "5:30pm",
424
+ "marks": [
425
+ {
426
+ "type": "bold"
427
+ }
428
+ ]
429
+ },
430
+ {
431
+ "type": "text",
432
+ "text": " Restorative & Tea · Hana"
433
+ }
434
+ ]
435
+ }
436
+ ]
437
+ }
438
+ },
439
+ {
440
+ "label": "Sat",
441
+ "content": {
442
+ "type": "doc",
443
+ "content": [
444
+ {
445
+ "type": "paragraph",
446
+ "content": [
447
+ {
448
+ "type": "text",
449
+ "text": "8:30am",
450
+ "marks": [
451
+ {
452
+ "type": "bold"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "type": "text",
458
+ "text": " Foundations · Theo"
459
+ }
460
+ ]
461
+ },
462
+ {
463
+ "type": "paragraph",
464
+ "content": [
465
+ {
466
+ "type": "text",
467
+ "text": "10:15am",
468
+ "marks": [
469
+ {
470
+ "type": "bold"
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ "type": "text",
476
+ "text": " Slow Flow · Hana"
477
+ }
478
+ ]
479
+ },
480
+ {
481
+ "type": "paragraph",
482
+ "content": [
483
+ {
484
+ "type": "text",
485
+ "text": "12:00pm",
486
+ "marks": [
487
+ {
488
+ "type": "bold"
489
+ }
490
+ ]
491
+ },
492
+ {
493
+ "type": "text",
494
+ "text": " Postnatal & Baby · Iris"
495
+ }
496
+ ]
497
+ }
498
+ ]
499
+ }
500
+ },
501
+ {
502
+ "label": "Sun",
503
+ "content": {
504
+ "type": "doc",
505
+ "content": [
506
+ {
507
+ "type": "paragraph",
508
+ "content": [
509
+ {
510
+ "type": "text",
511
+ "text": "9:30am",
512
+ "marks": [
513
+ {
514
+ "type": "bold"
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "type": "text",
520
+ "text": " Yin & Breath · Iris"
521
+ }
522
+ ]
523
+ },
524
+ {
525
+ "type": "paragraph",
526
+ "content": [
527
+ {
528
+ "type": "text",
529
+ "text": "11:15am",
530
+ "marks": [
531
+ {
532
+ "type": "bold"
533
+ }
534
+ ]
535
+ },
536
+ {
537
+ "type": "text",
538
+ "text": " Community Class (by donation) · Theo"
539
+ }
540
+ ]
541
+ }
542
+ ]
543
+ }
544
+ }
545
+ ]
546
+ },
547
+ "variant": "underline",
548
+ "column": 1
549
+ }
550
+ ]
551
+ },
552
+ {
553
+ "id": "sec_0nyqvaw41w",
554
+ "preset": "pricing/three-plans@1",
555
+ "label": "Three plans",
556
+ "layout": {
557
+ "mode": "stack",
558
+ "columns": {
559
+ "d": [
560
+ 12
561
+ ]
562
+ },
563
+ "gap": "xl"
564
+ },
565
+ "style": {
566
+ "colorTheme": "light-accent"
567
+ },
568
+ "blocks": [
569
+ {
570
+ "id": "blk_nyvbjp4m8r",
571
+ "type": "heading",
572
+ "v": 1,
573
+ "fields": {
574
+ "text": "Practise as often as you like",
575
+ "level": "h2",
576
+ "size": "auto",
577
+ "eyebrow": "Memberships & passes",
578
+ "subheading": "No joining fee and no contracts. Pause or cancel with a month's notice."
579
+ },
580
+ "variant": "plain",
581
+ "style": {
582
+ "align": {
583
+ "d": "center"
584
+ }
585
+ }
586
+ },
587
+ {
588
+ "id": "blk_eymc8s4vsd",
589
+ "type": "pricing",
590
+ "v": 1,
591
+ "fields": {
592
+ "plans": [
593
+ {
594
+ "name": "Drop-in",
595
+ "price": "$22",
596
+ "period": "per class",
597
+ "description": "For an occasional class or a visit from out of town.",
598
+ "features": [
599
+ {
600
+ "text": "Any group class"
601
+ },
602
+ {
603
+ "text": "Mats and props provided"
604
+ },
605
+ {
606
+ "text": "Valid for 30 days"
607
+ }
608
+ ],
609
+ "buttonLabel": "Buy a drop-in",
610
+ "link": {
611
+ "type": "url",
612
+ "url": "https://cal.com/fernwood-yoga"
613
+ },
614
+ "featured": false
615
+ },
616
+ {
617
+ "name": "Unlimited",
618
+ "price": "$128",
619
+ "period": "per month",
620
+ "description": "For a steady practice, as many classes as you like.",
621
+ "features": [
622
+ {
623
+ "text": "Unlimited group classes"
624
+ },
625
+ {
626
+ "text": "A guest pass every month"
627
+ },
628
+ {
629
+ "text": "15% off workshops and massage"
630
+ }
631
+ ],
632
+ "buttonLabel": "Become a member",
633
+ "link": {
634
+ "type": "url",
635
+ "url": "https://cal.com/fernwood-yoga"
636
+ },
637
+ "featured": true,
638
+ "badge": "Most popular"
639
+ },
640
+ {
641
+ "name": "Ten-class card",
642
+ "price": "$190",
643
+ "period": "10 classes",
644
+ "description": "For a practice that comes and goes with the seasons.",
645
+ "features": [
646
+ {
647
+ "text": "Shareable with family"
648
+ },
649
+ {
650
+ "text": "Valid for six months"
651
+ },
652
+ {
653
+ "text": "Use for any class"
654
+ }
655
+ ],
656
+ "buttonLabel": "Buy a card",
657
+ "link": {
658
+ "type": "url",
659
+ "url": "https://cal.com/fernwood-yoga"
660
+ },
661
+ "featured": false
662
+ }
663
+ ],
664
+ "note": "Students, teachers and healthcare workers save 20% on memberships."
665
+ },
666
+ "variant": "cards"
667
+ }
668
+ ]
669
+ },
670
+ {
671
+ "id": "sec_vekr7s2zcr",
672
+ "layout": {
673
+ "mode": "stack",
674
+ "columns": {
675
+ "d": [
676
+ 12
677
+ ]
678
+ }
679
+ },
680
+ "style": {
681
+ "colorTheme": "light"
682
+ },
683
+ "blocks": [
684
+ {
685
+ "id": "blk_z5knwfx55t",
686
+ "type": "booking",
687
+ "v": 1,
688
+ "fields": {
689
+ "provider": "cal",
690
+ "headingLevel": "h2",
691
+ "height": "760",
692
+ "url": "https://cal.com/fernwood-yoga/class",
693
+ "heading": "Book your mat online",
694
+ "description": "Reserve up to two weeks ahead and cancel free until two hours before class. We hold three mats in every class for drop-ins.",
695
+ "buttonLabel": "Open the booking calendar"
696
+ },
697
+ "variant": "split"
698
+ }
699
+ ]
700
+ },
701
+ {
702
+ "id": "sec_079zgxntzr",
703
+ "preset": "faq/centered@1",
704
+ "label": "Centred questions",
705
+ "layout": {
706
+ "mode": "stack",
707
+ "columns": {
708
+ "d": [
709
+ 12
710
+ ]
711
+ },
712
+ "width": "narrow",
713
+ "gap": "lg"
714
+ },
715
+ "style": {
716
+ "colorTheme": "light-accent"
717
+ },
718
+ "blocks": [
719
+ {
720
+ "id": "blk_4v43qnc3dw",
721
+ "type": "heading",
722
+ "v": 1,
723
+ "fields": {
724
+ "text": "Before you come",
725
+ "level": "h2",
726
+ "size": "auto",
727
+ "eyebrow": "First class"
728
+ },
729
+ "variant": "plain",
730
+ "style": {
731
+ "align": {
732
+ "d": "center"
733
+ }
734
+ }
735
+ },
736
+ {
737
+ "id": "blk_dnxcwdxze7",
738
+ "type": "accordion",
739
+ "v": 1,
740
+ "fields": {
741
+ "items": [
742
+ {
743
+ "question": "I've never done yoga. Which class should I take?",
744
+ "answer": {
745
+ "type": "doc",
746
+ "content": [
747
+ {
748
+ "type": "paragraph",
749
+ "content": [
750
+ {
751
+ "type": "text",
752
+ "text": "Foundations or Slow Flow. Both move gently and explain each pose, and your teacher will offer simpler options whenever you need them."
753
+ }
754
+ ]
755
+ }
756
+ ]
757
+ }
758
+ },
759
+ {
760
+ "question": "What should I bring?",
761
+ "answer": {
762
+ "type": "doc",
763
+ "content": [
764
+ {
765
+ "type": "paragraph",
766
+ "content": [
767
+ {
768
+ "type": "text",
769
+ "text": "Comfortable clothes and a water bottle. Mats, blocks, bolsters and blankets are all provided and cleaned between classes."
770
+ }
771
+ ]
772
+ }
773
+ ]
774
+ }
775
+ },
776
+ {
777
+ "question": "Can I come if I'm pregnant or recovering from an injury?",
778
+ "answer": {
779
+ "type": "doc",
780
+ "content": [
781
+ {
782
+ "type": "paragraph",
783
+ "content": [
784
+ {
785
+ "type": "text",
786
+ "text": "Yes. Tell your teacher before class. Prenatal Yoga is ideal from the second trimester, and our massage therapists can suggest classes that suit your recovery."
787
+ }
788
+ ]
789
+ }
790
+ ]
791
+ }
792
+ },
793
+ {
794
+ "question": "Is the studio accessible?",
795
+ "answer": {
796
+ "type": "doc",
797
+ "content": [
798
+ {
799
+ "type": "paragraph",
800
+ "content": [
801
+ {
802
+ "type": "text",
803
+ "text": "The main studio is on the ground floor with step-free access and an accessible restroom. The bodywork rooms are upstairs; ask us about ground-floor appointments."
804
+ }
805
+ ]
806
+ }
807
+ ]
808
+ }
809
+ }
810
+ ],
811
+ "exclusive": false,
812
+ "openFirst": false,
813
+ "faqSchema": true
814
+ },
815
+ "variant": "minimal"
816
+ }
817
+ ]
818
+ }
819
+ ]
820
+ }