@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,218 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/site.json",
3
+ "title": "The Long Field",
4
+ "tagline": "Essays on walking, weather and paying attention.",
5
+ "nav": [
6
+ {
7
+ "type": "collection",
8
+ "collection": "essays",
9
+ "label": "Essays"
10
+ },
11
+ {
12
+ "type": "page",
13
+ "page": "pg_jb98pzwwr8",
14
+ "label": "About"
15
+ },
16
+ {
17
+ "type": "page",
18
+ "page": "pg_qgdxacc2d3",
19
+ "label": "Contact"
20
+ },
21
+ {
22
+ "type": "button",
23
+ "label": "Subscribe",
24
+ "link": {
25
+ "type": "page",
26
+ "page": "pg_99fmsxfec8"
27
+ },
28
+ "style": "primary"
29
+ }
30
+ ],
31
+ "header": {
32
+ "variant": "logo-center-nav-below",
33
+ "sticky": false,
34
+ "transparentOnHero": false,
35
+ "mobileMenu": "slide",
36
+ "colorTheme": "light"
37
+ },
38
+ "footer": {
39
+ "id": "sec_59gxy4kdr3",
40
+ "preset": "footer/centered@1",
41
+ "label": "Centred footer",
42
+ "layout": {
43
+ "mode": "stack",
44
+ "columns": {
45
+ "d": [
46
+ 12
47
+ ]
48
+ },
49
+ "width": "narrow",
50
+ "gap": "md"
51
+ },
52
+ "style": {
53
+ "colorTheme": "light-accent",
54
+ "padding": {
55
+ "d": "lg",
56
+ "m": "lg"
57
+ }
58
+ },
59
+ "blocks": [
60
+ {
61
+ "id": "blk_ed4xf956m4",
62
+ "type": "text",
63
+ "v": 1,
64
+ "fields": {
65
+ "content": {
66
+ "type": "doc",
67
+ "content": [
68
+ {
69
+ "type": "paragraph",
70
+ "attrs": {
71
+ "preset": "lead"
72
+ },
73
+ "content": [
74
+ {
75
+ "type": "text",
76
+ "text": "The Long Field"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "type": "paragraph",
82
+ "attrs": {
83
+ "preset": "small"
84
+ },
85
+ "content": [
86
+ {
87
+ "type": "text",
88
+ "text": "A letter every other Sunday from a hill farm in Peacham, Vermont, by Ruth Ellery."
89
+ }
90
+ ]
91
+ }
92
+ ]
93
+ }
94
+ },
95
+ "variant": "default",
96
+ "style": {
97
+ "align": {
98
+ "d": "center"
99
+ }
100
+ }
101
+ },
102
+ {
103
+ "id": "blk_bw6ms3295x",
104
+ "type": "social-links",
105
+ "v": 1,
106
+ "fields": {
107
+ "source": "site",
108
+ "profiles": []
109
+ },
110
+ "variant": "icons",
111
+ "style": {
112
+ "align": {
113
+ "d": "center"
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "id": "blk_cq4h3rvg4m",
119
+ "type": "text",
120
+ "v": 1,
121
+ "fields": {
122
+ "content": {
123
+ "type": "doc",
124
+ "content": [
125
+ {
126
+ "type": "paragraph",
127
+ "attrs": {
128
+ "preset": "small"
129
+ },
130
+ "content": [
131
+ {
132
+ "type": "text",
133
+ "text": "© 2026 Ruth Ellery · "
134
+ },
135
+ {
136
+ "type": "text",
137
+ "text": "Essays",
138
+ "marks": [
139
+ {
140
+ "type": "link",
141
+ "attrs": {
142
+ "href": "/essays/"
143
+ }
144
+ }
145
+ ]
146
+ },
147
+ {
148
+ "type": "text",
149
+ "text": " · "
150
+ },
151
+ {
152
+ "type": "text",
153
+ "text": "Subscribe",
154
+ "marks": [
155
+ {
156
+ "type": "link",
157
+ "attrs": {
158
+ "href": "/subscribe/"
159
+ }
160
+ }
161
+ ]
162
+ },
163
+ {
164
+ "type": "text",
165
+ "text": " · "
166
+ },
167
+ {
168
+ "type": "text",
169
+ "text": "RSS",
170
+ "marks": [
171
+ {
172
+ "type": "link",
173
+ "attrs": {
174
+ "href": "/essays/rss.xml"
175
+ }
176
+ }
177
+ ]
178
+ }
179
+ ]
180
+ }
181
+ ]
182
+ }
183
+ },
184
+ "variant": "default",
185
+ "style": {
186
+ "align": {
187
+ "d": "center"
188
+ }
189
+ }
190
+ }
191
+ ]
192
+ },
193
+ "social": [
194
+ {
195
+ "network": "substack",
196
+ "url": "https://thelongfield.substack.example"
197
+ },
198
+ {
199
+ "network": "instagram",
200
+ "url": "https://instagram.com/thelongfield.example"
201
+ },
202
+ {
203
+ "network": "email",
204
+ "url": "mailto:ruth@thelongfield.example"
205
+ }
206
+ ],
207
+ "seo": {
208
+ "titleTemplate": "%s · The Long Field",
209
+ "description": "Essays on walking, weather and paying attention, by Ruth Ellery.",
210
+ "image": "https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8?w=1200&q=80"
211
+ },
212
+ "locale": "en-US",
213
+ "integrations": {
214
+ "analytics": true,
215
+ "bookingUrl": null,
216
+ "stripeConnected": false
217
+ }
218
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/styles.json",
3
+ "choices": {
4
+ "palette": {
5
+ "brand": "oklch(0.9 0.17 100)",
6
+ "neutral": "warm",
7
+ "contrast": "standard",
8
+ "source": "curated"
9
+ },
10
+ "pairing": "literata-manrope",
11
+ "density": "comfortable",
12
+ "shape": "soft",
13
+ "buttons": "solid",
14
+ "motion": "none",
15
+ "imageTreatment": "none"
16
+ },
17
+ "overrides": {
18
+ "color": {
19
+ "light-accent": {
20
+ "background": {
21
+ "$value": "oklch(0.975 0.045 100)",
22
+ "$type": "color"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "$comment": "Licenses for the demo media in the Field Notes template. Replace the demo photos with your own; this file can be deleted once none of them are used.",
3
+ "design": {
4
+ "license": "CC-BY-4.0",
5
+ "licenseUrl": "https://creativecommons.org/licenses/by/4.0/"
6
+ },
7
+ "media": [
8
+ {
9
+ "kind": "image",
10
+ "src": "https://images.unsplash.com/photo-1434030216411-0b793f4b4173",
11
+ "title": "A person writing notes in a notebook beside a mug",
12
+ "author": "Unseen Studio",
13
+ "authorUrl": "https://unsplash.com/@uns__nstudio",
14
+ "source": "Unsplash",
15
+ "sourceUrl": "https://unsplash.com/photos/person-writing-on-brown-wooden-table-near-white-ceramic-mug-s9CC2SKySJM",
16
+ "license": "Unsplash License",
17
+ "licenseUrl": "https://unsplash.com/license"
18
+ },
19
+ {
20
+ "kind": "image",
21
+ "src": "https://images.unsplash.com/photo-1438761681033-6461ffad8d80",
22
+ "title": "Portrait of a woman with short auburn hair beside a lake",
23
+ "author": "Christopher Campbell",
24
+ "authorUrl": "https://unsplash.com/@chrisjoelcampbell",
25
+ "source": "Unsplash",
26
+ "sourceUrl": "https://unsplash.com/photos/shallow-focus-photography-of-woman-outdoor-during-day-rDEOVtE7vOs",
27
+ "license": "Unsplash License",
28
+ "licenseUrl": "https://unsplash.com/license"
29
+ },
30
+ {
31
+ "kind": "image",
32
+ "src": "https://images.unsplash.com/photo-1441974231531-c6227db76b6e",
33
+ "title": "Sunlight falling through tall trees onto a forest path",
34
+ "author": "Lukasz Szmigiel",
35
+ "authorUrl": "https://unsplash.com/@szmigieldesign",
36
+ "source": "Unsplash",
37
+ "sourceUrl": "https://unsplash.com/photos/forest-trees-jFCViYFYcus",
38
+ "license": "Unsplash License",
39
+ "licenseUrl": "https://unsplash.com/license"
40
+ },
41
+ {
42
+ "kind": "image",
43
+ "src": "https://images.unsplash.com/photo-1456513080510-7bf3a84b82f8",
44
+ "title": "An open book on a table in front of a full bookshelf",
45
+ "author": "Aaron Burden",
46
+ "authorUrl": "https://unsplash.com/@aaronburden",
47
+ "source": "Unsplash",
48
+ "sourceUrl": "https://unsplash.com/photos/opened-book-QJDzYT_K8Xg",
49
+ "license": "Unsplash License",
50
+ "licenseUrl": "https://unsplash.com/license"
51
+ },
52
+ {
53
+ "kind": "image",
54
+ "src": "https://images.unsplash.com/photo-1465146344425-f00d5f5c8f07",
55
+ "title": "Wild red poppies scattered through a summer meadow",
56
+ "author": "enrico bet",
57
+ "authorUrl": "https://unsplash.com/@henry_be",
58
+ "source": "Unsplash",
59
+ "sourceUrl": "https://unsplash.com/photos/orange-flowers-IicyiaPYGGI",
60
+ "license": "Unsplash License",
61
+ "licenseUrl": "https://unsplash.com/license"
62
+ },
63
+ {
64
+ "kind": "image",
65
+ "src": "https://images.unsplash.com/photo-1494790108377-be9c29b29330",
66
+ "title": "Portrait of a woman in a red sweater, laughing",
67
+ "author": "Michael Dam",
68
+ "authorUrl": "https://unsplash.com/@michaeldam",
69
+ "source": "Unsplash",
70
+ "sourceUrl": "https://unsplash.com/photos/closeup-photography-of-woman-smiling-mEZ3PoFGs_k",
71
+ "license": "Unsplash License",
72
+ "licenseUrl": "https://unsplash.com/license"
73
+ },
74
+ {
75
+ "kind": "image",
76
+ "src": "https://images.unsplash.com/photo-1501854140801-50d01698950b",
77
+ "title": "Rolling green hills seen from above, ridges catching the light",
78
+ "author": "Qingbao Meng",
79
+ "authorUrl": "https://unsplash.com/@ideasboom",
80
+ "source": "Unsplash",
81
+ "sourceUrl": "https://unsplash.com/photos/birds-eye-view-photograph-of-green-mountains-01_igFr7hd4",
82
+ "license": "Unsplash License",
83
+ "licenseUrl": "https://unsplash.com/license"
84
+ },
85
+ {
86
+ "kind": "image",
87
+ "src": "https://images.unsplash.com/photo-1506744038136-46273834b3fb",
88
+ "title": "A misty river valley with pine trees and granite cliffs at dawn",
89
+ "author": "Bailey Zindel",
90
+ "authorUrl": "https://unsplash.com/@baileyzindel",
91
+ "source": "Unsplash",
92
+ "sourceUrl": "https://unsplash.com/photos/river-in-yosemite-valley-at-low-light-NRQV-hBF10M",
93
+ "license": "Unsplash License",
94
+ "licenseUrl": "https://unsplash.com/license"
95
+ },
96
+ {
97
+ "kind": "image",
98
+ "src": "https://images.unsplash.com/photo-1544005313-94ddf0286df2",
99
+ "title": "Portrait of a woman with long brown hair in a striped shirt",
100
+ "author": "Štefan Štefančík",
101
+ "authorUrl": "https://unsplash.com/@cikstefan",
102
+ "source": "Unsplash",
103
+ "sourceUrl": "https://unsplash.com/photos/smiling-woman-wearing-white-and-black-pinstriped-collared-top-QXevDflbl8A",
104
+ "license": "Unsplash License",
105
+ "licenseUrl": "https://unsplash.com/license"
106
+ },
107
+ {
108
+ "kind": "image",
109
+ "src": "https://images.unsplash.com/photo-1560250097-0b93528c311a",
110
+ "title": "Portrait of a man in a dark suit and glasses",
111
+ "author": "LinkedIn Sales Solutions",
112
+ "authorUrl": "https://unsplash.com/@linkedinsalesnavigator",
113
+ "source": "Unsplash",
114
+ "sourceUrl": "https://unsplash.com/photos/man-standing-beside-wall-pAtA8xe_iVM",
115
+ "license": "Unsplash License",
116
+ "licenseUrl": "https://unsplash.com/license"
117
+ }
118
+ ]
119
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/site-config.json",
3
+ "siteId": "st_f9ahxp6q84",
4
+ "schemaVersion": 1,
5
+ "template": {
6
+ "id": "field-notes",
7
+ "version": "1.0.0"
8
+ },
9
+ "hub": "https://hub.openspace.dev",
10
+ "deploy": {
11
+ "target": "github-pages",
12
+ "url": "https://example.github.io/field-notes",
13
+ "customDomain": null
14
+ },
15
+ "features": {
16
+ "forms": true,
17
+ "newsletter": true,
18
+ "analytics": true,
19
+ "search": false
20
+ }
21
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "$schema": "https://schema.openspace.dev/v1/template.json",
3
+ "id": "field-notes",
4
+ "name": "Field Notes",
5
+ "description": "A reading-first site for writers, newsletters and blogs: a newsletter-first home, long essays with footnotes and reading times, and a supporter page.",
6
+ "persona": "Writers, newsletters, blogs",
7
+ "mood": "Reading-first, literary",
8
+ "version": "1.0.0",
9
+ "tags": [
10
+ "writing",
11
+ "newsletter",
12
+ "blog",
13
+ "essays",
14
+ "publishing"
15
+ ],
16
+ "sample": {
17
+ "name": "The Long Field",
18
+ "tagline": "Essays on walking, weather and paying attention."
19
+ },
20
+ "thumbnailPage": "pg_at43pg8ew2",
21
+ "looks": [
22
+ {
23
+ "id": "highlighter",
24
+ "name": "Highlighter",
25
+ "description": "Paper and ink with highlighter-yellow washes and marks, and Literata for long reading.",
26
+ "choices": {
27
+ "palette": {
28
+ "brand": "oklch(0.9 0.17 100)",
29
+ "neutral": "warm",
30
+ "contrast": "standard",
31
+ "source": "curated"
32
+ },
33
+ "pairing": "literata-manrope",
34
+ "density": "comfortable",
35
+ "shape": "soft",
36
+ "buttons": "solid",
37
+ "motion": "none",
38
+ "imageTreatment": "none"
39
+ },
40
+ "overrides": {
41
+ "color": {
42
+ "light-accent": {
43
+ "background": {
44
+ "$value": "oklch(0.975 0.045 100)",
45
+ "$type": "color"
46
+ }
47
+ }
48
+ }
49
+ }
50
+ },
51
+ {
52
+ "id": "ink",
53
+ "name": "Ink",
54
+ "description": "Fountain-pen blue with Crimson Pro and Figtree, quiet and serious.",
55
+ "choices": {
56
+ "palette": {
57
+ "brand": "oklch(0.35 0.08 265)",
58
+ "neutral": "cool",
59
+ "contrast": "standard",
60
+ "source": "curated"
61
+ },
62
+ "pairing": "crimson-figtree",
63
+ "density": "comfortable",
64
+ "shape": "sharp",
65
+ "buttons": "underline",
66
+ "motion": "none",
67
+ "imageTreatment": "none"
68
+ }
69
+ },
70
+ {
71
+ "id": "almanac",
72
+ "name": "Almanac",
73
+ "description": "Russet and parchment with Libre Caslon, like an old farm almanac.",
74
+ "choices": {
75
+ "palette": {
76
+ "brand": "oklch(0.5 0.11 45)",
77
+ "neutral": "warm",
78
+ "contrast": "standard",
79
+ "source": "brand"
80
+ },
81
+ "pairing": "libre-caslon-nunito-sans",
82
+ "density": "airy",
83
+ "shape": "soft",
84
+ "buttons": "pill-solid",
85
+ "motion": "subtle",
86
+ "imageTreatment": "grain"
87
+ }
88
+ }
89
+ ],
90
+ "pages": [
91
+ {
92
+ "id": "pg_at43pg8ew2",
93
+ "title": "Home",
94
+ "slug": ""
95
+ },
96
+ {
97
+ "id": "pg_99fmsxfec8",
98
+ "title": "Subscribe",
99
+ "slug": "subscribe"
100
+ },
101
+ {
102
+ "id": "pg_jb98pzwwr8",
103
+ "title": "About",
104
+ "slug": "about"
105
+ },
106
+ {
107
+ "id": "pg_qgdxacc2d3",
108
+ "title": "Contact",
109
+ "slug": "contact"
110
+ }
111
+ ]
112
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "kind": "events",
3
+ "label": "Events",
4
+ "itemLabel": "Event",
5
+ "list": {
6
+ "layout": "list",
7
+ "pageSize": 20,
8
+ "sort": "date-asc"
9
+ },
10
+ "itemPage": {
11
+ "layout": "split"
12
+ }
13
+ }
@@ -0,0 +1,17 @@
1
+ ---
2
+ status: published
3
+ title: Coat drive sorting day
4
+ start: 2026-12-12T09:00:00-05:00
5
+ end: 2026-12-12T13:00:00-05:00
6
+ timezone: America/New_York
7
+ location:
8
+ name: Penn Avenue Pantry
9
+ address: 3120 Penn Avenue, Pittsburgh
10
+ registrationUrl: https://riverbendneighbors.example/volunteer
11
+ price: Free · volunteers welcome
12
+ image: https://images.unsplash.com/photo-1511632765486-a01980e01a18?w=1600&q=80
13
+ imageAlt: Volunteers arm in arm at sunset
14
+ excerpt: Help sort, size and hang 600 donated coats before the winter giveaway.
15
+ ---
16
+
17
+ No experience needed. Coffee and bagels from Butler Street Bakery from 8:30.
@@ -0,0 +1,17 @@
1
+ ---
2
+ status: published
3
+ title: Safe at Home build day
4
+ start: 2027-03-20T08:00:00-04:00
5
+ end: 2027-03-20T15:00:00-04:00
6
+ timezone: America/New_York
7
+ location:
8
+ name: Meet at the pantry
9
+ address: 3120 Penn Avenue, Pittsburgh
10
+ registrationUrl: https://riverbendneighbors.example/build-day
11
+ price: Free · tools provided
12
+ image: https://images.unsplash.com/photo-1570129477492-45c003edd2be?w=1600&q=80
13
+ imageAlt: A white house with a porch on a sunny day
14
+ excerpt: "Four crews, four houses: ramps, railings and spring roof repairs."
15
+ ---
16
+
17
+ Skilled and unskilled volunteers both welcome. Closed-toe shoes required; lunch provided.
@@ -0,0 +1,17 @@
1
+ ---
2
+ status: published
3
+ title: Spring community supper
4
+ start: 2027-04-24T17:30:00-04:00
5
+ end: 2027-04-24T20:00:00-04:00
6
+ timezone: America/New_York
7
+ location:
8
+ name: St. Augustine's Hall
9
+ address: 220 37th Street, Pittsburgh
10
+ registrationUrl: https://riverbendneighbors.example/supper
11
+ price: Pay what you can
12
+ image: https://images.unsplash.com/photo-1528605248644-14dd04022da1?w=1600&q=80
13
+ imageAlt: Friends talking over a long shared table
14
+ excerpt: Our yearly supper for volunteers, neighbors and donors, cooked by Homework Harbor families.
15
+ ---
16
+
17
+ Proceeds support the summer lunch program. Children eat free.
@@ -0,0 +1,16 @@
1
+ ---
2
+ status: published
3
+ title: Winter coat giveaway
4
+ start: 2026-12-19T10:00:00-05:00
5
+ end: 2026-12-19T14:00:00-05:00
6
+ timezone: America/New_York
7
+ location:
8
+ name: St. Augustine's Hall
9
+ address: 220 37th Street, Pittsburgh
10
+ price: Free
11
+ image: https://images.unsplash.com/photo-1529156069898-49953e39b3ac?w=1600&q=80
12
+ imageAlt: Neighbors gathered together outdoors
13
+ excerpt: Warm coats, hats and gloves for every age, plus hot soup and a toy table.
14
+ ---
15
+
16
+ Everyone is welcome. Bring the kids so we can find the right sizes.
@@ -0,0 +1,17 @@
1
+ ---
2
+ status: published
3
+ title: Back to school at Homework Harbor
4
+ date: 2026-08-28
5
+ author: Ana Ruiz-Patel
6
+ categories:
7
+ - stories
8
+ tags:
9
+ - youth
10
+ image: https://images.unsplash.com/photo-1488521787991-ed7bbaae773c?w=1600&q=80
11
+ imageAlt: Children smiling and making peace signs
12
+ excerpt: Eighty backpacks, twenty new tutors and a very loud first afternoon.
13
+ ---
14
+
15
+ We opened the doors on Monday to 80 students, 20 new volunteer tutors and a mountain of donated backpacks.
16
+
17
+ This year we're adding a reading corner for the younger kids and a Thursday coding club run by students from the university. Thank you to everyone who filled a backpack.
@@ -0,0 +1,21 @@
1
+ ---
2
+ status: published
3
+ title: Meet the Saturday repair crew
4
+ date: 2026-09-15
5
+ author: Sam Whitfield
6
+ categories:
7
+ - stories
8
+ tags:
9
+ - safe at home
10
+ - volunteers
11
+ image: https://images.unsplash.com/photo-1570129477492-45c003edd2be?w=1600&q=80
12
+ imageAlt: A house with a freshly repaired porch
13
+ excerpt: Retired electricians, a roofer and two engineering students walk into a basement.
14
+ ---
15
+
16
+ Our Safe at Home crew is twelve volunteers who give one Saturday a month. Between them they have more than 200 years in the trades.
17
+
18
+ > "I spent forty years fixing other people's furnaces for money. Now I do it for my neighbors."
19
+ > — Walt, retired HVAC technician
20
+
21
+ The crew finished its 146th home this year. If you know your way around a toolbox, we'd love to meet you.
@@ -0,0 +1,25 @@
1
+ ---
2
+ status: published
3
+ title: Our 2025 annual report
4
+ date: 2026-10-08
5
+ author: Simone Achterberg
6
+ categories:
7
+ - reports
8
+ tags:
9
+ - accountability
10
+ image: https://images.unsplash.com/photo-1542744173-8e7e53415bb0?w=1600&q=80
11
+ imageAlt: The board listening to a presentation
12
+ excerpt: 41,200 grocery visits, 146 homes made safe and what we're changing next year.
13
+ ---
14
+
15
+ Every autumn we publish our numbers in full, along with what we learned.
16
+
17
+ ## The year in brief
18
+
19
+ - **41,200** grocery visits at the Penn Avenue Pantry, up 18%
20
+ - **146** homes made safe by the repair crew
21
+ - **80** students enrolled at Homework Harbor, with average attendance of 4 days a week
22
+
23
+ ## What we're changing
24
+
25
+ Lines at the pantry got long on Saturday mornings, so from January we're adding a Thursday evening session for working families. Thank you to every donor and volunteer who made this year possible.