@omniharmonic/openspace-cli 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -9
- package/dist/{agents-md-7DESZGEN.js → agents-md-PVK5NBFF.js} +3 -2
- package/dist/bin.js +4 -2
- package/dist/bin.js.map +1 -1
- package/dist/chunk-26AZCID5.js +44 -0
- package/dist/chunk-26AZCID5.js.map +1 -0
- package/dist/{chunk-TQZ5F7VG.js → chunk-RG7S2MUH.js} +13857 -22780
- package/dist/chunk-RG7S2MUH.js.map +1 -0
- package/dist/{chunk-AAMRGTSI.js → chunk-UQXJVMUV.js} +9116 -855
- package/dist/chunk-UQXJVMUV.js.map +1 -0
- package/dist/chunk-WE4QCL3R.js +12836 -0
- package/dist/chunk-WE4QCL3R.js.map +1 -0
- package/dist/crawl-5ZZ5W7B6.js +9 -0
- package/dist/crawl-5ZZ5W7B6.js.map +1 -0
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/starter/site/AGENTS.md +13 -6
- package/dist/templates/atelier/content/pages/about.json +1 -1
- package/dist/templates/atelier/content/pages/commissions.json +1 -1
- package/dist/templates/atelier/content/pages/contact.json +1 -1
- package/dist/templates/atelier/content/pages/home.json +1 -1
- package/dist/templates/atelier/content/pages/work.json +1 -1
- package/dist/templates/atelier/content/site.json +1 -1
- package/dist/templates/atelier/content/styles.json +1 -1
- package/dist/templates/atelier/openspace.json +2 -2
- package/dist/templates/atelier/template.json +1 -1
- package/dist/templates/beacon/content/collections/events/_collection.json +13 -0
- package/dist/templates/beacon/content/collections/events/keeper-training-november.mdoc +14 -0
- package/dist/templates/beacon/content/collections/events/planting-day-harbour-ward.mdoc +14 -0
- package/dist/templates/beacon/content/collections/events/planting-day-linden-north.mdoc +14 -0
- package/dist/templates/beacon/content/collections/news/2026-09-12-heat-map-2026.mdoc +13 -0
- package/dist/templates/beacon/content/collections/news/2026-09-30-school-gardens-harvest.mdoc +13 -0
- package/dist/templates/beacon/content/collections/news/2026-10-14-planting-season-begins.mdoc +13 -0
- package/dist/templates/beacon/content/collections/news/_collection.json +16 -0
- package/dist/templates/beacon/content/pages/about.json +572 -0
- package/dist/templates/beacon/content/pages/contact.json +260 -0
- package/dist/templates/beacon/content/pages/donate.json +406 -0
- package/dist/templates/beacon/content/pages/get-involved.json +412 -0
- package/dist/templates/beacon/content/pages/home.json +701 -0
- package/dist/templates/beacon/content/pages/our-work.json +855 -0
- package/dist/templates/beacon/content/site.json +363 -0
- package/dist/templates/beacon/content/styles.json +17 -0
- package/dist/templates/beacon/media/LICENSES.json +163 -0
- package/dist/templates/beacon/openspace.json +21 -0
- package/dist/templates/beacon/template.json +113 -0
- package/dist/templates/commons/content/pages/about.json +1 -1
- package/dist/templates/commons/content/pages/{members.json → directory.json} +16 -16
- package/dist/templates/commons/content/pages/home.json +2 -2
- package/dist/templates/commons/content/pages/join.json +1 -1
- package/dist/templates/commons/content/site.json +3 -3
- package/dist/templates/commons/content/styles.json +1 -1
- package/dist/templates/commons/openspace.json +2 -2
- package/dist/templates/commons/template.json +3 -3
- package/dist/templates/darkroom/content/collections/work/_collection.json +13 -0
- package/dist/templates/darkroom/content/collections/work/after-hours.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/dry-season.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/faces-of-the-guild.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/two-weddings.mdoc +28 -0
- package/dist/templates/darkroom/content/collections/work/white-lines.mdoc +28 -0
- package/dist/templates/darkroom/content/pages/about.json +449 -0
- package/dist/templates/darkroom/content/pages/contact.json +185 -0
- package/dist/templates/darkroom/content/pages/home.json +636 -0
- package/dist/templates/darkroom/content/pages/services.json +636 -0
- package/dist/templates/darkroom/content/site.json +264 -0
- package/dist/templates/darkroom/content/styles.json +17 -0
- package/dist/templates/darkroom/media/LICENSES.json +284 -0
- package/dist/templates/darkroom/openspace.json +21 -0
- package/dist/templates/darkroom/template.json +103 -0
- package/dist/templates/encore/content/pages/about.json +1 -1
- package/dist/templates/encore/content/pages/contact.json +1 -1
- package/dist/templates/encore/content/pages/home.json +87 -1
- package/dist/templates/encore/content/pages/music.json +1 -1
- package/dist/templates/encore/content/site.json +1 -1
- package/dist/templates/encore/content/styles.json +1 -1
- package/dist/templates/encore/media/LICENSES.json +22 -0
- package/dist/templates/encore/openspace.json +2 -2
- package/dist/templates/encore/template.json +1 -1
- package/dist/templates/field-notes/content/pages/about.json +1 -1
- package/dist/templates/field-notes/content/pages/contact.json +1 -1
- package/dist/templates/field-notes/content/pages/home.json +95 -1
- package/dist/templates/field-notes/content/pages/subscribe.json +1 -1
- package/dist/templates/field-notes/content/site.json +1 -1
- package/dist/templates/field-notes/content/styles.json +1 -1
- package/dist/templates/field-notes/openspace.json +2 -2
- package/dist/templates/field-notes/template.json +1 -1
- package/dist/templates/fixwell/content/pages/about.json +508 -0
- package/dist/templates/fixwell/content/pages/contact.json +321 -0
- package/dist/templates/fixwell/content/pages/home.json +888 -0
- package/dist/templates/fixwell/content/pages/pricing.json +467 -0
- package/dist/templates/fixwell/content/pages/services.json +648 -0
- package/dist/templates/fixwell/content/site.json +293 -0
- package/dist/templates/fixwell/content/styles.json +17 -0
- package/dist/templates/fixwell/media/LICENSES.json +119 -0
- package/dist/templates/fixwell/openspace.json +21 -0
- package/dist/templates/fixwell/template.json +108 -0
- package/dist/templates/folio/content/collections/projects/_collection.json +13 -0
- package/dist/templates/folio/content/collections/projects/field-notes-app.mdoc +28 -0
- package/dist/templates/folio/content/collections/projects/harbour-health-dashboards.mdoc +28 -0
- package/dist/templates/folio/content/collections/projects/open-budget.mdoc +28 -0
- package/dist/templates/folio/content/collections/projects/transit-times.mdoc +28 -0
- package/dist/templates/folio/content/collections/writing/2026-08-30-designing-for-night-shifts.mdoc +9 -0
- package/dist/templates/folio/content/collections/writing/2026-09-20-testing-with-real-data.mdoc +9 -0
- package/dist/templates/folio/content/collections/writing/2026-10-12-one-honest-number.mdoc +9 -0
- package/dist/templates/folio/content/collections/writing/_collection.json +16 -0
- package/dist/templates/folio/content/pages/about.json +366 -0
- package/dist/templates/folio/content/pages/contact.json +218 -0
- package/dist/templates/folio/content/pages/experience.json +552 -0
- package/dist/templates/folio/content/pages/home.json +410 -0
- package/dist/templates/folio/content/site.json +186 -0
- package/dist/templates/folio/content/styles.json +17 -0
- package/dist/templates/folio/media/LICENSES.json +229 -0
- package/dist/templates/folio/openspace.json +21 -0
- package/dist/templates/folio/template.json +103 -0
- package/dist/templates/gather/content/collections/fringe/_collection.json +13 -0
- package/dist/templates/gather/content/collections/fringe/library-open-studio.mdoc +14 -0
- package/dist/templates/gather/content/collections/fringe/morning-run.mdoc +14 -0
- package/dist/templates/gather/content/collections/fringe/plain-language-pub-quiz.mdoc +14 -0
- package/dist/templates/gather/content/pages/about.json +435 -0
- package/dist/templates/gather/content/pages/contact.json +196 -0
- package/dist/templates/gather/content/pages/home.json +527 -0
- package/dist/templates/gather/content/pages/programme.json +449 -0
- package/dist/templates/gather/content/pages/speakers.json +225 -0
- package/dist/templates/gather/content/pages/tickets.json +495 -0
- package/dist/templates/gather/content/pages/venue.json +382 -0
- package/dist/templates/gather/content/site.json +222 -0
- package/dist/templates/gather/content/styles.json +17 -0
- package/dist/templates/gather/media/LICENSES.json +185 -0
- package/dist/templates/gather/openspace.json +21 -0
- package/dist/templates/gather/template.json +118 -0
- package/dist/templates/harbor/content/pages/about.json +1 -1
- package/dist/templates/harbor/content/pages/contact.json +1 -1
- package/dist/templates/harbor/content/pages/get-involved.json +1 -1
- package/dist/templates/harbor/content/pages/home.json +1 -1
- package/dist/templates/harbor/content/pages/programs.json +1 -1
- package/dist/templates/harbor/content/site.json +1 -1
- package/dist/templates/harbor/content/styles.json +1 -1
- package/dist/templates/harbor/openspace.json +2 -2
- package/dist/templates/harbor/template.json +1 -1
- package/dist/templates/hearth/content/pages/about.json +1 -1
- package/dist/templates/hearth/content/pages/home.json +1 -1
- package/dist/templates/hearth/content/pages/menu.json +1 -1
- package/dist/templates/hearth/content/pages/private-dining.json +1 -1
- package/dist/templates/hearth/content/pages/visit.json +1 -1
- package/dist/templates/hearth/content/site.json +1 -1
- package/dist/templates/hearth/content/styles.json +1 -1
- package/dist/templates/hearth/openspace.json +2 -2
- package/dist/templates/hearth/template.json +1 -1
- package/dist/templates/inkwell/content/collections/essays/2026-09-17-notebooks.mdoc +13 -0
- package/dist/templates/inkwell/content/collections/essays/2026-10-01-kitchen-radio.mdoc +13 -0
- package/dist/templates/inkwell/content/collections/essays/2026-10-15-the-same-mile.mdoc +13 -0
- package/dist/templates/inkwell/content/collections/essays/_collection.json +21 -0
- package/dist/templates/inkwell/content/pages/about.json +281 -0
- package/dist/templates/inkwell/content/pages/books.json +459 -0
- package/dist/templates/inkwell/content/pages/contact.json +201 -0
- package/dist/templates/inkwell/content/pages/home.json +457 -0
- package/dist/templates/inkwell/content/pages/speaking.json +522 -0
- package/dist/templates/inkwell/content/site.json +222 -0
- package/dist/templates/inkwell/content/styles.json +17 -0
- package/dist/templates/inkwell/media/LICENSES.json +119 -0
- package/dist/templates/inkwell/openspace.json +21 -0
- package/dist/templates/inkwell/template.json +108 -0
- package/dist/templates/keystone/content/collections/notes/2026-09-17-hard-conversations.mdoc +11 -0
- package/dist/templates/keystone/content/collections/notes/2026-10-01-weekly-rhythm.mdoc +11 -0
- package/dist/templates/keystone/content/collections/notes/2026-10-15-the-first-manager.mdoc +11 -0
- package/dist/templates/keystone/content/collections/notes/_collection.json +21 -0
- package/dist/templates/keystone/content/pages/about.json +371 -0
- package/dist/templates/keystone/content/pages/contact.json +207 -0
- package/dist/templates/keystone/content/pages/home.json +815 -0
- package/dist/templates/keystone/content/pages/results.json +396 -0
- package/dist/templates/keystone/content/pages/work-with-me.json +477 -0
- package/dist/templates/keystone/content/site.json +224 -0
- package/dist/templates/keystone/content/styles.json +17 -0
- package/dist/templates/keystone/media/LICENSES.json +75 -0
- package/dist/templates/keystone/openspace.json +21 -0
- package/dist/templates/keystone/template.json +108 -0
- package/dist/templates/kiln/content/pages/about.json +1 -1
- package/dist/templates/kiln/content/pages/contact.json +1 -1
- package/dist/templates/kiln/content/pages/home.json +1 -1
- package/dist/templates/kiln/content/pages/workshops.json +1 -1
- package/dist/templates/kiln/content/site.json +1 -1
- package/dist/templates/kiln/content/styles.json +1 -1
- package/dist/templates/kiln/openspace.json +2 -2
- package/dist/templates/kiln/template.json +1 -1
- package/dist/templates/ledger/content/pages/about.json +1 -1
- package/dist/templates/ledger/content/pages/contact.json +1 -1
- package/dist/templates/ledger/content/pages/home.json +63 -1
- package/dist/templates/ledger/content/pages/services.json +1 -1
- package/dist/templates/ledger/content/site.json +1 -1
- package/dist/templates/ledger/content/styles.json +1 -1
- package/dist/templates/ledger/openspace.json +2 -2
- package/dist/templates/ledger/template.json +1 -1
- package/dist/templates/link/content/pages/home.json +1 -1
- package/dist/templates/link/content/site.json +1 -1
- package/dist/templates/link/content/styles.json +1 -1
- package/dist/templates/link/openspace.json +2 -2
- package/dist/templates/link/template.json +1 -1
- package/dist/templates/meadow/content/pages/about.json +1 -1
- package/dist/templates/meadow/content/pages/bodywork.json +1 -1
- package/dist/templates/meadow/content/pages/classes.json +1 -1
- package/dist/templates/meadow/content/pages/contact.json +1 -1
- package/dist/templates/meadow/content/pages/home.json +1 -1
- package/dist/templates/meadow/content/site.json +1 -1
- package/dist/templates/meadow/content/styles.json +1 -1
- package/dist/templates/meadow/openspace.json +2 -2
- package/dist/templates/meadow/template.json +1 -1
- package/dist/templates/orbit/content/collections/changelog/2026-09-21-faster-attachments.mdoc +11 -0
- package/dist/templates/orbit/content/collections/changelog/2026-10-05-snooze-until-reply.mdoc +11 -0
- package/dist/templates/orbit/content/collections/changelog/2026-10-19-help-centre-search.mdoc +13 -0
- package/dist/templates/orbit/content/collections/changelog/_collection.json +39 -0
- package/dist/templates/orbit/content/pages/about.json +396 -0
- package/dist/templates/orbit/content/pages/contact.json +195 -0
- package/dist/templates/orbit/content/pages/features.json +603 -0
- package/dist/templates/orbit/content/pages/home.json +1273 -0
- package/dist/templates/orbit/content/pages/pricing.json +608 -0
- package/dist/templates/orbit/content/site.json +368 -0
- package/dist/templates/orbit/content/styles.json +17 -0
- package/dist/templates/orbit/media/LICENSES.json +141 -0
- package/dist/templates/orbit/openspace.json +21 -0
- package/dist/templates/orbit/template.json +108 -0
- package/dist/templates/signal/content/pages/about.json +1 -1
- package/dist/templates/signal/content/pages/contact.json +1 -1
- package/dist/templates/signal/content/pages/home.json +1 -1
- package/dist/templates/signal/content/pages/pricing.json +1 -1
- package/dist/templates/signal/content/site.json +1 -1
- package/dist/templates/signal/content/styles.json +1 -1
- package/dist/templates/signal/openspace.json +2 -2
- package/dist/templates/signal/template.json +1 -1
- package/dist/templates/vow/content/pages/about.json +1 -1
- package/dist/templates/vow/content/pages/home.json +1 -1
- package/dist/templates/vow/content/pages/registry.json +1 -1
- package/dist/templates/vow/content/pages/rsvp.json +1 -1
- package/dist/templates/vow/content/pages/schedule.json +1 -1
- package/dist/templates/vow/content/pages/travel.json +1 -1
- package/dist/templates/vow/content/site.json +1 -1
- package/dist/templates/vow/content/styles.json +1 -1
- package/dist/templates/vow/openspace.json +2 -2
- package/dist/templates/vow/template.json +1 -1
- package/package.json +7 -7
- package/dist/chunk-AAMRGTSI.js.map +0 -1
- package/dist/chunk-TQZ5F7VG.js.map +0 -1
- /package/dist/{agents-md-7DESZGEN.js.map → agents-md-PVK5NBFF.js.map} +0 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createRequire as __osCreateRequire } from "node:module"; const require = __osCreateRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
crawlGeneric
|
|
4
|
+
} from "./chunk-WE4QCL3R.js";
|
|
5
|
+
import "./chunk-26AZCID5.js";
|
|
6
|
+
export {
|
|
7
|
+
crawlGeneric
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=crawl-5ZZ5W7B6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -6,8 +6,10 @@ import {
|
|
|
6
6
|
formatReport,
|
|
7
7
|
run,
|
|
8
8
|
runCheck
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-RG7S2MUH.js";
|
|
10
|
+
import "./chunk-WE4QCL3R.js";
|
|
11
|
+
import "./chunk-UQXJVMUV.js";
|
|
12
|
+
import "./chunk-26AZCID5.js";
|
|
11
13
|
|
|
12
14
|
// src/index.ts
|
|
13
15
|
var name = "@omniharmonic/openspace-cli";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export const name = \"@omniharmonic/openspace-cli\";\n\nexport {\n type Budgets,\n type CheckOptions,\n type CheckReport,\n DEFAULT_BUDGETS,\n type Finding,\n formatReport,\n runCheck,\n} from \"./check\";\nexport { createProgram, run, VERSION } from \"./program\";\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["export const name = \"@omniharmonic/openspace-cli\";\n\nexport {\n type Budgets,\n type CheckOptions,\n type CheckReport,\n DEFAULT_BUDGETS,\n type Finding,\n formatReport,\n runCheck,\n} from \"./check\";\nexport { createProgram, run, VERSION } from \"./program\";\n"],"mappings":";;;;;;;;;;;;;;AAAO,IAAM,OAAO;","names":[]}
|
|
@@ -13,7 +13,7 @@ changes land on `main` (`.github/workflows/publish.yml`).
|
|
|
13
13
|
and form (`frm_`) has a stable id. Keep ids when editing; new ids are the prefix plus 10
|
|
14
14
|
lowercase Crockford base32 characters (no i, l, o, u).
|
|
15
15
|
3. **Only valid block types and fields** (listed below; full JSON Schema at
|
|
16
|
-
https://schema.openspace.
|
|
16
|
+
https://schema.openspace.host/v1/). Unknown fields fail the build.
|
|
17
17
|
4. **Styles change through tokens** in `content/styles.json` (palette, type pairing, density,
|
|
18
18
|
shape…), never inline CSS. Sections pick one of five color themes.
|
|
19
19
|
5. **Never put secrets in content** (API keys, tokens, passwords). `openspace check` fails on them.
|
|
@@ -28,7 +28,7 @@ changes land on `main` (`.github/workflows/publish.yml`).
|
|
|
28
28
|
## Layout
|
|
29
29
|
|
|
30
30
|
```
|
|
31
|
-
openspace.json site id, Hub URL, deploy target, features (https://schema.openspace.
|
|
31
|
+
openspace.json site id, Hub URL, deploy target, features (https://schema.openspace.host/v1/site-config.json)
|
|
32
32
|
content/site.json title, navigation, header, footer, SEO defaults, redirects
|
|
33
33
|
content/styles.json design tokens and Site Styles choices
|
|
34
34
|
content/media.json metadata for files in media/ (alt text, size, focal point, credit)
|
|
@@ -109,7 +109,7 @@ A clear call to action linking to a page, booking tool, email or file. Use: Once
|
|
|
109
109
|
One self-contained item — a service, offer, event or article teaser — with an optional link. Use: Place 2–4 cards side by side in stack columns for services or offers. `overlay` sets text on the photo; `horizontal` suits wide columns. Avoid: Long body text (keep under ~40 words); different aspect ratios across cards in a row.
|
|
110
110
|
|
|
111
111
|
- Variants: `stacked`, `horizontal`, `overlay`, `minimal`
|
|
112
|
-
- Fields: `image?: image { src, alt }`, `aspect: "original" | "1:1" | "4:5" | "2:3" | "3:2" | "16:9" | "21:9"`, `icon?: "check" | "star" | "heart" | "leaf" | "sprout" | "flower" | "sun" | "moon" | "sparkles" | "mountain" | "waves" | "map-pin" | "phone" | "mail" | "message-circle" | "clock" | "calendar" | "coffee" | "utensils" | "music" | "camera" | "palette" | "brush" | "book-open" | "graduation-cap" | "user" | "users" | "heart-handshake" | "home" | "shield-check" | "lock" | "award" | "target" | "lightbulb" | "zap" | "rocket" | "gift" | "shopping-bag" | "package" | "truck" | "recycle" | "globe" | "wifi" | "car" | "bike" | "dumbbell" | "accessibility" | "baby" | "dog" | "paw-print" | "scissors" | "wrench" | "arrow-right"`, `eyebrow?: text ≤ 40`, `heading: text ≤ 90`, `body: richText`, `link?: link`, `linkLabel?: text ≤ 30`
|
|
112
|
+
- Fields: `image?: image { src, alt }`, `aspect: "original" | "1:1" | "4:5" | "2:3" | "3:2" | "16:9" | "21:9"`, `icon?: "check" | "star" | "heart" | "leaf" | "sprout" | "flower" | "sun" | "moon" | "sparkles" | "mountain" | "waves" | "map-pin" | "phone" | "mail" | "message-circle" | "clock" | "calendar" | "coffee" | "utensils" | "music" | "camera" | "palette" | "brush" | "book-open" | "graduation-cap" | "user" | "users" | "heart-handshake" | "home" | "shield-check" | "lock" | "award" | "target" | "lightbulb" | "zap" | "rocket" | "gift" | "shopping-bag" | "package" | "truck" | "recycle" | "globe" | "wifi" | "car" | "bike" | "dumbbell" | "accessibility" | "baby" | "dog" | "paw-print" | "scissors" | "wrench" | "arrow-right" | "minus" | "x" | "trending-up" | "layers" | "code" | "plug" | "headphones" | "briefcase" | "droplet" | "hammer" | "flame" | "ticket" | "mic" | "pen-tool" | "feather" | "chart-bar" | "timer" | "hand-heart" | "plane" | "bed" | "building" | "ruler" | "search" | "smartphone" | "cloud" | "repeat" | "percent" | "handshake" | "stethoscope" | "gauge" | "workflow" | "puzzle" | "wine" | "cake" | "tent" | "eye" | "image" | "file-text" | "video" | "key-round"`, `eyebrow?: text ≤ 40`, `heading: text ≤ 90`, `body: richText`, `link?: link`, `linkLabel?: text ≤ 30`
|
|
113
113
|
|
|
114
114
|
### `chart` — Chart
|
|
115
115
|
|
|
@@ -200,7 +200,7 @@ When a place is open, day by day. Use: Contact, visit and footer areas of shops,
|
|
|
200
200
|
A scannable list of features, amenities, benefits or what's included. Use: Services and pricing pages, 'what to expect' sections. 3–8 items. Avoid: Using icons that don't match the meaning; paragraphs instead of one-line points.
|
|
201
201
|
|
|
202
202
|
- Variants: `list`, `tiles`, `checklist`
|
|
203
|
-
- Fields: `items: list of { icon: "check" | "star" | "heart" | "leaf" | "sprout" | "flower" | "sun" | "moon" | "sparkles" | "mountain" | "waves" | "map-pin" | "phone" | "mail" | "message-circle" | "clock" | "calendar" | "coffee" | "utensils" | "music" | "camera" | "palette" | "brush" | "book-open" | "graduation-cap" | "user" | "users" | "heart-handshake" | "home" | "shield-check" | "lock" | "award" | "target" | "lightbulb" | "zap" | "rocket" | "gift" | "shopping-bag" | "package" | "truck" | "recycle" | "globe" | "wifi" | "car" | "bike" | "dumbbell" | "accessibility" | "baby" | "dog" | "paw-print" | "scissors" | "wrench" | "arrow-right", title: text ≤ 60, text?: text ≤ 200 }`, `columns: "1" | "2" | "3" | "4"`
|
|
203
|
+
- Fields: `items: list of { icon: "check" | "star" | "heart" | "leaf" | "sprout" | "flower" | "sun" | "moon" | "sparkles" | "mountain" | "waves" | "map-pin" | "phone" | "mail" | "message-circle" | "clock" | "calendar" | "coffee" | "utensils" | "music" | "camera" | "palette" | "brush" | "book-open" | "graduation-cap" | "user" | "users" | "heart-handshake" | "home" | "shield-check" | "lock" | "award" | "target" | "lightbulb" | "zap" | "rocket" | "gift" | "shopping-bag" | "package" | "truck" | "recycle" | "globe" | "wifi" | "car" | "bike" | "dumbbell" | "accessibility" | "baby" | "dog" | "paw-print" | "scissors" | "wrench" | "arrow-right" | "minus" | "x" | "trending-up" | "layers" | "code" | "plug" | "headphones" | "briefcase" | "droplet" | "hammer" | "flame" | "ticket" | "mic" | "pen-tool" | "feather" | "chart-bar" | "timer" | "hand-heart" | "plane" | "bed" | "building" | "ruler" | "search" | "smartphone" | "cloud" | "repeat" | "percent" | "handshake" | "stethoscope" | "gauge" | "workflow" | "puzzle" | "wine" | "cake" | "tent" | "eye" | "image" | "file-text" | "video" | "key-round", title: text ≤ 60, text?: text ≤ 200 }`, `columns: "1" | "2" | "3" | "4"`
|
|
204
204
|
|
|
205
205
|
### `image` — Image
|
|
206
206
|
|
|
@@ -221,7 +221,7 @@ A visual divider between pieces of content. Use: To separate groups inside a sec
|
|
|
221
221
|
A link-in-bio list: a few large, tappable links under a photo and one-line bio. Use: On a dedicated links page shared from social profiles, or a compact 'start here' list. Put the most important link first and highlight at most one. Avoid: More than ~8 links; vague labels like 'Click here'; duplicating the main navigation.
|
|
222
222
|
|
|
223
223
|
- Variants: `stacked`, `outline`, `cards`
|
|
224
|
-
- Fields: `photo?: image { src, alt }`, `name?: text ≤ 60`, `bio?: text ≤ 200`, `links: list of { label: text ≤ 60, link: link, icon?: "check" | "star" | "heart" | "leaf" | "sprout" | "flower" | "sun" | "moon" | "sparkles" | "mountain" | "waves" | "map-pin" | "phone" | "mail" | "message-circle" | "clock" | "calendar" | "coffee" | "utensils" | "music" | "camera" | "palette" | "brush" | "book-open" | "graduation-cap" | "user" | "users" | "heart-handshake" | "home" | "shield-check" | "lock" | "award" | "target" | "lightbulb" | "zap" | "rocket" | "gift" | "shopping-bag" | "package" | "truck" | "recycle" | "globe" | "wifi" | "car" | "bike" | "dumbbell" | "accessibility" | "baby" | "dog" | "paw-print" | "scissors" | "wrench" | "arrow-right", highlight: boolean }`, `showSocial: boolean`
|
|
224
|
+
- Fields: `photo?: image { src, alt }`, `name?: text ≤ 60`, `bio?: text ≤ 200`, `links: list of { label: text ≤ 60, link: link, icon?: "check" | "star" | "heart" | "leaf" | "sprout" | "flower" | "sun" | "moon" | "sparkles" | "mountain" | "waves" | "map-pin" | "phone" | "mail" | "message-circle" | "clock" | "calendar" | "coffee" | "utensils" | "music" | "camera" | "palette" | "brush" | "book-open" | "graduation-cap" | "user" | "users" | "heart-handshake" | "home" | "shield-check" | "lock" | "award" | "target" | "lightbulb" | "zap" | "rocket" | "gift" | "shopping-bag" | "package" | "truck" | "recycle" | "globe" | "wifi" | "car" | "bike" | "dumbbell" | "accessibility" | "baby" | "dog" | "paw-print" | "scissors" | "wrench" | "arrow-right" | "minus" | "x" | "trending-up" | "layers" | "code" | "plug" | "headphones" | "briefcase" | "droplet" | "hammer" | "flame" | "ticket" | "mic" | "pen-tool" | "feather" | "chart-bar" | "timer" | "hand-heart" | "plane" | "bed" | "building" | "ruler" | "search" | "smartphone" | "cloud" | "repeat" | "percent" | "handshake" | "stethoscope" | "gauge" | "workflow" | "puzzle" | "wine" | "cake" | "tent" | "eye" | "image" | "file-text" | "video" | "key-round", highlight: boolean }`, `showSocial: boolean`
|
|
225
225
|
|
|
226
226
|
### `logo-strip` — Logo strip
|
|
227
227
|
|
|
@@ -263,7 +263,7 @@ Collects email subscribers (double opt-in) for the owner's newsletter. Use: Foot
|
|
|
263
263
|
Compares plans, packages or tiers with prices and what each includes. Use: Pricing, membership and service-package pages. 2–4 plans; mark at most one as featured. Keep inclusions parallel across plans. Avoid: Prices the owner hasn't confirmed; hidden fees; more than ~6 inclusions per plan; using it for a single product (use the product block).
|
|
264
264
|
|
|
265
265
|
- Variants: `cards`, `columns`, `compact`
|
|
266
|
-
- Fields: `plans: list of { name: text ≤ 60, price: text ≤ 24, period?: text ≤ 30, description?: text ≤ 200, features: list of { text: text ≤ 120 }, buttonLabel?: text ≤ 30, link?: link, featured: boolean, badge?: text ≤ 24 }`, `note?: text ≤ 200`
|
|
266
|
+
- Fields: `plans: list of { name: text ≤ 60, price: text ≤ 24, period?: text ≤ 30, description?: text ≤ 200, features: list of { text: text ≤ 120 }, buttonLabel?: text ≤ 30, link?: link, featured: boolean, badge?: text ≤ 24, altPrice?: text ≤ 24, altPeriod?: text ≤ 30 }`, `note?: text ≤ 200`, `periodLabel?: text ≤ 20`, `altPeriodLabel?: text ≤ 20`, `altNote?: text ≤ 24`
|
|
267
267
|
|
|
268
268
|
### `product` — Product
|
|
269
269
|
|
|
@@ -349,6 +349,13 @@ Lists items from a collection (blog posts, events, projects, episodes, products)
|
|
|
349
349
|
- Variants: `grid`, `list`, `carousel`, `wall`
|
|
350
350
|
- Fields: `heading?: text ≤ 80`, `headingLevel: "h2" | "h3" | "h4"`, `source: reference`, `columns: "2" | "3" | "4"`, `showImage: boolean`, `showDate: boolean`, `showExcerpt: boolean`, `showMeta: boolean`, `linkLabel?: text ≤ 30`, `link?: link`, `emptyMessage: text ≤ 160`
|
|
351
351
|
|
|
352
|
+
### `table` — Comparison table
|
|
353
|
+
|
|
354
|
+
Compares plans, packages, products or options feature by feature in a real, accessible table. Use: Under a pricing section (full plan comparison), for specs, or 'us vs. the usual way'. 2–4 columns and 4–12 rows read best; use 'yes'/'no' for checks and dashes, group rows to break long lists. Avoid: Layout tables; more than five columns (phones scroll sideways); claims about competitors the owner can't back up; comparisons with named rival brands.
|
|
355
|
+
|
|
356
|
+
- Variants: `lines`, `striped`, `boxed`
|
|
357
|
+
- Fields: `caption?: text ≤ 120`, `corner?: text ≤ 40`, `columns: list of { label: text ≤ 40, detail?: text ≤ 40, highlight: boolean }`, `rows: list of { label: text ≤ 80, group: boolean, cells: list of { value: text ≤ 60 } }`, `note?: text ≤ 200`
|
|
358
|
+
|
|
352
359
|
### `tabs` — Tabs
|
|
353
360
|
|
|
354
361
|
Parallel pieces of content shown one at a time, switched by tabs. Use: Comparable options (class styles, service tiers, menus by meal) where visitors want one at a time. 2–5 tabs with short labels. Avoid: Content everyone needs to read (tabs hide it); long labels; sequences (use a timeline) or FAQs (use an accordion).
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/site-config.json",
|
|
3
3
|
"siteId": "st_840xf2yefq",
|
|
4
4
|
"schemaVersion": 1,
|
|
5
5
|
"template": {
|
|
6
6
|
"id": "atelier",
|
|
7
7
|
"version": "1.0.0"
|
|
8
8
|
},
|
|
9
|
-
"hub": "https://hub.openspace.
|
|
9
|
+
"hub": "https://hub.openspace.host",
|
|
10
10
|
"deploy": {
|
|
11
11
|
"target": "github-pages",
|
|
12
12
|
"url": "https://example.github.io/atelier",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://schema.openspace.
|
|
2
|
+
"$schema": "https://schema.openspace.host/v1/template.json",
|
|
3
3
|
"id": "atelier",
|
|
4
4
|
"name": "Atelier",
|
|
5
5
|
"description": "A gallery-first portfolio for photographers and visual artists: a full-bleed slideshow, a project index and lightboxes, with chrome that stays out of the way.",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: Tree keeper training
|
|
4
|
+
start: 2026-11-14T10:00:00-05:00
|
|
5
|
+
end: 2026-11-14T11:00:00-05:00
|
|
6
|
+
timezone: America/New_York
|
|
7
|
+
location:
|
|
8
|
+
name: The tree yard
|
|
9
|
+
address: 41 Mill Street, Eastport, ME
|
|
10
|
+
price: Free
|
|
11
|
+
excerpt: One hour to learn watering, mulching and what a stressed tree looks like.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
Every keeper goes home with a watering bag, a mulch fork and a laminated care card.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: "Planting day: Harbour Ward"
|
|
4
|
+
start: 2026-11-07T09:00:00-05:00
|
|
5
|
+
end: 2026-11-07T13:00:00-05:00
|
|
6
|
+
timezone: America/New_York
|
|
7
|
+
location:
|
|
8
|
+
name: Harbour Primary School
|
|
9
|
+
address: 18 Water Street, Eastport, ME
|
|
10
|
+
price: Free
|
|
11
|
+
excerpt: Plant twenty-five trees along Water Street. Tools, gloves and breakfast provided.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
Meet at the school gates at 9am. We'll split into teams of five, each with an experienced leader.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: "Planting day: Linden North"
|
|
4
|
+
start: 2026-11-21T09:00:00-05:00
|
|
5
|
+
end: 2026-11-21T13:00:00-05:00
|
|
6
|
+
timezone: America/New_York
|
|
7
|
+
location:
|
|
8
|
+
name: Linden Avenue and 5th Street
|
|
9
|
+
address: Linden Avenue, Eastport, ME
|
|
10
|
+
price: Free
|
|
11
|
+
excerpt: Finish the avenue with thirty trees, then lunch in the church hall.
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
Bring a water bottle. Children over six are welcome with an adult.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: What this summer's heat map tells us
|
|
4
|
+
date: 2026-09-12
|
|
5
|
+
author: Grace Liu
|
|
6
|
+
excerpt: Blocks with five-year-old trees were up to 6°F cooler at street level on the hottest days.
|
|
7
|
+
image: https://images.unsplash.com/photo-1777150895644-2ca253ee1c93?w=1600&q=80
|
|
8
|
+
imageAlt: A young tree seedling held in two hands
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Volunteers measured street temperatures on twenty blocks during July's heatwave. Blocks with five-year-old trees were up to 6°F cooler than those without.
|
|
12
|
+
|
|
13
|
+
We'll use the map to choose next spring's planting sites.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: A record harvest in school gardens
|
|
4
|
+
date: 2026-09-30
|
|
5
|
+
author: Owen Price
|
|
6
|
+
excerpt: "Squash, beans and a lot of very proud children: the school gardens had their best year yet."
|
|
7
|
+
image: https://images.unsplash.com/photo-1631195414013-85b70ff2c180?w=1600&q=80
|
|
8
|
+
imageAlt: Raised beds full of flowers in a school garden
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Twelve school gardens grew enough squash, beans and herbs for a harvest lunch at every school this autumn.
|
|
12
|
+
|
|
13
|
+
Next term, three more schools join the programme.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
status: published
|
|
3
|
+
title: Planting season begins on Linden Avenue
|
|
4
|
+
date: 2026-10-14
|
|
5
|
+
author: Maya Chen
|
|
6
|
+
excerpt: Forty volunteers, thirty-two trees and one very muddy Saturday to open the season.
|
|
7
|
+
image: https://images.unsplash.com/photo-1544928938-6852c1925194?w=1600&q=80
|
|
8
|
+
imageAlt: Volunteers holding shovels at a planting day
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Our first planting day of the season brought forty volunteers to Linden Avenue, where thirty-two London planes and red maples went into the ground before lunch.
|
|
12
|
+
|
|
13
|
+
Thank you to everyone who came — and to Twin Oaks for the coffee.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"kind": "blog",
|
|
3
|
+
"label": "News",
|
|
4
|
+
"itemLabel": "Story",
|
|
5
|
+
"list": {
|
|
6
|
+
"layout": "grid",
|
|
7
|
+
"pageSize": 12,
|
|
8
|
+
"sort": "date-desc"
|
|
9
|
+
},
|
|
10
|
+
"itemPage": {
|
|
11
|
+
"layout": "article",
|
|
12
|
+
"showDate": true,
|
|
13
|
+
"showAuthor": true,
|
|
14
|
+
"showRelated": true
|
|
15
|
+
}
|
|
16
|
+
}
|