@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,34 @@
1
+ {
2
+ "kind": "blog",
3
+ "label": "News",
4
+ "slugPattern": "{date}-{title}",
5
+ "list": {
6
+ "layout": "cards",
7
+ "pageSize": 12,
8
+ "sort": "date-desc"
9
+ },
10
+ "itemPage": {
11
+ "layout": "article",
12
+ "showDate": true,
13
+ "showAuthor": true,
14
+ "showRelated": true
15
+ },
16
+ "taxonomies": {
17
+ "categories": [
18
+ {
19
+ "slug": "stories",
20
+ "label": "Neighbor stories"
21
+ },
22
+ {
23
+ "slug": "reports",
24
+ "label": "Reports"
25
+ }
26
+ ],
27
+ "tags": true
28
+ },
29
+ "feed": {
30
+ "enabled": true,
31
+ "title": "Riverbend Neighbors news",
32
+ "description": "Stories and updates from Penn Avenue."
33
+ }
34
+ }
@@ -0,0 +1,366 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_v4f7w3832h",
4
+ "title": "About",
5
+ "slug": "about",
6
+ "seo": {
7
+ "description": "Riverbend Neighbors began in a church basement in 2004. Meet our staff and board, our partners and how we spend every dollar."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_79bj3wq00n",
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_vd2xsj5bq8",
32
+ "type": "heading",
33
+ "v": 1,
34
+ "fields": {
35
+ "text": "Twenty years on Penn Avenue",
36
+ "level": "h1",
37
+ "size": "display",
38
+ "eyebrow": "About us",
39
+ "subheading": "We started with a folding table and six bags of groceries. Today Riverbend is a staff of nine, three hundred volunteers and one stubborn idea: nobody here should go without."
40
+ },
41
+ "variant": "plain",
42
+ "style": {
43
+ "align": {
44
+ "d": "center"
45
+ }
46
+ }
47
+ },
48
+ {
49
+ "id": "blk_ng3x59jhrb",
50
+ "type": "button",
51
+ "v": 1,
52
+ "fields": {
53
+ "label": "Read the 2025 report",
54
+ "link": {
55
+ "type": "url",
56
+ "url": "/news/"
57
+ },
58
+ "role": "primary",
59
+ "secondaryLabel": "Meet the team",
60
+ "secondaryLink": {
61
+ "type": "page",
62
+ "page": "pg_v4f7w3832h",
63
+ "anchor": "team"
64
+ }
65
+ },
66
+ "variant": "default",
67
+ "style": {
68
+ "align": {
69
+ "d": "center"
70
+ }
71
+ }
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "id": "sec_vcmsnrt80p",
77
+ "preset": "about/story-editorial@1",
78
+ "label": "Editorial story",
79
+ "layout": {
80
+ "mode": "stack",
81
+ "columns": {
82
+ "d": [
83
+ 12
84
+ ]
85
+ },
86
+ "width": "narrow"
87
+ },
88
+ "style": {
89
+ "colorTheme": "light-accent",
90
+ "padding": {
91
+ "d": "xl",
92
+ "m": "lg"
93
+ }
94
+ },
95
+ "blocks": [
96
+ {
97
+ "id": "blk_qa4160hvv1",
98
+ "type": "heading",
99
+ "v": 1,
100
+ "fields": {
101
+ "text": "How a church basement became a pantry",
102
+ "level": "h2",
103
+ "size": "auto",
104
+ "eyebrow": "Our story"
105
+ },
106
+ "variant": "plain",
107
+ "style": {
108
+ "align": {
109
+ "d": "center"
110
+ }
111
+ }
112
+ },
113
+ {
114
+ "id": "blk_4qgrvdr8jd",
115
+ "type": "text",
116
+ "v": 1,
117
+ "fields": {
118
+ "content": {
119
+ "type": "doc",
120
+ "content": [
121
+ {
122
+ "type": "paragraph",
123
+ "content": [
124
+ {
125
+ "type": "text",
126
+ "text": "In the winter of 2004, the steel-mill pensions on our block were cut in half. Margaret Oyelaran, a retired school nurse, noticed that her neighbors were skipping meals so they could heat their homes. She set up a folding table in the basement of St. Augustine's, borrowed a van, and started giving away groceries on Saturday mornings."
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "type": "paragraph",
132
+ "content": [
133
+ {
134
+ "type": "text",
135
+ "text": "Word travelled. Within a year there were forty volunteers and a waiting list for help with leaking roofs and broken furnaces. Homework Harbor followed in 2012, when parents who came to the pantry asked for somewhere safe for their kids after school. We still ask the same question before starting anything new: what do our neighbors say they need?"
136
+ }
137
+ ]
138
+ }
139
+ ]
140
+ }
141
+ },
142
+ "variant": "drop-cap"
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "id": "sec_vvfv1jw0p2",
148
+ "preset": "team/grid@1",
149
+ "label": "Team grid",
150
+ "layout": {
151
+ "mode": "stack",
152
+ "columns": {
153
+ "d": [
154
+ 12
155
+ ]
156
+ },
157
+ "gap": "xl"
158
+ },
159
+ "style": {
160
+ "colorTheme": "light"
161
+ },
162
+ "blocks": [
163
+ {
164
+ "id": "blk_kxrx0v8823",
165
+ "type": "heading",
166
+ "v": 1,
167
+ "fields": {
168
+ "text": "The people behind the programs",
169
+ "level": "h2",
170
+ "size": "auto",
171
+ "eyebrow": "Staff",
172
+ "subheading": "Nine staff, most of whom first came to Riverbend as volunteers or neighbors."
173
+ },
174
+ "variant": "plain"
175
+ },
176
+ {
177
+ "id": "blk_f926azbabk",
178
+ "type": "team",
179
+ "v": 1,
180
+ "fields": {
181
+ "people": [
182
+ {
183
+ "name": "Simone Achterberg",
184
+ "role": "Executive director",
185
+ "photo": {
186
+ "src": "https://images.unsplash.com/photo-1573496359142-b8d87734a5a2?w=600&q=80",
187
+ "alt": "Portrait of Simone Achterberg",
188
+ "width": 600,
189
+ "height": 899
190
+ }
191
+ },
192
+ {
193
+ "name": "Marcus Ellery",
194
+ "role": "Pantry manager",
195
+ "photo": {
196
+ "src": "https://images.unsplash.com/photo-1560250097-0b93528c311a?w=600&q=80",
197
+ "alt": "Portrait of Marcus Ellery",
198
+ "width": 600,
199
+ "height": 900
200
+ }
201
+ },
202
+ {
203
+ "name": "Ana Ruiz-Patel",
204
+ "role": "Youth programs lead",
205
+ "photo": {
206
+ "src": "https://images.unsplash.com/photo-1494790108377-be9c29b29330?w=600&q=80",
207
+ "alt": "Portrait of Ana Ruiz-Patel",
208
+ "width": 600,
209
+ "height": 900
210
+ }
211
+ },
212
+ {
213
+ "name": "Sam Whitfield",
214
+ "role": "Repair crew coordinator",
215
+ "photo": {
216
+ "src": "https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?w=600&q=80",
217
+ "alt": "Portrait of Sam Whitfield",
218
+ "width": 600,
219
+ "height": 900
220
+ }
221
+ }
222
+ ],
223
+ "columns": "4"
224
+ },
225
+ "variant": "grid"
226
+ }
227
+ ],
228
+ "anchor": "team"
229
+ },
230
+ {
231
+ "id": "sec_b23bj2h1h4",
232
+ "preset": "stats/cards@1",
233
+ "label": "Numbers on cards",
234
+ "layout": {
235
+ "mode": "stack",
236
+ "columns": {
237
+ "d": [
238
+ 4,
239
+ 8
240
+ ],
241
+ "m": [
242
+ 12
243
+ ]
244
+ },
245
+ "gap": "2xl"
246
+ },
247
+ "style": {
248
+ "colorTheme": "light-accent"
249
+ },
250
+ "blocks": [
251
+ {
252
+ "id": "blk_ajkq1yy3nb",
253
+ "type": "heading",
254
+ "v": 1,
255
+ "fields": {
256
+ "text": "Where the money goes",
257
+ "level": "h2",
258
+ "size": "auto",
259
+ "eyebrow": "Accountability",
260
+ "subheading": "From our audited 2025 accounts. The full report is free to download."
261
+ },
262
+ "column": 0,
263
+ "variant": "plain"
264
+ },
265
+ {
266
+ "id": "blk_0zdjt8afte",
267
+ "type": "stats",
268
+ "v": 1,
269
+ "fields": {
270
+ "items": [
271
+ {
272
+ "value": "94%",
273
+ "label": "Programs",
274
+ "detail": "Food, tutoring, repair materials and the staff who run them."
275
+ },
276
+ {
277
+ "value": "4%",
278
+ "label": "Fundraising",
279
+ "detail": "Mailings, events and our small donor database."
280
+ },
281
+ {
282
+ "value": "2%",
283
+ "label": "Administration",
284
+ "detail": "Audit, insurance and keeping the lights on."
285
+ }
286
+ ]
287
+ },
288
+ "column": 1,
289
+ "variant": "cards"
290
+ }
291
+ ]
292
+ },
293
+ {
294
+ "id": "sec_b51zj2cce2",
295
+ "preset": "logos/grid@1",
296
+ "label": "Partner grid",
297
+ "layout": {
298
+ "mode": "stack",
299
+ "columns": {
300
+ "d": [
301
+ 12
302
+ ]
303
+ },
304
+ "gap": "lg"
305
+ },
306
+ "style": {
307
+ "colorTheme": "light-accent"
308
+ },
309
+ "blocks": [
310
+ {
311
+ "id": "blk_qwsc8jt38w",
312
+ "type": "heading",
313
+ "v": 1,
314
+ "fields": {
315
+ "text": "Good work is never done alone",
316
+ "level": "h2",
317
+ "size": "auto",
318
+ "eyebrow": "Partners",
319
+ "subheading": "Farms, schools, congregations and businesses who share food, space and expertise."
320
+ },
321
+ "variant": "plain",
322
+ "style": {
323
+ "align": {
324
+ "d": "center"
325
+ }
326
+ }
327
+ },
328
+ {
329
+ "id": "blk_gwh4s2bzrd",
330
+ "type": "logo-strip",
331
+ "v": 1,
332
+ "fields": {
333
+ "logos": [
334
+ {
335
+ "name": "Allegheny Food Network"
336
+ },
337
+ {
338
+ "name": "Three Rivers Farm Co-op"
339
+ },
340
+ {
341
+ "name": "St. Augustine's Parish"
342
+ },
343
+ {
344
+ "name": "Arsenal Middle School"
345
+ },
346
+ {
347
+ "name": "Penn Ave Hardware"
348
+ },
349
+ {
350
+ "name": "Lawrenceville United"
351
+ },
352
+ {
353
+ "name": "Steel City Builders Guild"
354
+ },
355
+ {
356
+ "name": "Butler Street Bakery"
357
+ }
358
+ ],
359
+ "monochrome": true
360
+ },
361
+ "variant": "grid"
362
+ }
363
+ ]
364
+ }
365
+ ]
366
+ }
@@ -0,0 +1,233 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/page.json",
3
+ "id": "pg_rbmgfshm9y",
4
+ "title": "Contact",
5
+ "slug": "contact",
6
+ "seo": {
7
+ "description": "Visit Riverbend Neighbors at 3120 Penn Avenue, Pittsburgh. Pantry hours, how to ask for help and how to reach our staff."
8
+ },
9
+ "sections": [
10
+ {
11
+ "id": "sec_t85xdp9w1w",
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_6e38betawv",
33
+ "type": "heading",
34
+ "v": 1,
35
+ "fields": {
36
+ "text": "Ask for help, or offer it",
37
+ "level": "h1",
38
+ "size": "auto",
39
+ "eyebrow": "Contact",
40
+ "subheading": "Write to us about any program, volunteering or a donation. Someone will reply within two working days."
41
+ },
42
+ "column": 0,
43
+ "variant": "plain"
44
+ },
45
+ {
46
+ "id": "blk_4jfcbq424r",
47
+ "type": "contact-info",
48
+ "v": 1,
49
+ "fields": {
50
+ "headingLevel": "h3",
51
+ "name": "Riverbend Neighbors",
52
+ "address": "3120 Penn Avenue\nPittsburgh, PA 15201",
53
+ "phone": "+1 (412) 555-0186",
54
+ "email": "hello@riverbendneighbors.example",
55
+ "directions": true
56
+ },
57
+ "column": 0,
58
+ "variant": "list"
59
+ },
60
+ {
61
+ "id": "blk_9dg06ktwyg",
62
+ "type": "form",
63
+ "v": 1,
64
+ "fields": {
65
+ "form": {
66
+ "id": "frm_7xkt8dad8h",
67
+ "name": "Contact",
68
+ "fields": [
69
+ {
70
+ "type": "text",
71
+ "name": "name",
72
+ "label": "Your name",
73
+ "required": true,
74
+ "width": "half"
75
+ },
76
+ {
77
+ "type": "email",
78
+ "name": "email",
79
+ "label": "Email",
80
+ "required": true,
81
+ "width": "half"
82
+ },
83
+ {
84
+ "type": "select",
85
+ "name": "topic",
86
+ "label": "I'm writing about",
87
+ "width": "full",
88
+ "options": [
89
+ "Getting groceries",
90
+ "Homework Harbor",
91
+ "A home repair",
92
+ "Volunteering",
93
+ "Donating",
94
+ "Something else"
95
+ ]
96
+ },
97
+ {
98
+ "type": "textarea",
99
+ "name": "message",
100
+ "label": "Message",
101
+ "required": true,
102
+ "maxLength": 3000
103
+ }
104
+ ],
105
+ "submitLabel": "Send message",
106
+ "success": {
107
+ "type": "message",
108
+ "message": "Thank you. We'll reply within two working days."
109
+ },
110
+ "notifyOwner": true
111
+ }
112
+ },
113
+ "column": 1,
114
+ "variant": "card"
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "id": "sec_097mtacgjv",
120
+ "preset": "contact/location@1",
121
+ "label": "Map, hours and address",
122
+ "layout": {
123
+ "mode": "stack",
124
+ "columns": {
125
+ "d": [
126
+ 7,
127
+ 5
128
+ ],
129
+ "m": [
130
+ 12
131
+ ]
132
+ },
133
+ "gap": "2xl"
134
+ },
135
+ "style": {
136
+ "colorTheme": "light-accent"
137
+ },
138
+ "blocks": [
139
+ {
140
+ "id": "blk_g3jey8sw43",
141
+ "type": "map",
142
+ "v": 1,
143
+ "fields": {
144
+ "name": "Riverbend Neighbors",
145
+ "address": "3120 Penn Avenue, Pittsburgh, PA 15201",
146
+ "latitude": 40.4627,
147
+ "longitude": -79.9671,
148
+ "zoom": 15,
149
+ "linkLabel": "Open in Maps",
150
+ "aspect": "4:3"
151
+ },
152
+ "column": 0,
153
+ "variant": "plain"
154
+ },
155
+ {
156
+ "id": "blk_1x7gpbnmhb",
157
+ "type": "heading",
158
+ "v": 1,
159
+ "fields": {
160
+ "text": "Pantry & office hours",
161
+ "level": "h2",
162
+ "size": "auto",
163
+ "eyebrow": "Visit"
164
+ },
165
+ "column": 1,
166
+ "variant": "plain"
167
+ },
168
+ {
169
+ "id": "blk_789xwj81j1",
170
+ "type": "hours",
171
+ "v": 1,
172
+ "fields": {
173
+ "heading": "Pantry hours",
174
+ "headingLevel": "h3",
175
+ "rows": [
176
+ {
177
+ "day": "mon",
178
+ "closed": true
179
+ },
180
+ {
181
+ "day": "tue",
182
+ "opens": "10:00",
183
+ "closes": "18:00",
184
+ "closed": false
185
+ },
186
+ {
187
+ "day": "wed",
188
+ "closed": true
189
+ },
190
+ {
191
+ "day": "thu",
192
+ "opens": "10:00",
193
+ "closes": "18:00",
194
+ "closed": false
195
+ },
196
+ {
197
+ "day": "fri",
198
+ "closed": true
199
+ },
200
+ {
201
+ "day": "sat",
202
+ "opens": "09:00",
203
+ "closes": "13:00",
204
+ "closed": false
205
+ },
206
+ {
207
+ "day": "sun",
208
+ "closed": true
209
+ }
210
+ ],
211
+ "note": "The office is open weekdays 9 to 5. The 54 and 93 buses stop at the corner of 32nd Street."
212
+ },
213
+ "column": 1,
214
+ "variant": "compact"
215
+ },
216
+ {
217
+ "id": "blk_x8asmjzw3r",
218
+ "type": "contact-info",
219
+ "v": 1,
220
+ "fields": {
221
+ "headingLevel": "h3",
222
+ "address": "3120 Penn Avenue\nPittsburgh, PA 15201",
223
+ "phone": "+1 (412) 555-0186",
224
+ "email": "hello@riverbendneighbors.example",
225
+ "directions": true
226
+ },
227
+ "column": 1,
228
+ "variant": "list"
229
+ }
230
+ ]
231
+ }
232
+ ]
233
+ }