@glw907/cairn-cms 0.17.0 → 0.21.0
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/components/DeleteDialog.svelte +81 -0
- package/dist/components/DeleteDialog.svelte.d.ts +21 -0
- package/dist/components/DeleteDialog.svelte.d.ts.map +1 -0
- package/dist/components/EditPage.svelte +136 -10
- package/dist/components/EditPage.svelte.d.ts +10 -0
- package/dist/components/EditPage.svelte.d.ts.map +1 -1
- package/dist/components/LinkPicker.svelte +109 -0
- package/dist/components/LinkPicker.svelte.d.ts +18 -0
- package/dist/components/LinkPicker.svelte.d.ts.map +1 -0
- package/dist/components/MarkdownEditor.svelte +33 -3
- package/dist/components/MarkdownEditor.svelte.d.ts +5 -0
- package/dist/components/MarkdownEditor.svelte.d.ts.map +1 -1
- package/dist/components/RenameDialog.svelte +72 -0
- package/dist/components/RenameDialog.svelte.d.ts +20 -0
- package/dist/components/RenameDialog.svelte.d.ts.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -0
- package/dist/components/link-completion.d.ts +16 -0
- package/dist/components/link-completion.d.ts.map +1 -0
- package/dist/components/link-completion.js +48 -0
- package/dist/components/markdown-format.d.ts +25 -5
- package/dist/components/markdown-format.d.ts.map +1 -1
- package/dist/components/markdown-format.js +85 -0
- package/dist/content/compose.d.ts.map +1 -1
- package/dist/content/compose.js +1 -0
- package/dist/content/ids.d.ts +7 -0
- package/dist/content/ids.d.ts.map +1 -1
- package/dist/content/ids.js +11 -0
- package/dist/content/links.d.ts +21 -0
- package/dist/content/links.d.ts.map +1 -0
- package/dist/content/links.js +52 -0
- package/dist/content/manifest.d.ts +69 -0
- package/dist/content/manifest.d.ts.map +1 -0
- package/dist/content/manifest.js +140 -0
- package/dist/content/types.d.ts +10 -1
- package/dist/content/types.d.ts.map +1 -1
- package/dist/delivery/index.d.ts +1 -0
- package/dist/delivery/index.d.ts.map +1 -1
- package/dist/delivery/index.js +1 -0
- package/dist/delivery/manifest.d.ts +13 -0
- package/dist/delivery/manifest.d.ts.map +1 -0
- package/dist/delivery/manifest.js +38 -0
- package/dist/github/repo.d.ts +21 -0
- package/dist/github/repo.d.ts.map +1 -1
- package/dist/github/repo.js +86 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/render/pipeline.d.ts +4 -1
- package/dist/render/pipeline.d.ts.map +1 -1
- package/dist/render/pipeline.js +7 -2
- package/dist/render/resolve-links.d.ts +8 -0
- package/dist/render/resolve-links.d.ts.map +1 -0
- package/dist/render/resolve-links.js +36 -0
- package/dist/render/sanitize-schema.d.ts.map +1 -1
- package/dist/render/sanitize-schema.js +9 -0
- package/dist/sveltekit/content-routes.d.ts +13 -1
- package/dist/sveltekit/content-routes.d.ts.map +1 -1
- package/dist/sveltekit/content-routes.js +182 -7
- package/dist/sveltekit/public-routes.d.ts +2 -0
- package/dist/sveltekit/public-routes.d.ts.map +1 -1
- package/dist/sveltekit/public-routes.js +2 -1
- package/package.json +2 -1
- package/src/lib/components/DeleteDialog.svelte +81 -0
- package/src/lib/components/EditPage.svelte +136 -10
- package/src/lib/components/LinkPicker.svelte +109 -0
- package/src/lib/components/MarkdownEditor.svelte +33 -3
- package/src/lib/components/RenameDialog.svelte +72 -0
- package/src/lib/components/index.ts +3 -0
- package/src/lib/components/link-completion.ts +57 -0
- package/src/lib/components/markdown-format.ts +82 -0
- package/src/lib/content/compose.ts +1 -0
- package/src/lib/content/ids.ts +12 -0
- package/src/lib/content/links.ts +61 -0
- package/src/lib/content/manifest.ts +190 -0
- package/src/lib/content/types.ts +10 -3
- package/src/lib/delivery/index.ts +1 -0
- package/src/lib/delivery/manifest.ts +44 -0
- package/src/lib/github/repo.ts +110 -0
- package/src/lib/index.ts +17 -0
- package/src/lib/render/pipeline.ts +8 -2
- package/src/lib/render/resolve-links.ts +42 -0
- package/src/lib/render/sanitize-schema.ts +9 -0
- package/src/lib/sveltekit/content-routes.ts +209 -10
- package/src/lib/sveltekit/public-routes.ts +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/content/types.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/content/types.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0GAA0G;AAC1G,UAAU,SAAS;IACjB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,gCAAgC;AAChC,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;yEACqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,+BAA+B;AAC/B,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AACD,iCAAiC;AACjC,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AACD,sCAAsC;AACtC,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB;AACD,sEAAsE;AACtE,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AACD,iEAAiE;AACjE,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,aAAa,GACb,SAAS,GACT,YAAY,GACZ,SAAS,GACT,aAAa,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC3C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IACpE,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,MAAM,EAAE,CAAC,CAAC;CACX;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,0HAA0H;AAC1H,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kHAAkH;AAClH,MAAM,WAAW,WAAW;IAC1B,yDAAyD;IACzD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,KAAK,CAAC,EAAE,aAAa,CAAC;KACvB,CAAC;IACF,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB;;kCAE8B;IAC9B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG;2GACuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,0FAA0F;IAC1F,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;IACrB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAChF;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uDAAuD;IACvD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACnC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,sFAAsF;IACtF,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,+FAA+F;IAC/F,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,wFAAwF;IACxF,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,qGAAqG;IACrG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,8FAA8F;IAC9F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,qGAAqG;IACrG,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,mGAAmG;IACnG,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;CAC7B"}
|
package/dist/delivery/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export type { Page } from './paginate.js';
|
|
|
20
20
|
export { rssResponse, jsonFeedResponse, sitemapResponse, robotsResponse } from './responses.js';
|
|
21
21
|
export { jsonLdScript } from './json-ld.js';
|
|
22
22
|
export { permalink } from '../content/permalink.js';
|
|
23
|
+
export { buildSiteManifest, buildLinkResolver } from './manifest.js';
|
|
23
24
|
export { createPublicRoutes } from '../sveltekit/public-routes.js';
|
|
24
25
|
export type { PublicRoutesDeps, ListData, TagData, TagIndexData, EntryData, } from '../sveltekit/public-routes.js';
|
|
25
26
|
export { default as CairnHead } from './CairnHead.svelte';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/delivery/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,GACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/delivery/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC9G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,SAAS,GACV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/delivery/index.js
CHANGED
|
@@ -17,5 +17,6 @@ export { paginate } from './paginate.js';
|
|
|
17
17
|
export { rssResponse, jsonFeedResponse, sitemapResponse, robotsResponse } from './responses.js';
|
|
18
18
|
export { jsonLdScript } from './json-ld.js';
|
|
19
19
|
export { permalink } from '../content/permalink.js';
|
|
20
|
+
export { buildSiteManifest, buildLinkResolver } from './manifest.js';
|
|
20
21
|
export { createPublicRoutes } from '../sveltekit/public-routes.js';
|
|
21
22
|
export { default as CairnHead } from './CairnHead.svelte';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Manifest } from '../content/manifest.js';
|
|
2
|
+
import type { LinkResolve } from '../content/links.js';
|
|
3
|
+
import type { SiteIndex } from './site-index.js';
|
|
4
|
+
import type { SiteConfig } from '../nav/site-config.js';
|
|
5
|
+
import type { CairnAdapter } from '../content/types.js';
|
|
6
|
+
import type { SiteGlobs } from './site-indexes.js';
|
|
7
|
+
/** Build the whole-corpus manifest from a site's adapter, config, and per-concept globs. Drafts are
|
|
8
|
+
* included and flagged, so the admin picker and the guards see the full graph. */
|
|
9
|
+
export declare function buildSiteManifest<A extends CairnAdapter>(adapter: A, config: SiteConfig, globs: SiteGlobs<A>): Manifest;
|
|
10
|
+
/** A resolver backed by the site index, for the build. A miss throws, so a dangling cairn: token
|
|
11
|
+
* fails the prerender (the build backstop). The preview uses manifestLinkResolver, which marks. */
|
|
12
|
+
export declare function buildLinkResolver(site: SiteIndex): LinkResolve;
|
|
13
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/lib/delivery/manifest.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;mFACmF;AACnF,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAevH;AAED;oGACoG;AACpG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAM9D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// cairn-cms: the build-side manifest builder and the build link resolver (content-graph design).
|
|
2
|
+
// buildSiteManifest mirrors createSiteIndexes: it maps the site descriptors over the per-concept
|
|
3
|
+
// globs and projects each file to a manifest row. buildLinkResolver reads the site index, which is
|
|
4
|
+
// fresh from the files at build, and throws on a missing target so a dangling cairn: token fails
|
|
5
|
+
// the build (the backstop). The admin preview uses manifestLinkResolver instead.
|
|
6
|
+
import { siteDescriptors } from './site-descriptors.js';
|
|
7
|
+
import { fromGlob } from './content-index.js';
|
|
8
|
+
import { parseMarkdown } from '../content/frontmatter.js';
|
|
9
|
+
import { emptyManifest, manifestEntryFromFile } from '../content/manifest.js';
|
|
10
|
+
/** Build the whole-corpus manifest from a site's adapter, config, and per-concept globs. Drafts are
|
|
11
|
+
* included and flagged, so the admin picker and the guards see the full graph. */
|
|
12
|
+
export function buildSiteManifest(adapter, config, globs) {
|
|
13
|
+
const globRecord = globs;
|
|
14
|
+
const manifest = emptyManifest();
|
|
15
|
+
for (const descriptor of siteDescriptors(adapter, config)) {
|
|
16
|
+
const record = globRecord[descriptor.id] ?? {};
|
|
17
|
+
for (const file of fromGlob(record)) {
|
|
18
|
+
// Validate the same way createContentIndex does, so the manifest and the site index agree on
|
|
19
|
+
// which entries exist. A validation failure is excluded from both; otherwise the preview would
|
|
20
|
+
// resolve a link the build then rejects as a missing target.
|
|
21
|
+
const { frontmatter, body } = parseMarkdown(file.raw);
|
|
22
|
+
if (!descriptor.validate(frontmatter, body).ok)
|
|
23
|
+
continue;
|
|
24
|
+
manifest.entries.push(manifestEntryFromFile(descriptor, file));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return manifest;
|
|
28
|
+
}
|
|
29
|
+
/** A resolver backed by the site index, for the build. A miss throws, so a dangling cairn: token
|
|
30
|
+
* fails the prerender (the build backstop). The preview uses manifestLinkResolver, which marks. */
|
|
31
|
+
export function buildLinkResolver(site) {
|
|
32
|
+
return (ref) => {
|
|
33
|
+
const url = site.concept(ref.concept)?.byId(ref.id)?.permalink;
|
|
34
|
+
if (!url)
|
|
35
|
+
throw new Error(`cairn link target not found: cairn:${ref.concept}/${ref.id}`);
|
|
36
|
+
return url;
|
|
37
|
+
};
|
|
38
|
+
}
|
package/dist/github/repo.d.ts
CHANGED
|
@@ -45,5 +45,26 @@ export declare function commitFile(repo: RepoRef, path: string, content: string,
|
|
|
45
45
|
message: string;
|
|
46
46
|
author: CommitAuthor;
|
|
47
47
|
}, token: string): Promise<string>;
|
|
48
|
+
/** A path change for an atomic commit: write `content`, or delete the path when `content` is null. */
|
|
49
|
+
export interface FileChange {
|
|
50
|
+
path: string;
|
|
51
|
+
content: string | null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Commit several path changes in one commit over the Git Data API. The author is the editor; the
|
|
55
|
+
* committer is omitted, so GitHub attributes the commit to the App. Returns the new commit sha.
|
|
56
|
+
* Builds the new tree on the current head's tree, so paths not named here are preserved.
|
|
57
|
+
*
|
|
58
|
+
* Caller preconditions this layer cannot enforce (the save and lifecycle paths must): every
|
|
59
|
+
* `path` is confined to the site's content directories (the App token can write anywhere in the
|
|
60
|
+
* repo), and `author` is derived from the verified server-side session, never request input.
|
|
61
|
+
*
|
|
62
|
+
* An empty change set is rejected, since it would otherwise push an empty commit that triggers a
|
|
63
|
+
* site redeploy for no content change.
|
|
64
|
+
*/
|
|
65
|
+
export declare function commitFiles(repo: RepoRef, changes: FileChange[], opts: {
|
|
66
|
+
message: string;
|
|
67
|
+
author: CommitAuthor;
|
|
68
|
+
}, token: string): Promise<string>;
|
|
48
69
|
export {};
|
|
49
70
|
//# sourceMappingURL=repo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/lib/github/repo.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAelE,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAE7C;AAED,qFAAqF;AACrF,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAOD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAW1E;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMlG;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKjG;AAOD,+EAA+E;AAC/E,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKhG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,EAC/C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAiBjB"}
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/lib/github/repo.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAelE,iEAAiE;AACjE,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAE7C;AAED,qFAAqF;AACrF,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAOD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAW1E;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAMlG;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKjG;AAOD,+EAA+E;AAC/E,wBAAsB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKhG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,EAC/C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,sGAAsG;AACtG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AA8CD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EAAE,EACrB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,EAC/C,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAyCjB"}
|
package/dist/github/repo.js
CHANGED
|
@@ -121,3 +121,89 @@ export async function commitFile(repo, path, content, opts, token) {
|
|
|
121
121
|
throw new Error(`GitHub commit ${path} failed: ${res.status} ${await res.text()}`);
|
|
122
122
|
return (await res.json()).commit.sha;
|
|
123
123
|
}
|
|
124
|
+
/** A Git Data API URL under the repo's `git/` namespace. */
|
|
125
|
+
function gitUrl(repo, suffix) {
|
|
126
|
+
return `${API}/repos/${repo.owner}/${repo.repo}/git/${suffix}`;
|
|
127
|
+
}
|
|
128
|
+
/** The branch head commit sha, through the Git Data API single-ref read. */
|
|
129
|
+
async function headCommitSha(repo, token) {
|
|
130
|
+
const res = await fetch(gitUrl(repo, `ref/heads/${encodeURIComponent(repo.branch)}`), {
|
|
131
|
+
headers: ghHeaders('application/vnd.github+json', token),
|
|
132
|
+
});
|
|
133
|
+
if (!res.ok)
|
|
134
|
+
throw new Error(`GitHub ref ${repo.branch} failed: ${res.status}`);
|
|
135
|
+
return (await res.json()).object.sha;
|
|
136
|
+
}
|
|
137
|
+
/** The base tree sha of a commit. */
|
|
138
|
+
async function commitTreeSha(repo, commitSha, token) {
|
|
139
|
+
const res = await fetch(gitUrl(repo, `commits/${commitSha}`), {
|
|
140
|
+
headers: ghHeaders('application/vnd.github+json', token),
|
|
141
|
+
});
|
|
142
|
+
if (!res.ok)
|
|
143
|
+
throw new Error(`GitHub commit ${commitSha} failed: ${res.status}`);
|
|
144
|
+
return (await res.json()).tree.sha;
|
|
145
|
+
}
|
|
146
|
+
/** Map file changes to Git Trees API entries, encoding a null content as a delete. */
|
|
147
|
+
function treeChanges(changes) {
|
|
148
|
+
return changes.map((c) => c.content === null
|
|
149
|
+
? { path: c.path, mode: '100644', type: 'blob', sha: null }
|
|
150
|
+
: { path: c.path, mode: '100644', type: 'blob', content: c.content });
|
|
151
|
+
}
|
|
152
|
+
/** Retries after the initial attempt when the branch moves under an atomic commit. */
|
|
153
|
+
const COMMIT_RETRIES = 3;
|
|
154
|
+
/**
|
|
155
|
+
* Commit several path changes in one commit over the Git Data API. The author is the editor; the
|
|
156
|
+
* committer is omitted, so GitHub attributes the commit to the App. Returns the new commit sha.
|
|
157
|
+
* Builds the new tree on the current head's tree, so paths not named here are preserved.
|
|
158
|
+
*
|
|
159
|
+
* Caller preconditions this layer cannot enforce (the save and lifecycle paths must): every
|
|
160
|
+
* `path` is confined to the site's content directories (the App token can write anywhere in the
|
|
161
|
+
* repo), and `author` is derived from the verified server-side session, never request input.
|
|
162
|
+
*
|
|
163
|
+
* An empty change set is rejected, since it would otherwise push an empty commit that triggers a
|
|
164
|
+
* site redeploy for no content change.
|
|
165
|
+
*/
|
|
166
|
+
export async function commitFiles(repo, changes, opts, token) {
|
|
167
|
+
if (changes.length === 0)
|
|
168
|
+
throw new Error('commitFiles: no changes to commit');
|
|
169
|
+
const tree = treeChanges(changes);
|
|
170
|
+
for (let attempt = 0; attempt <= COMMIT_RETRIES; attempt++) {
|
|
171
|
+
const parent = await headCommitSha(repo, token);
|
|
172
|
+
const baseTree = await commitTreeSha(repo, parent, token);
|
|
173
|
+
const treeRes = await fetch(gitUrl(repo, 'trees'), {
|
|
174
|
+
method: 'POST',
|
|
175
|
+
headers: { ...ghHeaders('application/vnd.github+json', token), 'Content-Type': 'application/json' },
|
|
176
|
+
body: JSON.stringify({ base_tree: baseTree, tree }),
|
|
177
|
+
});
|
|
178
|
+
if (!treeRes.ok) {
|
|
179
|
+
// A 422 means an entry is unprocessable against the base tree, which a delete of an
|
|
180
|
+
// already-removed path produces (a concurrent delete or rename got there first). Treat it as
|
|
181
|
+
// the same non-fast-forward conflict the ref PATCH surfaces, so the caller fails safe with the
|
|
182
|
+
// reload-and-retry path instead of a raw 500.
|
|
183
|
+
if (treeRes.status === 422)
|
|
184
|
+
throw new CommitConflictError(`${repo.branch} (tree create)`);
|
|
185
|
+
throw new Error(`GitHub tree create failed: ${treeRes.status} ${await treeRes.text()}`);
|
|
186
|
+
}
|
|
187
|
+
const newTree = (await treeRes.json()).sha;
|
|
188
|
+
const commitRes = await fetch(gitUrl(repo, 'commits'), {
|
|
189
|
+
method: 'POST',
|
|
190
|
+
headers: { ...ghHeaders('application/vnd.github+json', token), 'Content-Type': 'application/json' },
|
|
191
|
+
body: JSON.stringify({ message: opts.message, tree: newTree, parents: [parent], author: opts.author }),
|
|
192
|
+
});
|
|
193
|
+
if (!commitRes.ok)
|
|
194
|
+
throw new Error(`GitHub commit create failed: ${commitRes.status} ${await commitRes.text()}`);
|
|
195
|
+
const newCommit = (await commitRes.json()).sha;
|
|
196
|
+
const refRes = await fetch(gitUrl(repo, `refs/heads/${encodeURIComponent(repo.branch)}`), {
|
|
197
|
+
method: 'PATCH',
|
|
198
|
+
headers: { ...ghHeaders('application/vnd.github+json', token), 'Content-Type': 'application/json' },
|
|
199
|
+
body: JSON.stringify({ sha: newCommit, force: false }),
|
|
200
|
+
});
|
|
201
|
+
if (refRes.ok)
|
|
202
|
+
return newCommit;
|
|
203
|
+
// A non-fast-forward means the branch moved; retry on the new head so a concurrent commit
|
|
204
|
+
// is preserved. Any other failure is not a race, so surface it.
|
|
205
|
+
if (refRes.status !== 422)
|
|
206
|
+
throw new Error(`GitHub ref update failed: ${refRes.status} ${await refRes.text()}`);
|
|
207
|
+
}
|
|
208
|
+
throw new CommitConflictError(`${repo.branch} (atomic commit)`);
|
|
209
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,10 @@ export { defineAdapter } from './content/adapter.js';
|
|
|
11
11
|
export type { ConceptSchema, Infer, InferFields, DefineFieldsOptions, StandardInput, StandardSchemaV1 } from './content/schema.js';
|
|
12
12
|
export { isValidId, idFromFilename, filenameFromId, slugify, slugFromId, composeDatedId, } from './content/ids.js';
|
|
13
13
|
export type { DatePrefix } from './content/ids.js';
|
|
14
|
+
export { parseCairnToken, extractCairnLinks, formatCairnToken, escapeLinkText } from './content/links.js';
|
|
15
|
+
export type { CairnRef, LinkResolve } from './content/links.js';
|
|
16
|
+
export { serializeManifest, parseManifest, emptyManifest, verifyManifest, upsertEntry, removeEntry, manifestEntryFromFile, manifestLinkResolver, inboundLinks, } from './content/manifest.js';
|
|
17
|
+
export type { Manifest, ManifestEntry, LinkTarget, InboundLink } from './content/manifest.js';
|
|
14
18
|
export { defineRegistry, emptyValues } from './render/registry.js';
|
|
15
19
|
export type { ComponentDef, ComponentRegistry, FieldType, AttributeField, SlotKind, SlotDef, ComponentValues, } from './render/registry.js';
|
|
16
20
|
export { serializeComponent, parseComponent } from './render/component-grammar.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGnE,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,SAAS,EACT,YAAY,EACZ,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnI,OAAO,EACL,SAAS,EACT,cAAc,EACd,cAAc,EACd,OAAO,EACP,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,11 @@ export { frontmatterFromForm, dateInputValue, serializeMarkdown, parseMarkdown,
|
|
|
8
8
|
export { defineFields } from './content/schema.js';
|
|
9
9
|
export { defineAdapter } from './content/adapter.js';
|
|
10
10
|
export { isValidId, idFromFilename, filenameFromId, slugify, slugFromId, composeDatedId, } from './content/ids.js';
|
|
11
|
+
// Internal-link token and the committed content manifest (content-graph design). The corpus
|
|
12
|
+
// builder and the request-time resolver ship from the delivery entry; this surface is the
|
|
13
|
+
// grammar, the manifest operations, and their types a migrating site adopts.
|
|
14
|
+
export { parseCairnToken, extractCairnLinks, formatCairnToken, escapeLinkText } from './content/links.js';
|
|
15
|
+
export { serializeManifest, parseManifest, emptyManifest, verifyManifest, upsertEntry, removeEntry, manifestEntryFromFile, manifestLinkResolver, inboundLinks, } from './content/manifest.js';
|
|
11
16
|
// Render engine (Plan 04): generic directive pipeline; sites own the component registry.
|
|
12
17
|
export { defineRegistry, emptyValues } from './render/registry.js';
|
|
13
18
|
export { serializeComponent, parseComponent } from './render/component-grammar.js';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type PluggableList } from 'unified';
|
|
2
2
|
import type { Schema } from 'hast-util-sanitize';
|
|
3
3
|
import type { ComponentRegistry } from './registry.js';
|
|
4
|
+
import type { LinkResolve } from '../content/links.js';
|
|
4
5
|
export interface RendererOptions {
|
|
5
6
|
/** Stamp a `data-rise` ordinal (0, 1, 2, …) on each top-level component so a site's
|
|
6
7
|
* CSS can drive an entrance-cascade delay off it. Omit for no stagger. The ordinal
|
|
@@ -22,6 +23,8 @@ export interface RendererOptions {
|
|
|
22
23
|
export declare function createRenderer(registry: ComponentRegistry, options?: RendererOptions): {
|
|
23
24
|
remarkPlugins: PluggableList;
|
|
24
25
|
rehypePlugins: PluggableList;
|
|
25
|
-
renderMarkdown: (content: string
|
|
26
|
+
renderMarkdown: (content: string, opts?: {
|
|
27
|
+
resolve?: LinkResolve;
|
|
28
|
+
}) => Promise<string>;
|
|
26
29
|
};
|
|
27
30
|
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/lib/render/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAStD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../src/lib/render/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAStD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B;;0FAEsF;IACtF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;wCAGoC;IACpC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C;;+EAE2E;IAC3E,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;uFAEuF;AACvF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB;;;8BAyBrD,MAAM,SAAQ;QAAE,OAAO,CAAC,EAAE,WAAW,CAAA;KAAE,KAAQ,OAAO,CAAC,MAAM,CAAC;EAKjG"}
|
package/dist/render/pipeline.js
CHANGED
|
@@ -7,14 +7,16 @@ import rehypeRaw from 'rehype-raw';
|
|
|
7
7
|
import rehypeSlug from 'rehype-slug';
|
|
8
8
|
import rehypeStringify from 'rehype-stringify';
|
|
9
9
|
import rehypeSanitize from 'rehype-sanitize';
|
|
10
|
+
import { VFile } from 'vfile';
|
|
10
11
|
import { buildSanitizeSchema, rehypeAnchorRel } from './sanitize-schema.js';
|
|
11
12
|
import { remarkDirectiveStamp } from './remark-directives.js';
|
|
13
|
+
import { remarkResolveCairnLinks, CAIRN_RESOLVE } from './resolve-links.js';
|
|
12
14
|
import { rehypeDispatch } from './rehype-dispatch.js';
|
|
13
15
|
/** Compose a site's render pipeline from its component registry: directive syntax to
|
|
14
16
|
* stamped markers to registry-built hast. Returns `renderMarkdown` plus the remark/
|
|
15
17
|
* rehype plugin arrays (so the admin editor preview can reuse the exact same set). */
|
|
16
18
|
export function createRenderer(registry, options = {}) {
|
|
17
|
-
const remarkPlugins = [remarkDirective, [remarkDirectiveStamp, registry]];
|
|
19
|
+
const remarkPlugins = [remarkDirective, [remarkDirectiveStamp, registry], remarkResolveCairnLinks];
|
|
18
20
|
// The sanitize floor runs after rehype-raw (so author raw HTML is parsed, then cleaned) and
|
|
19
21
|
// before the dispatch (so the site's trusted build() output and its inline SVG icons are never
|
|
20
22
|
// sanitized). The anchor-rel hardening runs last so it also covers component-built anchors.
|
|
@@ -38,6 +40,9 @@ export function createRenderer(registry, options = {}) {
|
|
|
38
40
|
return {
|
|
39
41
|
remarkPlugins,
|
|
40
42
|
rehypePlugins,
|
|
41
|
-
renderMarkdown: async (content) =>
|
|
43
|
+
renderMarkdown: async (content, opts = {}) => {
|
|
44
|
+
const file = new VFile({ value: content, data: { [CAIRN_RESOLVE]: opts.resolve } });
|
|
45
|
+
return String(await processor.process(file));
|
|
46
|
+
},
|
|
42
47
|
};
|
|
43
48
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { VFile } from 'vfile';
|
|
2
|
+
/** The VFile data key the renderer sets the per-call resolver under. */
|
|
3
|
+
export declare const CAIRN_RESOLVE = "cairnResolve";
|
|
4
|
+
/** Resolve cairn: link nodes against the VFile's resolver. A non-cairn href and a malformed token
|
|
5
|
+
* pass through. A missing target is marked with the cairn-broken-link class (the resolver returns
|
|
6
|
+
* undefined) or, when the resolver throws, the error propagates and fails the build. */
|
|
7
|
+
export declare function remarkResolveCairnLinks(): (tree: unknown, file: VFile) => void;
|
|
8
|
+
//# sourceMappingURL=resolve-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-links.d.ts","sourceRoot":"","sources":["../../src/lib/render/resolve-links.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAGnC,wEAAwE;AACxE,eAAO,MAAM,aAAa,iBAAiB,CAAC;AAO5C;;yFAEyF;AACzF,wBAAgB,uBAAuB,KAC7B,MAAM,OAAO,EAAE,MAAM,KAAK,KAAG,IAAI,CAoB1C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// cairn-cms: the cairn: link resolver, an mdast step in the render pipeline (content-graph design).
|
|
2
|
+
// It runs before remark-rehype, so the rewritten href passes through the sanitize floor exactly as
|
|
3
|
+
// any other anchor. The per-call resolver is read off the VFile (set by renderMarkdown), so the
|
|
4
|
+
// processor is still built once. A miss either marks the link broken (preview) or throws (build),
|
|
5
|
+
// decided by the injected resolver.
|
|
6
|
+
import { visit } from 'unist-util-visit';
|
|
7
|
+
import { parseCairnToken } from '../content/links.js';
|
|
8
|
+
/** The VFile data key the renderer sets the per-call resolver under. */
|
|
9
|
+
export const CAIRN_RESOLVE = 'cairnResolve';
|
|
10
|
+
/** Resolve cairn: link nodes against the VFile's resolver. A non-cairn href and a malformed token
|
|
11
|
+
* pass through. A missing target is marked with the cairn-broken-link class (the resolver returns
|
|
12
|
+
* undefined) or, when the resolver throws, the error propagates and fails the build. */
|
|
13
|
+
export function remarkResolveCairnLinks() {
|
|
14
|
+
return (tree, file) => {
|
|
15
|
+
const resolve = file.data[CAIRN_RESOLVE];
|
|
16
|
+
if (!resolve)
|
|
17
|
+
return;
|
|
18
|
+
visit(tree, 'link', (node) => {
|
|
19
|
+
const ref = parseCairnToken(node.url);
|
|
20
|
+
if (!ref)
|
|
21
|
+
return;
|
|
22
|
+
const url = resolve(ref); // may throw (build backstop); propagates out of render
|
|
23
|
+
if (url) {
|
|
24
|
+
node.url = url;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// Missing target in the preview: mark it broken and neutralize the href, keeping the text.
|
|
28
|
+
node.url = '#';
|
|
29
|
+
node.data = node.data ?? {};
|
|
30
|
+
const props = (node.data.hProperties = node.data.hProperties ?? {});
|
|
31
|
+
const existing = Array.isArray(props.className) ? props.className : [];
|
|
32
|
+
props.className = [...existing, 'cairn-broken-link'];
|
|
33
|
+
props.title = 'Broken internal link';
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-schema.d.ts","sourceRoot":"","sources":["../../src/lib/render/sanitize-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMrE;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"sanitize-schema.d.ts","sourceRoot":"","sources":["../../src/lib/render/sanitize-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AAE1C,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMrE;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GACpC,MAAM,CA6BR;AAED;;;;GAIG;AACH,wBAAgB,eAAe,KACrB,MAAM,IAAI,UAOnB"}
|
|
@@ -21,6 +21,11 @@ export function buildSanitizeSchema(registry, extend) {
|
|
|
21
21
|
// that restricts a link's class to that one value. A per-tag tuple wins over a bare `*` entry, so
|
|
22
22
|
// it would strip an author's link class. Drop that tuple before admitting a free-form `className`.
|
|
23
23
|
const anchorAttrs = (attributes.a ?? []).filter((entry) => !(Array.isArray(entry) && entry[0] === 'className'));
|
|
24
|
+
// Admit the inert `cairn:` href scheme on top of the default protocol allowlist. The render
|
|
25
|
+
// resolver rewrites a `cairn:` link to a live permalink before delivery; an unresolved one
|
|
26
|
+
// survives the floor in its inert token form (a visible unresolved-link signal), never as an
|
|
27
|
+
// executable vector. The dangerous-protocol strip (javascript:, data:) is preserved.
|
|
28
|
+
const protocols = defaultSchema.protocols ?? {};
|
|
24
29
|
const schema = {
|
|
25
30
|
...defaultSchema,
|
|
26
31
|
tagNames: [...(defaultSchema.tagNames ?? []), 'nav', 'details', 'summary'],
|
|
@@ -29,6 +34,10 @@ export function buildSanitizeSchema(registry, extend) {
|
|
|
29
34
|
'*': [...(attributes['*'] ?? []), 'className', ...markers],
|
|
30
35
|
a: [...anchorAttrs, 'className', 'target', 'rel'],
|
|
31
36
|
},
|
|
37
|
+
protocols: {
|
|
38
|
+
...protocols,
|
|
39
|
+
href: [...(protocols.href ?? []), 'cairn'],
|
|
40
|
+
},
|
|
32
41
|
};
|
|
33
42
|
return extend ? extend(schema) : schema;
|
|
34
43
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { fail } from '@sveltejs/kit';
|
|
1
2
|
import { type GithubKeyEnv } from '../github/credentials.js';
|
|
3
|
+
import { type LinkTarget, type InboundLink } from '../content/manifest.js';
|
|
2
4
|
import type { CairnRuntime, FrontmatterField } from '../content/types.js';
|
|
3
5
|
import type { Editor, Role } from '../auth/types.js';
|
|
4
6
|
/** A sidebar concept entry: just enough to render the nav without shipping validators to the client. */
|
|
@@ -49,7 +51,15 @@ export interface EditData {
|
|
|
49
51
|
title: string;
|
|
50
52
|
isNew: boolean;
|
|
51
53
|
saved: boolean;
|
|
54
|
+
/** True after a successful rename redirect (`?renamed=1`), to confirm the new URL to the author. */
|
|
55
|
+
renamed: boolean;
|
|
52
56
|
error: string | null;
|
|
57
|
+
/** The current URL slug (the date-stripped id for a dated concept), for the rename dialog prefill. */
|
|
58
|
+
slug: string;
|
|
59
|
+
/** The site's link targets, for the preview resolver and the link picker; from the committed manifest. */
|
|
60
|
+
linkTargets: LinkTarget[];
|
|
61
|
+
/** The entries that link to this one, for the delete guard. Empty when nothing links here. */
|
|
62
|
+
inboundLinks: InboundLink[];
|
|
53
63
|
}
|
|
54
64
|
/** The structural event the content routes read; a real SvelteKit RequestEvent satisfies it. */
|
|
55
65
|
export interface ContentEvent {
|
|
@@ -74,7 +84,9 @@ export declare function createContentRoutes(runtime: CairnRuntime, deps?: Conten
|
|
|
74
84
|
listLoad: (event: ContentEvent) => Promise<ListData>;
|
|
75
85
|
createAction: (event: ContentEvent) => Promise<never>;
|
|
76
86
|
editLoad: (event: ContentEvent) => Promise<EditData>;
|
|
77
|
-
saveAction: (event: ContentEvent) => Promise<never>;
|
|
87
|
+
saveAction: (event: ContentEvent) => Promise<ReturnType<typeof fail> | never>;
|
|
88
|
+
deleteAction: (event: ContentEvent) => Promise<ReturnType<typeof fail> | never>;
|
|
89
|
+
renameAction: (event: ContentEvent) => Promise<ReturnType<typeof fail> | never>;
|
|
78
90
|
mintToken: (env: GithubKeyEnv) => Promise<string>;
|
|
79
91
|
};
|
|
80
92
|
//# sourceMappingURL=content-routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-routes.d.ts","sourceRoot":"","sources":["../../src/lib/sveltekit/content-routes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-routes.d.ts","sourceRoot":"","sources":["../../src/lib/sveltekit/content-routes.ts"],"names":[],"mappings":"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"}
|