@omniharmonic/openspace-cli 0.1.3 → 0.1.4
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/dist/{agents-md-7DESZGEN.js → agents-md-3W4PIY4N.js} +2 -2
- package/dist/bin.js +2 -2
- package/dist/{chunk-TQZ5F7VG.js → chunk-6NIIOHOX.js} +91 -3
- package/dist/chunk-6NIIOHOX.js.map +1 -0
- package/dist/{chunk-AAMRGTSI.js → chunk-7I6IJI6Z.js} +9166 -874
- package/dist/chunk-7I6IJI6Z.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/starter/site/AGENTS.md +11 -4
- 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/{members.json → directory.json} +15 -15
- package/dist/templates/commons/content/pages/home.json +1 -1
- package/dist/templates/commons/content/site.json +2 -2
- package/dist/templates/commons/template.json +2 -2
- 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/home.json +86 -0
- package/dist/templates/encore/media/LICENSES.json +22 -0
- package/dist/templates/field-notes/content/pages/home.json +94 -0
- 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/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/ledger/content/pages/home.json +62 -0
- 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/package.json +6 -6
- 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-3W4PIY4N.js.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __osCreateRequire } from "node:module"; const require = __osCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
generateAgentsMd
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7I6IJI6Z.js";
|
|
5
5
|
export {
|
|
6
6
|
generateAgentsMd
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=agents-md-
|
|
8
|
+
//# sourceMappingURL=agents-md-3W4PIY4N.js.map
|
package/dist/bin.js
CHANGED
|
@@ -3,8 +3,8 @@ import { createRequire as __osCreateRequire } from "node:module"; const require
|
|
|
3
3
|
import {
|
|
4
4
|
processIo,
|
|
5
5
|
run
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-6NIIOHOX.js";
|
|
7
|
+
import "./chunk-7I6IJI6Z.js";
|
|
8
8
|
|
|
9
9
|
// src/bin.ts
|
|
10
10
|
process.exitCode = await run(process.argv.slice(2), processIo());
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
toHex,
|
|
80
80
|
toJsonSchema,
|
|
81
81
|
toMarkdown
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-7I6IJI6Z.js";
|
|
83
83
|
|
|
84
84
|
// ../../node_modules/.pnpm/yaml@2.9.1/node_modules/yaml/dist/nodes/identity.js
|
|
85
85
|
var require_identity = __commonJS({
|
|
@@ -8681,7 +8681,7 @@ async function renderAgentsMd(root, siteTitle) {
|
|
|
8681
8681
|
} catch {
|
|
8682
8682
|
}
|
|
8683
8683
|
}
|
|
8684
|
-
const { generateAgentsMd: generateAgentsMd2 } = await import("./agents-md-
|
|
8684
|
+
const { generateAgentsMd: generateAgentsMd2 } = await import("./agents-md-3W4PIY4N.js");
|
|
8685
8685
|
return generateAgentsMd2(title ? { siteTitle: title } : {});
|
|
8686
8686
|
}
|
|
8687
8687
|
async function writeAgentsMd(root, siteTitle) {
|
|
@@ -11979,6 +11979,63 @@ function summarize(ops, doc) {
|
|
|
11979
11979
|
return text3.charAt(0).toUpperCase() + text3.slice(1);
|
|
11980
11980
|
}
|
|
11981
11981
|
|
|
11982
|
+
// ../lint/src/hosting.ts
|
|
11983
|
+
function isGatedPage(page) {
|
|
11984
|
+
const slug = typeof page.slug === "string" ? page.slug : "";
|
|
11985
|
+
return Boolean(
|
|
11986
|
+
page.access?.members || page.access?.password || slug === "members" || slug.startsWith("members/")
|
|
11987
|
+
);
|
|
11988
|
+
}
|
|
11989
|
+
function onGitHubPages(doc) {
|
|
11990
|
+
return doc.config?.deploy?.target !== "cloudflare";
|
|
11991
|
+
}
|
|
11992
|
+
var CLOUDFLARE_BLOCKS = {
|
|
11993
|
+
donation: "Donations",
|
|
11994
|
+
product: "Buying products",
|
|
11995
|
+
"member-login": "Member sign-in"
|
|
11996
|
+
};
|
|
11997
|
+
var linkKey = (l) => `${l.scope.kind}:${"page" in l.scope ? l.scope.page : ""}:${"collection" in l.scope ? `${l.scope.collection}/${l.scope.slug}` : ""}:${l.container ?? ""}:${l.path.join(".")}`;
|
|
11998
|
+
function gatedPageLinks(doc) {
|
|
11999
|
+
if (!onGitHubPages(doc)) return [];
|
|
12000
|
+
const pages = Object.entries(doc.pages);
|
|
12001
|
+
if (!pages.some(([, p]) => isGatedPage(p))) return [];
|
|
12002
|
+
const before = new Set(findBrokenLinks(doc).map(linkKey));
|
|
12003
|
+
const published = {
|
|
12004
|
+
...doc,
|
|
12005
|
+
pages: Object.fromEntries(pages.filter(([, p]) => !isGatedPage(p)))
|
|
12006
|
+
};
|
|
12007
|
+
return findBrokenLinks(published).filter((l) => !before.has(linkKey(l))).map((l) => ({ ...l, severity: "warning" }));
|
|
12008
|
+
}
|
|
12009
|
+
function hostingWarnings(doc, pageId) {
|
|
12010
|
+
if (!onGitHubPages(doc)) return [];
|
|
12011
|
+
const out = [];
|
|
12012
|
+
const title = (p) => p.title || (p.slug === "" ? "Home" : p.slug);
|
|
12013
|
+
for (const page of Object.values(doc.pages)) {
|
|
12014
|
+
if (pageId && page.id !== pageId) continue;
|
|
12015
|
+
if (isGatedPage(page)) {
|
|
12016
|
+
out.push({
|
|
12017
|
+
rule: "gated-page",
|
|
12018
|
+
message: `${title(page)} is members-only, so it isn't published while the site is on GitHub Pages.`,
|
|
12019
|
+
where: { page: page.id }
|
|
12020
|
+
});
|
|
12021
|
+
continue;
|
|
12022
|
+
}
|
|
12023
|
+
for (const section of page.sections) {
|
|
12024
|
+
if (section.hidden) continue;
|
|
12025
|
+
for (const block4 of section.blocks) {
|
|
12026
|
+
const what = CLOUDFLARE_BLOCKS[block4.type];
|
|
12027
|
+
if (!what) continue;
|
|
12028
|
+
out.push({
|
|
12029
|
+
rule: "needs-cloudflare",
|
|
12030
|
+
message: `${what} on ${title(page)} won't work on your live site: it needs Cloudflare hosting, and this site is on GitHub Pages.`,
|
|
12031
|
+
where: { page: page.id, section: section.id, block: block4.id }
|
|
12032
|
+
});
|
|
12033
|
+
}
|
|
12034
|
+
}
|
|
12035
|
+
}
|
|
12036
|
+
return out;
|
|
12037
|
+
}
|
|
12038
|
+
|
|
11982
12039
|
// ../lint/src/issue.ts
|
|
11983
12040
|
function opMeta(options) {
|
|
11984
12041
|
let n = 0;
|
|
@@ -12039,6 +12096,9 @@ function describeBrokenLink(doc, link2) {
|
|
|
12039
12096
|
return `${where} links to ${link2.target}, which isn't a page on your site.`;
|
|
12040
12097
|
}
|
|
12041
12098
|
}
|
|
12099
|
+
function describeGatedLink(doc, link2) {
|
|
12100
|
+
return `${linkPlace(doc, link2)} links to a members-only page. Sites on GitHub Pages don't publish members-only pages, so visitors would see "page not found".`;
|
|
12101
|
+
}
|
|
12042
12102
|
function linkFix(doc, link2, meta2) {
|
|
12043
12103
|
const target = link2.kind === "page" ? "/" : link2.target;
|
|
12044
12104
|
const s2 = suggestLinkTarget(doc, target);
|
|
@@ -12092,6 +12152,24 @@ function linkIssues(doc, pageId, options = {}, meta2 = opMeta(options)) {
|
|
|
12092
12152
|
})
|
|
12093
12153
|
);
|
|
12094
12154
|
}
|
|
12155
|
+
for (const link2 of gatedPageLinks(doc)) {
|
|
12156
|
+
const s2 = link2.scope;
|
|
12157
|
+
if (pageId && s2.kind === "page" && s2.page !== pageId) continue;
|
|
12158
|
+
if (pageId && s2.kind === "item") continue;
|
|
12159
|
+
const page = link2.container ?? (s2.kind === "page" ? s2.page : void 0);
|
|
12160
|
+
out.push(
|
|
12161
|
+
issue({
|
|
12162
|
+
rule: "gated-link",
|
|
12163
|
+
severity: "warning",
|
|
12164
|
+
...page ? { page } : {},
|
|
12165
|
+
...link2.section ? { section: link2.section } : {},
|
|
12166
|
+
...link2.block ? { block: link2.block } : {},
|
|
12167
|
+
key: `${s2.kind === "item" ? `${s2.collection}/${s2.slug}:` : ""}${link2.path.join(".")}`,
|
|
12168
|
+
message: describeGatedLink(doc, link2),
|
|
12169
|
+
fix: "Remove the link, point it at a public page, or switch the site to Cloudflare hosting (Settings \u2192 Hosting)."
|
|
12170
|
+
})
|
|
12171
|
+
);
|
|
12172
|
+
}
|
|
12095
12173
|
return out;
|
|
12096
12174
|
}
|
|
12097
12175
|
|
|
@@ -12357,6 +12435,16 @@ function designCheck(doc, pageId, options = {}) {
|
|
|
12357
12435
|
for (const page of pages) ctx.page(page);
|
|
12358
12436
|
ctx.container(FOOTER, [doc.site.footer], { footer: true });
|
|
12359
12437
|
ctx.issues.push(...linkIssues(doc, pageId, options, ctx.meta));
|
|
12438
|
+
for (const w of hostingWarnings(doc, pageId))
|
|
12439
|
+
ctx.issues.push(
|
|
12440
|
+
issue({
|
|
12441
|
+
rule: w.rule,
|
|
12442
|
+
severity: "warning",
|
|
12443
|
+
...w.where,
|
|
12444
|
+
message: w.message,
|
|
12445
|
+
fix: w.rule === "gated-page" ? "Switch the site to Cloudflare hosting (Settings \u2192 Hosting) to publish members-only pages, or make the page public." : "Switch the site to Cloudflare hosting (Settings \u2192 Hosting), or remove this block."
|
|
12446
|
+
})
|
|
12447
|
+
);
|
|
12360
12448
|
return sortIssues(ctx.issues);
|
|
12361
12449
|
}
|
|
12362
12450
|
var LIGHT = /* @__PURE__ */ new Set(["light", "light-accent"]);
|
|
@@ -39099,4 +39187,4 @@ export {
|
|
|
39099
39187
|
createProgram,
|
|
39100
39188
|
run
|
|
39101
39189
|
};
|
|
39102
|
-
//# sourceMappingURL=chunk-
|
|
39190
|
+
//# sourceMappingURL=chunk-6NIIOHOX.js.map
|