create-cogenta 0.5.3 → 0.7.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/blueprint-defaults.js +1 -1
- package/dist/blueprint-defaults.js.map +1 -1
- package/dist/blueprints/registry.d.ts +13 -1
- package/dist/blueprints/registry.d.ts.map +1 -1
- package/dist/blueprints/registry.js +23 -5
- package/dist/blueprints/registry.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/playground-reset.js +2 -2
- package/dist/playground-reset.js.map +1 -1
- package/dist/recap.js +1 -1
- package/dist/recap.js.map +1 -1
- package/dist/scaffold.d.ts +5 -3
- package/dist/scaffold.d.ts.map +1 -1
- package/dist/scaffold.js +20 -13
- package/dist/scaffold.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/dist/wizard.js +1 -1
- package/dist/wizard.js.map +1 -1
- package/package.json +14 -13
- package/dist/blueprints/assets/photos/association/community-cleanup.jpg +0 -0
- package/dist/blueprints/assets/photos/association/fundraising-dinner.jpg +0 -0
- package/dist/blueprints/assets/photos/association/garden-planting.jpg +0 -0
- package/dist/blueprints/assets/photos/association/harvest-food-drive.jpg +0 -0
- package/dist/blueprints/assets/photos/association/hero.jpg +0 -0
- package/dist/blueprints/assets/photos/association/volunteer-orientation.jpg +0 -0
- package/dist/blueprints/assets/photos/association/winter-coat-collection.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/blog-runs-itself.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/desk-setup.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/editing.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/hero.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/notebooks.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/plain-text-editor.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/reading-nonfiction.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/small-tool.jpg +0 -0
- package/dist/blueprints/assets/photos/blog/writing-schedule.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/business-2.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/business-3.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/business.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/culture-2.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/culture-3.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/culture.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/news-2.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/news-3.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/news.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/opinion-2.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/opinion-3.jpg +0 -0
- package/dist/blueprints/assets/photos/magazine/opinion.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/adatum-publishing.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/contoso-mobile-app.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/fabrikam-annual-report.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/hero.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/litware-signage.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/northwind-rebrand.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/proseware-launch.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/tailspin-streaming.jpg +0 -0
- package/dist/blueprints/assets/photos/portfolio/wingtip-wayfinding.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/charred-octopus.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/chocolate-tart.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/creme-brulee.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/hero.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/house-red.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/house-white.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/pan-seared-trout.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/poached-pear.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/roasted-beet-salad.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/slow-roast-duck-leg.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/soup-of-the-day.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/sparkling-water.jpg +0 -0
- package/dist/blueprints/assets/photos/restaurant/wild-mushroom-risotto.jpg +0 -0
- package/dist/blueprints/assets/photos/saas/avatar-1.jpg +0 -0
- package/dist/blueprints/assets/photos/saas/hero.jpg +0 -0
- package/dist/blueprints/assets/photos/store/camp-blanket.jpg +0 -0
- package/dist/blueprints/assets/photos/store/canvas-tote.jpg +0 -0
- package/dist/blueprints/assets/photos/store/cast-iron-skillet.jpg +0 -0
- package/dist/blueprints/assets/photos/store/ceramic-pour-over-set.jpg +0 -0
- package/dist/blueprints/assets/photos/store/enamel-mug.jpg +0 -0
- package/dist/blueprints/assets/photos/store/everyday-tee.jpg +0 -0
- package/dist/blueprints/assets/photos/store/field-jacket.jpg +0 -0
- package/dist/blueprints/assets/photos/store/hero.jpg +0 -0
- package/dist/blueprints/assets/photos/store/leather-card-holder.jpg +0 -0
- package/dist/blueprints/assets/photos/store/linen-table-runner.jpg +0 -0
- package/dist/blueprints/assets/photos/store/trail-tote.jpg +0 -0
- package/dist/blueprints/assets/photos/store/wool-beanie.jpg +0 -0
- package/dist/blueprints/assets/photos/store/wool-overshirt.jpg +0 -0
- package/dist/blueprints/assets/photos/vitrine/avatar-1.jpg +0 -0
- package/dist/blueprints/assets/photos/vitrine/avatar-2.jpg +0 -0
- package/dist/blueprints/assets/photos/vitrine/avatar-3.jpg +0 -0
- package/dist/blueprints/assets/photos/vitrine/dashboard.jpg +0 -0
- package/dist/blueprints/assets/photos/vitrine/hero.jpg +0 -0
- package/dist/blueprints/association.d.ts +0 -151
- package/dist/blueprints/association.d.ts.map +0 -1
- package/dist/blueprints/association.js +0 -732
- package/dist/blueprints/association.js.map +0 -1
- package/dist/blueprints/blog.d.ts +0 -198
- package/dist/blueprints/blog.d.ts.map +0 -1
- package/dist/blueprints/blog.js +0 -665
- package/dist/blueprints/blog.js.map +0 -1
- package/dist/blueprints/content-pack.d.ts +0 -143
- package/dist/blueprints/content-pack.d.ts.map +0 -1
- package/dist/blueprints/content-pack.js +0 -111
- package/dist/blueprints/content-pack.js.map +0 -1
- package/dist/blueprints/content-packs.d.ts +0 -11
- package/dist/blueprints/content-packs.d.ts.map +0 -1
- package/dist/blueprints/content-packs.js +0 -29
- package/dist/blueprints/content-packs.js.map +0 -1
- package/dist/blueprints/demo-media.d.ts +0 -39
- package/dist/blueprints/demo-media.d.ts.map +0 -1
- package/dist/blueprints/demo-media.js +0 -30
- package/dist/blueprints/demo-media.js.map +0 -1
- package/dist/blueprints/documentation.d.ts +0 -134
- package/dist/blueprints/documentation.d.ts.map +0 -1
- package/dist/blueprints/documentation.js +0 -678
- package/dist/blueprints/documentation.js.map +0 -1
- package/dist/blueprints/magazine.d.ts +0 -145
- package/dist/blueprints/magazine.d.ts.map +0 -1
- package/dist/blueprints/magazine.js +0 -543
- package/dist/blueprints/magazine.js.map +0 -1
- package/dist/blueprints/menus.d.ts +0 -25
- package/dist/blueprints/menus.d.ts.map +0 -1
- package/dist/blueprints/menus.js +0 -33
- package/dist/blueprints/menus.js.map +0 -1
- package/dist/blueprints/photo-assets.d.ts +0 -3
- package/dist/blueprints/photo-assets.d.ts.map +0 -1
- package/dist/blueprints/photo-assets.js +0 -33
- package/dist/blueprints/photo-assets.js.map +0 -1
- package/dist/blueprints/portfolio.d.ts +0 -141
- package/dist/blueprints/portfolio.d.ts.map +0 -1
- package/dist/blueprints/portfolio.js +0 -700
- package/dist/blueprints/portfolio.js.map +0 -1
- package/dist/blueprints/restaurant.d.ts +0 -124
- package/dist/blueprints/restaurant.d.ts.map +0 -1
- package/dist/blueprints/restaurant.js +0 -457
- package/dist/blueprints/restaurant.js.map +0 -1
- package/dist/blueprints/saas.d.ts +0 -133
- package/dist/blueprints/saas.d.ts.map +0 -1
- package/dist/blueprints/saas.js +0 -551
- package/dist/blueprints/saas.js.map +0 -1
- package/dist/blueprints/site-settings-seed.d.ts +0 -17
- package/dist/blueprints/site-settings-seed.d.ts.map +0 -1
- package/dist/blueprints/site-settings-seed.js +0 -45
- package/dist/blueprints/site-settings-seed.js.map +0 -1
- package/dist/blueprints/starting-skins.d.ts +0 -19
- package/dist/blueprints/starting-skins.d.ts.map +0 -1
- package/dist/blueprints/starting-skins.js +0 -301
- package/dist/blueprints/starting-skins.js.map +0 -1
- package/dist/blueprints/store.d.ts +0 -173
- package/dist/blueprints/store.d.ts.map +0 -1
- package/dist/blueprints/store.js +0 -643
- package/dist/blueprints/store.js.map +0 -1
- package/dist/blueprints/vitrine.d.ts +0 -178
- package/dist/blueprints/vitrine.d.ts.map +0 -1
- package/dist/blueprints/vitrine.js +0 -529
- package/dist/blueprints/vitrine.js.map +0 -1
- package/dist/demo-art/compositions.d.ts +0 -48
- package/dist/demo-art/compositions.d.ts.map +0 -1
- package/dist/demo-art/compositions.js +0 -690
- package/dist/demo-art/compositions.js.map +0 -1
- package/dist/demo-art/index.d.ts +0 -8
- package/dist/demo-art/index.d.ts.map +0 -1
- package/dist/demo-art/index.js +0 -5
- package/dist/demo-art/index.js.map +0 -1
- package/dist/demo-art/oklch.d.ts +0 -39
- package/dist/demo-art/oklch.d.ts.map +0 -1
- package/dist/demo-art/oklch.js +0 -79
- package/dist/demo-art/oklch.js.map +0 -1
- package/dist/demo-art/png.d.ts +0 -24
- package/dist/demo-art/png.d.ts.map +0 -1
- package/dist/demo-art/png.js +0 -110
- package/dist/demo-art/png.js.map +0 -1
- package/dist/demo-art/render.d.ts +0 -228
- package/dist/demo-art/render.d.ts.map +0 -1
- package/dist/demo-art/render.js +0 -478
- package/dist/demo-art/render.js.map +0 -1
package/dist/blueprints/menus.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { createMenuStore, ensureMenuTables } from '@cogenta/schema';
|
|
2
|
-
const HEADER_LOCATION = 'primary';
|
|
3
|
-
const FOOTER_LOCATION = 'footer';
|
|
4
|
-
const HEADER_ACTION_LOCATION = 'header-action';
|
|
5
|
-
async function seedOneMenu(store, name, locale, location, items) {
|
|
6
|
-
if (items.length === 0)
|
|
7
|
-
return 0;
|
|
8
|
-
const menu = await store.create({ name, locale, label: name, location });
|
|
9
|
-
for (const item of items) {
|
|
10
|
-
await store.createItem(menu.id, {
|
|
11
|
-
label: item.label,
|
|
12
|
-
kind: item.url === undefined ? 'home' : 'url',
|
|
13
|
-
...(item.url === undefined ? {} : { url: item.url }),
|
|
14
|
-
...(item.openInNewTab === undefined ? {} : { openInNewTab: item.openInNewTab }),
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
return items.length;
|
|
18
|
-
}
|
|
19
|
-
/** Seeds a blueprint's header/footer/header-action menus, one call, real `MenuStore`. Returns the total number of items seeded. */
|
|
20
|
-
export async function seedBlueprintMenus(db, defaultLocale, menus) {
|
|
21
|
-
await ensureMenuTables(db);
|
|
22
|
-
const store = createMenuStore({ db });
|
|
23
|
-
let seeded = 0;
|
|
24
|
-
seeded += await seedOneMenu(store, 'header', defaultLocale, HEADER_LOCATION, menus.header);
|
|
25
|
-
seeded += await seedOneMenu(store, 'footer', defaultLocale, FOOTER_LOCATION, menus.footer);
|
|
26
|
-
if (menus.headerAction !== undefined) {
|
|
27
|
-
seeded += await seedOneMenu(store, 'header-action', defaultLocale, HEADER_ACTION_LOCATION, [
|
|
28
|
-
menus.headerAction,
|
|
29
|
-
]);
|
|
30
|
-
}
|
|
31
|
-
return seeded;
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=menus.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menus.js","sourceRoot":"","sources":["../../src/blueprints/menus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AA0BnE,MAAM,eAAe,GAAG,SAAS,CAAA;AACjC,MAAM,eAAe,GAAG,QAAQ,CAAA;AAChC,MAAM,sBAAsB,GAAG,eAAe,CAAA;AAE9C,KAAK,UAAU,WAAW,CACxB,KAAyC,EACzC,IAAY,EACZ,MAAc,EACd,QAAgB,EAChB,KAA8B;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC7C,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;SAChF,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAA;AACrB,CAAC;AAED,mIAAmI;AACnI,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAkB,EAClB,aAAqB,EACrB,KAAqB;IAErB,MAAM,gBAAgB,CAAC,EAAE,CAAC,CAAA;IAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IACrC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,MAAM,IAAI,MAAM,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1F,MAAM,IAAI,MAAM,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1F,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,IAAI,MAAM,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE;YACzF,KAAK,CAAC,YAAY;SACnB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"photo-assets.d.ts","sourceRoot":"","sources":["../../src/blueprints/photo-assets.ts"],"names":[],"mappings":"AA2BA,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAI3E"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from 'node:fs';
|
|
2
|
-
import { fileURLToPath } from 'node:url';
|
|
3
|
-
/**
|
|
4
|
-
* Real, pre-generated photography bundled with this package (L25, product
|
|
5
|
-
* owner direct request: the procedural `demo-art` compositions read as
|
|
6
|
-
* "typiquement le style cent pour cent IA" — abstract shapes standing in
|
|
7
|
-
* for a dish, a product, a person — and a template needs concrete imagery
|
|
8
|
-
* to look genuinely professional).
|
|
9
|
-
*
|
|
10
|
-
* Generated **once**, offline, with a user-supplied Replicate API key that
|
|
11
|
-
* no longer exists by the time anyone reads this — the images themselves
|
|
12
|
-
* are committed here as ordinary binary assets, exactly like
|
|
13
|
-
* `docs/logo/*.png`. Nothing in this package, or in a site it scaffolds,
|
|
14
|
-
* ever calls out to Replicate or needs a key: R1/R2/R9 are untouched,
|
|
15
|
-
* because the *generation* was a one-time authoring step, not a runtime
|
|
16
|
-
* dependency, the same distinction as a designer hand-picking stock photos
|
|
17
|
-
* for a theme's demo content.
|
|
18
|
-
*
|
|
19
|
-
* `seedDemoMedia` prefers a photo asset over the matching `ArtSpec` when
|
|
20
|
-
* one exists for a given `DemoMediaSpec.photo` key, and falls back to the
|
|
21
|
-
* procedural composition otherwise — so a blueprint never *requires* a
|
|
22
|
-
* photo to exist (a future trim of `assets/`, or a blueprint slot no photo
|
|
23
|
-
* was ever generated for, still renders something, never a broken image).
|
|
24
|
-
*/
|
|
25
|
-
const ASSETS_ROOT = new URL('./assets/photos/', import.meta.url);
|
|
26
|
-
/** `relativePath` like `'restaurant/hero.jpg'`. `undefined` when no such file was bundled — never throws. */
|
|
27
|
-
export function loadPhotoAsset(relativePath) {
|
|
28
|
-
const path = fileURLToPath(new URL(relativePath, ASSETS_ROOT));
|
|
29
|
-
if (!existsSync(path))
|
|
30
|
-
return undefined;
|
|
31
|
-
return readFileSync(path);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=photo-assets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"photo-assets.js","sourceRoot":"","sources":["../../src/blueprints/photo-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,kBAAkB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;AAEhE,6GAA6G;AAC7G,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAA;IAC9D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import type { VocabularyBlock } from '@cogenta/blocks';
|
|
2
|
-
import { type CollectionDefinition } from '@cogenta/schema';
|
|
3
|
-
import { type BlueprintContentPack, type RecommendedAgentHint } from './content-pack.js';
|
|
4
|
-
import type { DemoMediaSpec } from './demo-media.js';
|
|
5
|
-
import type { BlueprintMenus } from './menus.js';
|
|
6
|
-
/**
|
|
7
|
-
* The `portfolio` blueprint (L25 Annexe brief, `theme-portfolio` pro pass):
|
|
8
|
-
* a `project` collection — cover image, `role`/`year` as plain structured
|
|
9
|
-
* fields (a `collectionList` grid card and a project's own page both read
|
|
10
|
-
* them straight off the entry, `@cogenta/theme-portfolio`'s own doing, not
|
|
11
|
-
* this blueprint's) — plus a genuinely rich single-page home the theme
|
|
12
|
-
* renders as full-bleed project cards, a services grid with real icons, a
|
|
13
|
-
* client logo strip and a two-part client voice (`quote` then
|
|
14
|
-
* `testimonial`).
|
|
15
|
-
*
|
|
16
|
-
* Rewritten in full for the L25 pro pass (its L9/L23 predecessor seeded
|
|
17
|
-
* three home blocks, three projects, no visuals and no menus at all):
|
|
18
|
-
* eight projects with distinct cover compositions, a nine-block home, an
|
|
19
|
-
* about page, a contact page, a legal page, real header/footer/header-
|
|
20
|
-
* action navigation, and `@cogenta/theme-portfolio` as the default theme.
|
|
21
|
-
*/
|
|
22
|
-
export declare const project: {
|
|
23
|
-
readonly name: "project";
|
|
24
|
-
readonly labels: {
|
|
25
|
-
readonly singular: "Project";
|
|
26
|
-
readonly plural: "Projects";
|
|
27
|
-
};
|
|
28
|
-
readonly routing: {
|
|
29
|
-
readonly pattern: "/work/:slug";
|
|
30
|
-
};
|
|
31
|
-
readonly fields: {
|
|
32
|
-
readonly seoTitle: import("@cogenta/schema").FieldDefinition & {
|
|
33
|
-
readonly kind: "text";
|
|
34
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
35
|
-
};
|
|
36
|
-
readonly seoDescription: import("@cogenta/schema").FieldDefinition & {
|
|
37
|
-
readonly kind: "text";
|
|
38
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
39
|
-
};
|
|
40
|
-
readonly seoImage: import("@cogenta/schema").FieldDefinition & {
|
|
41
|
-
readonly kind: "media";
|
|
42
|
-
readonly options: {
|
|
43
|
-
accept: readonly ("audio" | "file" | "image" | "video")[];
|
|
44
|
-
many: boolean;
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
readonly seoNoindex: import("@cogenta/schema").FieldDefinition & {
|
|
48
|
-
readonly kind: "boolean";
|
|
49
|
-
readonly options: {};
|
|
50
|
-
};
|
|
51
|
-
readonly title: import("@cogenta/schema").FieldDefinition & {
|
|
52
|
-
readonly kind: "text";
|
|
53
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
54
|
-
};
|
|
55
|
-
readonly slug: import("@cogenta/schema").FieldDefinition & {
|
|
56
|
-
readonly kind: "slug";
|
|
57
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
58
|
-
};
|
|
59
|
-
readonly summary: import("@cogenta/schema").FieldDefinition & {
|
|
60
|
-
readonly kind: "text";
|
|
61
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
62
|
-
};
|
|
63
|
-
readonly role: import("@cogenta/schema").FieldDefinition & {
|
|
64
|
-
readonly kind: "text";
|
|
65
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
66
|
-
};
|
|
67
|
-
readonly year: import("@cogenta/schema").FieldDefinition & {
|
|
68
|
-
readonly kind: "text";
|
|
69
|
-
readonly options: Readonly<Record<string, unknown>>;
|
|
70
|
-
};
|
|
71
|
-
readonly coverImage: import("@cogenta/schema").FieldDefinition & {
|
|
72
|
-
readonly kind: "media";
|
|
73
|
-
readonly options: {
|
|
74
|
-
accept: readonly ("audio" | "file" | "image" | "video")[];
|
|
75
|
-
many: boolean;
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
readonly blocks: import("@cogenta/schema").FieldDefinition & {
|
|
79
|
-
readonly kind: "blocks";
|
|
80
|
-
readonly options: {
|
|
81
|
-
allow: "*" | readonly string[];
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
};
|
|
85
|
-
readonly indexes: readonly [readonly ["slug"]];
|
|
86
|
-
readonly permissions: {
|
|
87
|
-
readonly read: readonly ["public"];
|
|
88
|
-
readonly create: readonly ["editor", "admin"];
|
|
89
|
-
readonly update: readonly ["editor", "admin"];
|
|
90
|
-
readonly delete: readonly ["admin"];
|
|
91
|
-
readonly publish: readonly ["admin"];
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
export declare const page: CollectionDefinition;
|
|
95
|
-
export declare const PORTFOLIO_COLLECTIONS: readonly CollectionDefinition[];
|
|
96
|
-
export interface PortfolioDemoProject {
|
|
97
|
-
readonly title: string;
|
|
98
|
-
readonly slug: string;
|
|
99
|
-
readonly summary: string;
|
|
100
|
-
readonly role: string;
|
|
101
|
-
readonly year: string;
|
|
102
|
-
/** A `coverArt` seed, distinct per project so the eight covers read as visibly different compositions rather than palette repeats. */
|
|
103
|
-
readonly coverSeed: number;
|
|
104
|
-
/**
|
|
105
|
-
* Two paragraphs of real project narrative (L26 D1) — rendered on the
|
|
106
|
-
* project's own page as a `prose` block after {@link roleYearPanelBlock},
|
|
107
|
-
* so a visitor who clicks through from the grid finds an actual account
|
|
108
|
-
* of the work, not just a repeated one-line summary and a role/year panel.
|
|
109
|
-
*/
|
|
110
|
-
readonly narrative: readonly [string, string];
|
|
111
|
-
}
|
|
112
|
-
export declare const PORTFOLIO_DEMO_PROJECTS: readonly PortfolioDemoProject[];
|
|
113
|
-
export interface PortfolioDemoPage {
|
|
114
|
-
readonly title: string;
|
|
115
|
-
readonly slug: string;
|
|
116
|
-
readonly blocks: readonly VocabularyBlock[];
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* The home page's nine blocks (L25 Annexe brief): hero, "Selected work" (a
|
|
120
|
-
* full-bleed project grid), the numbers, services, clients, a quote, the
|
|
121
|
-
* full project index, a testimonial and the closing call to action. Every
|
|
122
|
-
* block's `_key` doubles as a real in-page anchor
|
|
123
|
-
* (`@cogenta/theme-portfolio`'s `renderPage`, which stamps a real `id` from
|
|
124
|
-
* it) — the header/footer menus below link straight into "Selected work"
|
|
125
|
-
* and "Services" rather than a dead `#fragment`.
|
|
126
|
-
*
|
|
127
|
-
* A function of `media` (`SeedContext.media`), not a static const: the
|
|
128
|
-
* hero/logo media fields need ids `seedDemoMedia` only knows at scaffold
|
|
129
|
-
* time. `buildPortfolioHomeBlocks({})` (no media) still returns a complete,
|
|
130
|
-
* valid block list — `hero`/`logoStrip` simply drop their media-bearing
|
|
131
|
-
* fields rather than emit an invalid block.
|
|
132
|
-
*/
|
|
133
|
-
export declare function buildPortfolioHomeBlocks(media: Readonly<Record<string, string>>): readonly VocabularyBlock[];
|
|
134
|
-
export declare function buildPortfolioDemoPages(media: Readonly<Record<string, string>>): readonly PortfolioDemoPage[];
|
|
135
|
-
export declare const PORTFOLIO_RECOMMENDED_AGENTS: readonly RecommendedAgentHint[];
|
|
136
|
-
export declare const PORTFOLIO_MEDIA_SPECS: readonly DemoMediaSpec[];
|
|
137
|
-
/** Header/footer navigation and the header "Let's talk" button (L25 D4) — "Work"/"Services" are real, working in-page anchors into the home page's own blocks; "About"/"Contact"/"Legal" are real pages. */
|
|
138
|
-
export declare const PORTFOLIO_MENUS: BlueprintMenus;
|
|
139
|
-
export declare const PORTFOLIO_SITE_SETTINGS: Readonly<Record<string, unknown>>;
|
|
140
|
-
export declare const portfolioContentPack: BlueprintContentPack;
|
|
141
|
-
//# sourceMappingURL=portfolio.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../src/blueprints/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAExE,OAAO,EACL,KAAK,oBAAoB,EAK1B,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAK1B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGhD;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BlB,CAAA;AAEF,eAAO,MAAM,IAAI,sBAAiC,CAAA;AAElD,eAAO,MAAM,qBAAqB,EAAE,SAAS,oBAAoB,EAAoB,CAAA;AAIrF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sIAAsI;IACtI,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9C;AAED,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAyGlE,CAAA;AA+DD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAC5C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACtC,SAAS,eAAe,EAAE,CA2H5B;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACtC,SAAS,iBAAiB,EAAE,CA+L9B;AAED,eAAO,MAAM,4BAA4B,EAAE,SAAS,oBAAoB,EAWvE,CAAA;AA0CD,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EA2CzD,CAAA;AAED,4MAA4M;AAC5M,eAAO,MAAM,eAAe,EAAE,cAc7B,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQrE,CAAA;AA4CD,eAAO,MAAM,oBAAoB,EAAE,oBAQlC,CAAA"}
|