@janga/norna 0.7.18 → 0.7.22
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 +22 -12
- package/astro.config.mjs +22 -0
- package/bin/norna-cli.mjs +6 -0
- package/package.json +45 -12
- package/schemas/category.schema.json +20 -0
- package/schemas/config.schema.json +16 -6
- package/schemas/content-frontmatter.schema.json +5 -5
- package/schemas/manifest.json +2 -1
- package/schemas/page-theme.schema.json +22 -22
- package/schemas/sitewide-content.schema.json +18 -18
- package/schemas/theme.schema.json +312 -146
- package/scripts/add-site-node.mjs +251 -0
- package/scripts/check-config.mjs +10 -2
- package/scripts/deploy-site.mjs +5 -8
- package/scripts/generate-images.mjs +11 -15
- package/scripts/generate-schemas.mjs +4 -1
- package/scripts/init-site.mjs +35 -0
- package/scripts/lib/astro-command.mjs +14 -9
- package/scripts/lib/editor-language-service.mjs +28 -177
- package/scripts/lib/heading-ids.mjs +3 -1
- package/scripts/lib/navigation-model.mjs +23 -17
- package/scripts/lib/norna-markdown-blocks.mjs +64 -145
- package/scripts/lib/norna-markdown-render-plugin.mjs +37 -0
- package/scripts/lib/object.mjs +28 -0
- package/scripts/lib/page-markdown.mjs +282 -0
- package/scripts/lib/presentation-contract.mjs +266 -0
- package/scripts/lib/presentation-palette-metadata.mjs +51 -0
- package/scripts/lib/presentation.mjs +526 -79
- package/scripts/lib/project-config.mjs +53 -6
- package/scripts/lib/schema-definitions.mjs +53 -13
- package/scripts/lib/schema-editor-metadata.mjs +107 -18
- package/scripts/lib/schema-value-definitions.mjs +24 -10
- package/scripts/lib/site-content.mjs +23 -238
- package/scripts/lib/site-paths.mjs +2 -3
- package/scripts/lib/site-structure.mjs +189 -0
- package/scripts/lib/theme-presets.mjs +75 -104
- package/scripts/lib/theme-profiles.mjs +221 -0
- package/scripts/lib/typography.mjs +220 -35
- package/scripts/lib/yaml-config.mjs +46 -6
- package/scripts/lib/yaml-indentation.mjs +86 -0
- package/scripts/show-typography.mjs +2 -3
- package/scripts/sync-content-sections.mjs +87 -76
- package/src/components/DisplaySettings.astro +107 -0
- package/src/components/ImageCarousel.astro +34 -13
- package/src/components/NavigationPageTree.astro +74 -43
- package/src/components/SectionNavigationScript.astro +56 -2
- package/src/components/SiteBreadcrumbs.astro +15 -12
- package/src/components/SiteNavigation.astro +92 -41
- package/src/components/SitePage.astro +35 -39
- package/src/components/SiteSection.astro +35 -191
- package/src/components/SiteTreeNavigation.astro +10 -9
- package/src/layouts/BaseLayout.astro +46 -6
- package/src/lib/generatedImages.ts +0 -7
- package/src/lib/readerPreferencesScript.mjs +141 -0
- package/src/lib/sectionContent.ts +119 -201
- package/src/lib/siteNavigation.ts +36 -18
- package/src/lib/sitePages.ts +91 -20
- package/src/pages/[...slug].astro +2 -2
- package/src/styles/global.css +759 -296
- package/starters/basic/README.md +2 -2
- package/docs/README.md +0 -137
- package/docs/assets/norna-dog-shelter.jpg +0 -0
- package/docs/commands.md +0 -189
- package/docs/configuration.md +0 -142
- package/docs/content.md +0 -351
- package/docs/design/command-organization.md +0 -414
- package/docs/design/navigation-and-theme-plan.md +0 -186
- package/docs/design/norna-diagram-design.md +0 -159
- package/docs/design/site-examples-structure.md +0 -119
- package/docs/engine-development.md +0 -215
- package/docs/getting-started.md +0 -206
- package/docs/how-to/embedded-site.md +0 -35
- package/docs/images-and-metadata.md +0 -188
- package/docs/local-development.md +0 -82
- package/docs/pages.md +0 -190
- package/docs/public-files.md +0 -118
- package/docs/publishing.md +0 -117
- package/docs/requirements.md +0 -54
- package/docs/site-files.md +0 -152
- package/docs/sitewide-content.md +0 -73
- package/docs/theme.md +0 -237
- package/docs/typography.md +0 -168
- package/examples/README.md +0 -49
- package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/site.schema.json +0 -35
- package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/sitewide.schema.json +0 -97
- package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/theme.schema.json +0 -852
- package/examples/complete-sites/dog-shelter-multi-page/.astro/content-assets.mjs +0 -4
- package/examples/complete-sites/dog-shelter-multi-page/.astro/content-modules.mjs +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/.astro/content.d.ts +0 -183
- package/examples/complete-sites/dog-shelter-multi-page/.astro/data-store.json +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/.astro/dev-local.json +0 -8
- package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.json +0 -13
- package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.log +0 -36
- package/examples/complete-sites/dog-shelter-multi-page/.astro/settings.json +0 -5
- package/examples/complete-sites/dog-shelter-multi-page/.astro/types.d.ts +0 -2
- package/examples/complete-sites/dog-shelter-multi-page/README.md +0 -24
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/_metadata.json +0 -74
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro-B3JHJyiv.js +0 -434
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro-B3JHJyiv.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/audit-C3SVr7dT.js +0 -1534
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/audit-C3SVr7dT.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/highlight-BLtvqtzO.js +0 -48
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/icons-C92i61-2.js +0 -42
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/icons-C92i61-2.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/package.json +0 -3
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/settings-v5GgKks_.js +0 -190
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/settings-v5GgKks_.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/toolbar-BFvJVp26.js +0 -458
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js +0 -1016
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/window-vo3A6TMn.js +0 -32
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/window-vo3A6TMn.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/xray-DwhzGckb.js +0 -111
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/xray-DwhzGckb.js.map +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/site/.norna/generated-images.json +0 -98
- package/examples/complete-sites/dog-shelter-multi-page/site/config.yaml +0 -1
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/000-home/content.md +0 -23
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/000-home/images/shelter-dog.jpg +0 -0
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/010-dogs/content.md +0 -21
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/010-dogs/images/rex.jpg +0 -0
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/010-dogs/images/rover.jpg +0 -0
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/020-adopt/content.md +0 -22
- package/examples/complete-sites/dog-shelter-multi-page/site/pages/020-adopt/images/adoption-dog.jpg +0 -0
- package/examples/complete-sites/dog-shelter-multi-page/site/public/favicon.svg +0 -10
- package/examples/complete-sites/dog-shelter-multi-page/site/public/logo.svg +0 -9
- package/examples/complete-sites/dog-shelter-multi-page/site/public/robots.txt +0 -2
- package/examples/complete-sites/dog-shelter-multi-page/site/sitewide-content.yaml +0 -4
- package/examples/complete-sites/dog-shelter-multi-page/site/theme.yaml +0 -1
- package/examples/complete-sites/dog-shelter-single-page/.astro/collections/site.schema.json +0 -35
- package/examples/complete-sites/dog-shelter-single-page/.astro/collections/sitewide.schema.json +0 -97
- package/examples/complete-sites/dog-shelter-single-page/.astro/collections/theme.schema.json +0 -852
- package/examples/complete-sites/dog-shelter-single-page/.astro/content-assets.mjs +0 -4
- package/examples/complete-sites/dog-shelter-single-page/.astro/content-modules.mjs +0 -1
- package/examples/complete-sites/dog-shelter-single-page/.astro/content.d.ts +0 -183
- package/examples/complete-sites/dog-shelter-single-page/.astro/data-store.json +0 -1
- package/examples/complete-sites/dog-shelter-single-page/.astro/dev-local.json +0 -8
- package/examples/complete-sites/dog-shelter-single-page/.astro/dev.json +0 -13
- package/examples/complete-sites/dog-shelter-single-page/.astro/dev.log +0 -18
- package/examples/complete-sites/dog-shelter-single-page/.astro/settings.json +0 -5
- package/examples/complete-sites/dog-shelter-single-page/.astro/types.d.ts +0 -2
- package/examples/complete-sites/dog-shelter-single-page/README.md +0 -24
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/_metadata.json +0 -74
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro-B3JHJyiv.js +0 -434
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro-B3JHJyiv.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/audit-C3SVr7dT.js +0 -1534
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/audit-C3SVr7dT.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/highlight-BLtvqtzO.js +0 -48
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/icons-C92i61-2.js +0 -42
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/icons-C92i61-2.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/package.json +0 -3
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/settings-v5GgKks_.js +0 -190
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/settings-v5GgKks_.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/toolbar-BFvJVp26.js +0 -458
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js +0 -1016
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/window-vo3A6TMn.js +0 -32
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/window-vo3A6TMn.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/xray-DwhzGckb.js +0 -111
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/xray-DwhzGckb.js.map +0 -1
- package/examples/complete-sites/dog-shelter-single-page/site/.norna/generated-images.json +0 -50
- package/examples/complete-sites/dog-shelter-single-page/site/config.yaml +0 -1
- package/examples/complete-sites/dog-shelter-single-page/site/pages/000-home/content.md +0 -37
- package/examples/complete-sites/dog-shelter-single-page/site/pages/000-home/images/foster-dog.jpg +0 -0
- package/examples/complete-sites/dog-shelter-single-page/site/pages/000-home/images/rescue-dog.jpg +0 -0
- package/examples/complete-sites/dog-shelter-single-page/site/public/favicon.svg +0 -10
- package/examples/complete-sites/dog-shelter-single-page/site/public/logo.svg +0 -9
- package/examples/complete-sites/dog-shelter-single-page/site/public/robots.txt +0 -2
- package/examples/complete-sites/dog-shelter-single-page/site/sitewide-content.yaml +0 -4
- package/examples/complete-sites/dog-shelter-single-page/site/theme.yaml +0 -1
- package/examples/feature-demos/media-and-surfaces/.astro/collections/site.schema.json +0 -35
- package/examples/feature-demos/media-and-surfaces/.astro/collections/sitewide.schema.json +0 -97
- package/examples/feature-demos/media-and-surfaces/.astro/collections/theme.schema.json +0 -844
- package/examples/feature-demos/media-and-surfaces/.astro/content-assets.mjs +0 -4
- package/examples/feature-demos/media-and-surfaces/.astro/content-modules.mjs +0 -1
- package/examples/feature-demos/media-and-surfaces/.astro/content.d.ts +0 -183
- package/examples/feature-demos/media-and-surfaces/.astro/data-store.json +0 -1
- package/examples/feature-demos/media-and-surfaces/.astro/dev.log +0 -14
- package/examples/feature-demos/media-and-surfaces/.astro/settings.json +0 -5
- package/examples/feature-demos/media-and-surfaces/.astro/types.d.ts +0 -2
- package/examples/feature-demos/media-and-surfaces/README.md +0 -21
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/_metadata.json +0 -80
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro-B3JHJyiv.js +0 -434
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro-B3JHJyiv.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/audit-C3SVr7dT.js +0 -1534
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/audit-C3SVr7dT.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/embla-carousel.js +0 -1389
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/embla-carousel.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/highlight-BLtvqtzO.js +0 -48
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/icons-C92i61-2.js +0 -42
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/icons-C92i61-2.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/package.json +0 -3
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/settings-v5GgKks_.js +0 -190
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/settings-v5GgKks_.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/toolbar-BFvJVp26.js +0 -458
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/ui-library-Cd35oAvo.js +0 -1016
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/window-vo3A6TMn.js +0 -32
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/window-vo3A6TMn.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/xray-DwhzGckb.js +0 -111
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/xray-DwhzGckb.js.map +0 -1
- package/examples/feature-demos/media-and-surfaces/site/.norna/generated-images.json +0 -66
- package/examples/feature-demos/media-and-surfaces/site/config.yaml +0 -1
- package/examples/feature-demos/media-and-surfaces/site/pages/000-home/content.md +0 -15
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/content.md +0 -71
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/card-carousel.svg +0 -11
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/card-stack.svg +0 -9
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/card-surfaces.svg +0 -8
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/carousel-one.svg +0 -8
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/carousel-three.svg +0 -13
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/carousel-two.svg +0 -8
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/stack-one.svg +0 -8
- package/examples/feature-demos/media-and-surfaces/site/pages/010-media/images/stack-two.svg +0 -9
- package/examples/feature-demos/media-and-surfaces/site/pages/020-surfaces/content.md +0 -42
- package/examples/feature-demos/media-and-surfaces/site/pages/020-surfaces/theme.yaml +0 -2
- package/examples/feature-demos/media-and-surfaces/site/public/robots.txt +0 -2
- package/examples/feature-demos/media-and-surfaces/site/sitewide-content.yaml +0 -2
- package/examples/feature-demos/media-and-surfaces/site/theme.yaml +0 -1
- package/examples/feature-demos/sitewide-content/.astro/collections/site.schema.json +0 -59
- package/examples/feature-demos/sitewide-content/.astro/collections/sitewide.schema.json +0 -138
- package/examples/feature-demos/sitewide-content/.astro/collections/theme.schema.json +0 -755
- package/examples/feature-demos/sitewide-content/.astro/content-assets.mjs +0 -1
- package/examples/feature-demos/sitewide-content/.astro/content-modules.mjs +0 -1
- package/examples/feature-demos/sitewide-content/.astro/content.d.ts +0 -183
- package/examples/feature-demos/sitewide-content/.astro/data-store.json +0 -1
- package/examples/feature-demos/sitewide-content/.astro/dev.json +0 -13
- package/examples/feature-demos/sitewide-content/.astro/dev.log +0 -18
- package/examples/feature-demos/sitewide-content/.astro/settings.json +0 -5
- package/examples/feature-demos/sitewide-content/.astro/types.d.ts +0 -2
- package/examples/feature-demos/sitewide-content/README.md +0 -26
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/_metadata.json +0 -74
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro-B3JHJyiv.js +0 -434
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro-B3JHJyiv.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/audit-C3SVr7dT.js +0 -1534
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/audit-C3SVr7dT.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/highlight-BLtvqtzO.js +0 -48
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/icons-C92i61-2.js +0 -42
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/icons-C92i61-2.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/package.json +0 -3
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/settings-v5GgKks_.js +0 -190
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/settings-v5GgKks_.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/toolbar-BFvJVp26.js +0 -458
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/ui-library-Cd35oAvo.js +0 -1016
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/window-vo3A6TMn.js +0 -32
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/window-vo3A6TMn.js.map +0 -1
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/xray-DwhzGckb.js +0 -111
- package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/xray-DwhzGckb.js.map +0 -1
- package/examples/feature-demos/sitewide-content/site/.norna/generated-images.json +0 -1
- package/examples/feature-demos/sitewide-content/site/config.yaml +0 -1
- package/examples/feature-demos/sitewide-content/site/pages/000-home/content.md +0 -17
- package/examples/feature-demos/sitewide-content/site/pages/010-logo-and-navigation/content.md +0 -17
- package/examples/feature-demos/sitewide-content/site/pages/020-notices/content.md +0 -23
- package/examples/feature-demos/sitewide-content/site/pages/030-footer/content.md +0 -18
- package/examples/feature-demos/sitewide-content/site/public/logo.svg +0 -6
- package/examples/feature-demos/sitewide-content/site/public/robots.txt +0 -2
- package/examples/feature-demos/sitewide-content/site/sitewide-content.yaml +0 -14
- package/examples/feature-demos/sitewide-content/site/theme.yaml +0 -1
- package/examples/feature-demos/theme-preset-documentation/README.md +0 -16
- package/examples/feature-demos/theme-preset-documentation/site/.norna/generated-images.json +0 -74
- package/examples/feature-demos/theme-preset-documentation/site/config.yaml +0 -1
- package/examples/feature-demos/theme-preset-documentation/site/pages/000-home/content.md +0 -30
- package/examples/feature-demos/theme-preset-documentation/site/pages/000-home/images/black-schnauzer.jpg +0 -0
- package/examples/feature-demos/theme-preset-documentation/site/pages/000-home/images/retriever-portrait.jpg +0 -0
- package/examples/feature-demos/theme-preset-documentation/site/pages/000-home/images/schnauzer-portrait.jpg +0 -0
- package/examples/feature-demos/theme-preset-documentation/site/public/robots.txt +0 -2
- package/examples/feature-demos/theme-preset-documentation/site/sitewide-content.yaml +0 -3
- package/examples/feature-demos/theme-preset-documentation/site/theme.yaml +0 -1
- package/examples/feature-demos/theme-preset-portfolio/README.md +0 -16
- package/examples/feature-demos/theme-preset-portfolio/site/.norna/generated-images.json +0 -74
- package/examples/feature-demos/theme-preset-portfolio/site/config.yaml +0 -1
- package/examples/feature-demos/theme-preset-portfolio/site/pages/000-home/content.md +0 -31
- package/examples/feature-demos/theme-preset-portfolio/site/pages/000-home/images/puppy-portrait.jpg +0 -0
- package/examples/feature-demos/theme-preset-portfolio/site/pages/000-home/images/shepherd-portrait.jpg +0 -0
- package/examples/feature-demos/theme-preset-portfolio/site/pages/000-home/images/white-puppy.jpg +0 -0
- package/examples/feature-demos/theme-preset-portfolio/site/public/robots.txt +0 -2
- package/examples/feature-demos/theme-preset-portfolio/site/sitewide-content.yaml +0 -3
- package/examples/feature-demos/theme-preset-portfolio/site/theme.yaml +0 -1
- package/examples/feature-demos/theme-preset-project/.astro/collections/routeTheme.schema.json +0 -746
- package/examples/feature-demos/theme-preset-project/.astro/collections/site.schema.json +0 -59
- package/examples/feature-demos/theme-preset-project/.astro/collections/sitewide.schema.json +0 -138
- package/examples/feature-demos/theme-preset-project/.astro/collections/theme.schema.json +0 -755
- package/examples/feature-demos/theme-preset-project/.astro/content-assets.mjs +0 -4
- package/examples/feature-demos/theme-preset-project/.astro/content-modules.mjs +0 -1
- package/examples/feature-demos/theme-preset-project/.astro/content.d.ts +0 -183
- package/examples/feature-demos/theme-preset-project/.astro/data-store.json +0 -1
- package/examples/feature-demos/theme-preset-project/.astro/dev-local.json +0 -8
- package/examples/feature-demos/theme-preset-project/.astro/dev.json +0 -15
- package/examples/feature-demos/theme-preset-project/.astro/dev.log +0 -164
- package/examples/feature-demos/theme-preset-project/.astro/settings.json +0 -5
- package/examples/feature-demos/theme-preset-project/.astro/types.d.ts +0 -2
- package/examples/feature-demos/theme-preset-project/README.md +0 -16
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/_metadata.json +0 -80
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -434
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -1534
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/embla-carousel.js +0 -1389
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/embla-carousel.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -48
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/icons-RyebKi45.js +0 -42
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/package.json +0 -3
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -190
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/toolbar-63PA619H.js +0 -458
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -1016
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/window-jPkpKVcy.js +0 -32
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -111
- package/examples/feature-demos/theme-preset-project/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -1
- package/examples/feature-demos/theme-preset-project/site/.norna/generated-images.json +0 -74
- package/examples/feature-demos/theme-preset-project/site/config.yaml +0 -1
- package/examples/feature-demos/theme-preset-project/site/pages/000-home/content.md +0 -31
- package/examples/feature-demos/theme-preset-project/site/pages/000-home/images/boxer-portrait.jpg +0 -0
- package/examples/feature-demos/theme-preset-project/site/pages/000-home/images/grass-puppy.jpg +0 -0
- package/examples/feature-demos/theme-preset-project/site/pages/000-home/images/grey-street-dog.jpg +0 -0
- package/examples/feature-demos/theme-preset-project/site/public/robots.txt +0 -2
- package/examples/feature-demos/theme-preset-project/site/sitewide-content.yaml +0 -3
- package/examples/feature-demos/theme-preset-project/site/theme.yaml +0 -1
- package/examples/feature-demos/theme-preset-statement/README.md +0 -16
- package/examples/feature-demos/theme-preset-statement/site/.norna/generated-images.json +0 -74
- package/examples/feature-demos/theme-preset-statement/site/config.yaml +0 -1
- package/examples/feature-demos/theme-preset-statement/site/pages/000-home/content.md +0 -31
- package/examples/feature-demos/theme-preset-statement/site/pages/000-home/images/black-pedigree.jpg +0 -0
- package/examples/feature-demos/theme-preset-statement/site/pages/000-home/images/sheepdog-grass.jpg +0 -0
- package/examples/feature-demos/theme-preset-statement/site/pages/000-home/images/sheepdog-wide.jpg +0 -0
- package/examples/feature-demos/theme-preset-statement/site/public/robots.txt +0 -2
- package/examples/feature-demos/theme-preset-statement/site/sitewide-content.yaml +0 -3
- package/examples/feature-demos/theme-preset-statement/site/theme.yaml +0 -1
- package/fixtures/basic/site/.norna/generated-images.json +0 -1
- package/fixtures/basic/site/config.yaml +0 -1
- package/fixtures/basic/site/pages/000-home/content.md +0 -14
- package/fixtures/basic/site/pages/000-home/images/.gitkeep +0 -1
- package/fixtures/basic/site/public/robots.txt +0 -2
- package/fixtures/basic/site/sitewide-content.yaml +0 -3
- package/fixtures/basic/site/theme.yaml +0 -1
- package/fixtures/content-model-v2/.astro/collections/site.schema.json +0 -776
- package/fixtures/content-model-v2/.astro/collections/theme.schema.json +0 -668
- package/fixtures/content-model-v2/.astro/content-assets.mjs +0 -4
- package/fixtures/content-model-v2/.astro/content-modules.mjs +0 -1
- package/fixtures/content-model-v2/.astro/content.d.ts +0 -175
- package/fixtures/content-model-v2/.astro/data-store.json +0 -1
- package/fixtures/content-model-v2/.astro/dev-local.json +0 -8
- package/fixtures/content-model-v2/.astro/dev.json +0 -13
- package/fixtures/content-model-v2/.astro/dev.log +0 -231
- package/fixtures/content-model-v2/.astro/settings.json +0 -5
- package/fixtures/content-model-v2/.astro/types.d.ts +0 -2
- package/fixtures/content-model-v2/dist/_astro/GalleryGrid.astro_astro_type_script_index_0_lang.B0kxDyGz.js +0 -1
- package/fixtures/content-model-v2/dist/_astro/SitePage.BbfZub4g.css +0 -1
- package/fixtures/content-model-v2/dist/guide/index.html +0 -3
- package/fixtures/content-model-v2/dist/images/generated/intro/detail-27930b14-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/detail-27930b14-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/detail-27930b14-971.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/duplicate-49c98f6c-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/duplicate-49c98f6c-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/duplicate-49c98f6c-971.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/hero-6d588a83-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/hero-6d588a83-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/intro/hero-6d588a83-971.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/plain/image-3770d763-1080.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/plain/image-3770d763-1440.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/plain/image-3770d763-1600.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/plain/image-3770d763-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/plain/image-3770d763-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/routes/010-guide/images/intro/duplicate-5cf614d2-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/routes/010-guide/images/intro/duplicate-5cf614d2-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/routes/010-guide/images/intro/duplicate-5cf614d2-960.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-one-3770d763-1080.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-one-3770d763-1440.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-one-3770d763-1600.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-one-3770d763-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-one-3770d763-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-three-5bdec65e-1080.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-three-5bdec65e-1440.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-three-5bdec65e-1600.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-three-5bdec65e-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-three-5bdec65e-768.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-two-26c08aee-1080.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-two-26c08aee-1440.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-two-26c08aee-1600.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-two-26c08aee-480.webp +0 -0
- package/fixtures/content-model-v2/dist/images/generated/timed/slide-two-26c08aee-768.webp +0 -0
- package/fixtures/content-model-v2/dist/index.html +0 -8
- package/fixtures/content-model-v2/node_modules/.vite/deps/_metadata.json +0 -80
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -434
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/fixtures/content-model-v2/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -1534
- package/fixtures/content-model-v2/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/embla-carousel.js +0 -1389
- package/fixtures/content-model-v2/node_modules/.vite/deps/embla-carousel.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -48
- package/fixtures/content-model-v2/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/icons-RyebKi45.js +0 -42
- package/fixtures/content-model-v2/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/package.json +0 -3
- package/fixtures/content-model-v2/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/fixtures/content-model-v2/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -190
- package/fixtures/content-model-v2/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/toolbar-63PA619H.js +0 -458
- package/fixtures/content-model-v2/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -1016
- package/fixtures/content-model-v2/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/window-jPkpKVcy.js +0 -32
- package/fixtures/content-model-v2/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -1
- package/fixtures/content-model-v2/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -111
- package/fixtures/content-model-v2/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -1
- package/fixtures/content-model-v2/site/.norna/generated-images.json +0 -210
- package/fixtures/content-model-v2/site/config.yaml +0 -1
- package/fixtures/content-model-v2/site/pages/000-home/content.md +0 -79
- package/fixtures/content-model-v2/site/pages/000-home/images/adopt.svg +0 -9
- package/fixtures/content-model-v2/site/pages/000-home/images/detail.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/000-home/images/duplicate.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/000-home/images/foster.svg +0 -12
- package/fixtures/content-model-v2/site/pages/000-home/images/hero.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/000-home/images/image.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/000-home/images/slide-one.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/000-home/images/slide-three.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/000-home/images/slide-two.jpg +0 -0
- package/fixtures/content-model-v2/site/pages/010-guide/content.md +0 -18
- package/fixtures/content-model-v2/site/pages/010-guide/images/duplicate.jpg +0 -0
- package/fixtures/content-model-v2/site/theme.yaml +0 -4
- package/fixtures/nested-pages/.astro/collections/site.schema.json +0 -35
- package/fixtures/nested-pages/.astro/collections/sitewide.schema.json +0 -97
- package/fixtures/nested-pages/.astro/collections/theme.schema.json +0 -844
- package/fixtures/nested-pages/.astro/content-assets.mjs +0 -4
- package/fixtures/nested-pages/.astro/content-modules.mjs +0 -1
- package/fixtures/nested-pages/.astro/content.d.ts +0 -183
- package/fixtures/nested-pages/.astro/data-store.json +0 -1
- package/fixtures/nested-pages/.astro/dev-local.json +0 -8
- package/fixtures/nested-pages/.astro/dev.log +0 -1128
- package/fixtures/nested-pages/.astro/settings.json +0 -5
- package/fixtures/nested-pages/.astro/types.d.ts +0 -2
- package/fixtures/nested-pages/node_modules/.vite/deps/_metadata.json +0 -74
- package/fixtures/nested-pages/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -434
- package/fixtures/nested-pages/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_aria-query.js +0 -6390
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_axobject-query.js +0 -2702
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_html-escaper.js +0 -65
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -455
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -1534
- package/fixtures/nested-pages/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -48
- package/fixtures/nested-pages/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/icons-RyebKi45.js +0 -42
- package/fixtures/nested-pages/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/package.json +0 -3
- package/fixtures/nested-pages/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -4
- package/fixtures/nested-pages/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -190
- package/fixtures/nested-pages/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/toolbar-63PA619H.js +0 -458
- package/fixtures/nested-pages/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -1016
- package/fixtures/nested-pages/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/window-jPkpKVcy.js +0 -32
- package/fixtures/nested-pages/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -1
- package/fixtures/nested-pages/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -111
- package/fixtures/nested-pages/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -1
- package/fixtures/nested-pages/site/.norna/generated-images.json +0 -10
- package/fixtures/nested-pages/site/config.yaml +0 -3
- package/fixtures/nested-pages/site/pages/000-home/content.md +0 -15
- package/fixtures/nested-pages/site/pages/010-guides/content.md +0 -15
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/content.md +0 -21
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/images/diagram.svg +0 -21
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/pages/010-macos/content.md +0 -18
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/theme.yaml +0 -2
- package/fixtures/nested-pages/site/pages/010-guides/pages/020-workflows/content.md +0 -11
- package/fixtures/nested-pages/site/pages/010-guides/pages/030-release-notes/content.md +0 -9
- package/fixtures/nested-pages/site/pages/010-guides/pages/040-configuration/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/050-content/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/060-themes/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/070-images/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/080-cards/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/090-notes/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/100-validation/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/110-synchronization/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/120-building/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/130-publishing/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/140-troubleshooting/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/150-migration/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/160-accessibility/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/170-performance/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/180-security/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/190-localization/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/200-upgrading/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/pages/210-faq/content.md +0 -3
- package/fixtures/nested-pages/site/pages/010-guides/theme.yaml +0 -7
- package/fixtures/nested-pages/site/pages/020-reference/content.md +0 -10
- package/fixtures/nested-pages/site/pages/020-reference/pages/010-installation/content.md +0 -11
- package/fixtures/nested-pages/site/theme.yaml +0 -1
- package/scripts/build-pages.mjs +0 -69
- package/scripts/lib/example-sites.mjs +0 -49
- package/scripts/lib/frontmatter-yaml.mjs +0 -113
- package/scripts/lib/git-status.mjs +0 -7
- package/scripts/release.mjs +0 -153
- package/scripts/test-banner-visibility.mjs +0 -80
- package/scripts/test-ci-lockfile.mjs +0 -65
- package/scripts/test-cli-discovery.mjs +0 -124
- package/scripts/test-client-javascript.mjs +0 -225
- package/scripts/test-content-check.mjs +0 -621
- package/scripts/test-content-model-v2.mjs +0 -1693
- package/scripts/test-documentation.mjs +0 -189
- package/scripts/test-editor-language-service.mjs +0 -305
- package/scripts/test-engine-commands.mjs +0 -204
- package/scripts/test-examples.mjs +0 -53
- package/scripts/test-heading-ids.mjs +0 -68
- package/scripts/test-navigation-model.mjs +0 -63
- package/scripts/test-navigation-preview.mjs +0 -108
- package/scripts/test-navigation.mjs +0 -157
- package/scripts/test-nested-pages.mjs +0 -125
- package/scripts/test-package-check.mjs +0 -500
- package/scripts/test-page-model.mjs +0 -108
- package/scripts/test-project-config.mjs +0 -139
- package/scripts/test-schemas.mjs +0 -169
- package/scripts/test-site-public.mjs +0 -85
- package/scripts/test-theme-presets.mjs +0 -188
- package/src/components/SiteNotesScript.astro +0 -43
- package/starters/project/.github/workflows/deploy.yml +0 -64
- package/starters/project/README.md +0 -84
- package/starters/project/package-lock.json +0 -4296
- package/starters/project/package.json +0 -37
- package/starters/project/site/config.yaml +0 -1
- package/starters/project/site/pages/000-home/content.md +0 -119
- package/starters/project/site/pages/010-guide/content.md +0 -80
- package/starters/project/site/public/robots.txt +0 -2
- package/starters/project/site/sitewide-content.yaml +0 -3
- package/starters/project/site/theme.yaml +0 -1
- package/tsconfig.json +0 -5
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
# Command Organization
|
|
2
|
-
|
|
3
|
-
This document defines the naming principles for commands in `norna`, site
|
|
4
|
-
repositories, and GitHub projects that embed a Norna site.
|
|
5
|
-
|
|
6
|
-
The goal is that command names reveal both the action and the scope they affect.
|
|
7
|
-
This matters because the same repository can contain a Norna site, an app, tests,
|
|
8
|
-
and a publishing workflow that should not accidentally share ambiguous command
|
|
9
|
-
names.
|
|
10
|
-
|
|
11
|
-
## Situations
|
|
12
|
-
|
|
13
|
-
`norna` commands must be understandable in three situations:
|
|
14
|
-
|
|
15
|
-
- Standalone site project: the repository exists only to publish one
|
|
16
|
-
`norna` site.
|
|
17
|
-
- Mixed project: the repository contains another project, such as an app or
|
|
18
|
-
library, and includes a Norna site as one part of its
|
|
19
|
-
GitHub Pages output.
|
|
20
|
-
- Engine development: the repository is `norna` itself.
|
|
21
|
-
|
|
22
|
-
## Namespaces
|
|
23
|
-
|
|
24
|
-
Use these namespaces consistently.
|
|
25
|
-
|
|
26
|
-
### `norna:*`
|
|
27
|
-
|
|
28
|
-
Use `norna:*` npm scripts in repositories that consume `norna`.
|
|
29
|
-
|
|
30
|
-
These scripts operate on a selected site source directory. In a standalone site
|
|
31
|
-
project that directory is normally `site/`. In a mixed project it may be a more
|
|
32
|
-
specific directory such as `presentation/`, with the script setting
|
|
33
|
-
`NORNA_SITE_DIR` or passing `norna --site-dir`.
|
|
34
|
-
|
|
35
|
-
Examples:
|
|
36
|
-
|
|
37
|
-
```sh
|
|
38
|
-
npm run norna:dev
|
|
39
|
-
npm run norna:check
|
|
40
|
-
npm run norna:sync
|
|
41
|
-
npm run norna:build
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Mixed projects must use `norna:*` for Norna work so names such as `build`,
|
|
45
|
-
`test`, and `deploy` can remain under the containing project's control.
|
|
46
|
-
|
|
47
|
-
Standalone site projects should also use `norna:*` as the primary documented
|
|
48
|
-
interface. They may provide unprefixed aliases when the alias means the same
|
|
49
|
-
thing for the whole repository, for example `npm run build` as an alias for
|
|
50
|
-
`npm run norna:build`.
|
|
51
|
-
|
|
52
|
-
### Direct CLI Shortcut
|
|
53
|
-
|
|
54
|
-
Users may install `@janga/norna` globally as a cross-platform launcher and use
|
|
55
|
-
`norna dev`, `norna check`, or `norna build`. The launcher must delegate to the
|
|
56
|
-
current project's installed Norna version, so this shortcut does not replace
|
|
57
|
-
the project dependency or its lockfile.
|
|
58
|
-
|
|
59
|
-
### Project Commands That Call Norna Commands
|
|
60
|
-
|
|
61
|
-
`norna` does not define a consuming project's unprefixed commands. Names
|
|
62
|
-
such as `build`, `test`, and `deploy` belong to the project that consumes the
|
|
63
|
-
Norna engine.
|
|
64
|
-
|
|
65
|
-
Examples:
|
|
66
|
-
|
|
67
|
-
```sh
|
|
68
|
-
npm run build
|
|
69
|
-
npm run test
|
|
70
|
-
npm run deploy
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
When those project commands need the Norna site, they should call `norna:*`
|
|
74
|
-
scripts instead of calling `norna` directly. That keeps the selected
|
|
75
|
-
site source directory and other project-specific wrapper behavior in one
|
|
76
|
-
place.
|
|
77
|
-
|
|
78
|
-
In a mixed project, if `npm run build` exists, it should build the project's
|
|
79
|
-
complete publishable artifact, not only the Norna site. If the project publishes a
|
|
80
|
-
GitHub Pages artifact containing both a Norna site and an app, `build` should
|
|
81
|
-
produce that full artifact and may call `npm run norna:build` internally.
|
|
82
|
-
|
|
83
|
-
In a standalone site project, project commands may be aliases to `norna:*`
|
|
84
|
-
commands because the Norna site is the whole project.
|
|
85
|
-
|
|
86
|
-
### `release:*`
|
|
87
|
-
|
|
88
|
-
Use `release:*` only in the engine repository.
|
|
89
|
-
|
|
90
|
-
Examples:
|
|
91
|
-
|
|
92
|
-
```sh
|
|
93
|
-
npm run release:patch
|
|
94
|
-
npm run release:minor
|
|
95
|
-
npm run release:major
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
These commands change and publish the reusable `@janga/norna` package.
|
|
99
|
-
They must not be part of ordinary site repositories.
|
|
100
|
-
|
|
101
|
-
`npm run release:publish` is a low-level script used by the release command
|
|
102
|
-
after the version has already been bumped. It is not the normal release entry
|
|
103
|
-
point.
|
|
104
|
-
|
|
105
|
-
### Direct CLI Commands
|
|
106
|
-
|
|
107
|
-
The `norna` binary is the stable low-level command surface.
|
|
108
|
-
|
|
109
|
-
Examples:
|
|
110
|
-
|
|
111
|
-
```sh
|
|
112
|
-
norna content:check
|
|
113
|
-
norna content:sync
|
|
114
|
-
norna build
|
|
115
|
-
norna deploy
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Npm scripts in site repositories are convenience wrappers around this binary.
|
|
119
|
-
Documentation for ordinary site work should prefer the npm scripts because they
|
|
120
|
-
can set the correct site directory for the repository.
|
|
121
|
-
|
|
122
|
-
## Functional Groups
|
|
123
|
-
|
|
124
|
-
### Install Norna Software
|
|
125
|
-
|
|
126
|
-
Creating a new standalone site project starts outside the target project because
|
|
127
|
-
the target does not have a `package.json` yet:
|
|
128
|
-
|
|
129
|
-
```sh
|
|
130
|
-
npx @janga/norna@latest init my-site
|
|
131
|
-
cd my-site
|
|
132
|
-
npm install
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
A mixed project already has its own repository and may have its own
|
|
136
|
-
`package.json`. In that situation the Norna dependency should be installed as
|
|
137
|
-
part of the existing project setup:
|
|
138
|
-
|
|
139
|
-
```sh
|
|
140
|
-
npm install --save-exact @janga/norna
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
The mixed project should then add `norna:*` scripts that point at the chosen
|
|
144
|
-
site source directory.
|
|
145
|
-
|
|
146
|
-
Engine development uses ordinary package installation in the engine repository:
|
|
147
|
-
|
|
148
|
-
```sh
|
|
149
|
-
npm install
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### Upgrade Or Inspect Norna Software
|
|
153
|
-
|
|
154
|
-
In a consuming repository, upgrading or inspecting the installed Norna engine
|
|
155
|
-
is norna maintenance, so the preferred namespace is `norna:*`:
|
|
156
|
-
|
|
157
|
-
```sh
|
|
158
|
-
npm run norna:engine:version
|
|
159
|
-
npm run norna:engine:update
|
|
160
|
-
npm run norna:engine:update -- 0.2.0
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
These commands update the `@janga/norna` dependency and lockfile used by
|
|
164
|
-
the repository. They do not release the engine package.
|
|
165
|
-
|
|
166
|
-
In the engine repository, version changes belong to `release:*`:
|
|
167
|
-
|
|
168
|
-
```sh
|
|
169
|
-
npm run release:minor
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Initialize A Site Project Directory
|
|
173
|
-
|
|
174
|
-
Initialization is a direct CLI operation because it usually happens before a
|
|
175
|
-
project has npm scripts:
|
|
176
|
-
|
|
177
|
-
```sh
|
|
178
|
-
npx @janga/norna@latest init my-site
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
The initializer should support two setup modes that share the same `norna:*`
|
|
182
|
-
command vocabulary.
|
|
183
|
-
|
|
184
|
-
#### Standalone Setup
|
|
185
|
-
|
|
186
|
-
Standalone setup creates a new project where the Norna site is the whole repository:
|
|
187
|
-
|
|
188
|
-
```sh
|
|
189
|
-
npx @janga/norna@latest init my-site --type standalone
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
This should be the default when the target is a new or empty directory.
|
|
193
|
-
|
|
194
|
-
Standalone setup should create:
|
|
195
|
-
|
|
196
|
-
- a normal site source directory, normally `site/`;
|
|
197
|
-
- a `package.json` with `norna:*` scripts;
|
|
198
|
-
- unprefixed convenience aliases only when they mean the same thing as the
|
|
199
|
-
whole project, for example `build` as an alias for `norna:build`;
|
|
200
|
-
- the standard GitHub Pages workflow for publishing the site.
|
|
201
|
-
|
|
202
|
-
#### Embedded Setup
|
|
203
|
-
|
|
204
|
-
Embedded setup adds a Norna site to an existing project without taking ownership
|
|
205
|
-
of that project's root commands:
|
|
206
|
-
|
|
207
|
-
```sh
|
|
208
|
-
npx @janga/norna@latest init . --type embedded --site-dir presentation
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Embedded setup should be selected explicitly, or suggested when the target
|
|
212
|
-
already contains a `package.json`.
|
|
213
|
-
|
|
214
|
-
Embedded setup should create or update only the Norna-owned parts:
|
|
215
|
-
|
|
216
|
-
- the chosen site source directory, for example `presentation/`;
|
|
217
|
-
- `@janga/norna` as a project dependency;
|
|
218
|
-
- `norna:*` scripts that set the selected site directory;
|
|
219
|
-
- no unprefixed aliases such as `build`, `test`, `dev`, or `deploy`;
|
|
220
|
-
- no project publishing workflow unless the caller explicitly asks for one.
|
|
221
|
-
|
|
222
|
-
Embedded setup must not overwrite existing npm scripts without explicit user
|
|
223
|
-
confirmation. If a needed `norna:*` script already exists, the initializer
|
|
224
|
-
should report the conflict and let the user decide whether to replace it.
|
|
225
|
-
|
|
226
|
-
### Control The Dev Server
|
|
227
|
-
|
|
228
|
-
Norna dev-server commands belong under `norna:dev:*` in consuming
|
|
229
|
-
repositories:
|
|
230
|
-
|
|
231
|
-
```sh
|
|
232
|
-
npm run norna:dev
|
|
233
|
-
npm run norna:dev:lan
|
|
234
|
-
npm run norna:dev:restart
|
|
235
|
-
npm run norna:dev:status
|
|
236
|
-
npm run norna:dev:logs
|
|
237
|
-
npm run norna:dev:stop
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
The shorter `norna:dev` starts the normal local server. Subcommands manage
|
|
241
|
-
the same server.
|
|
242
|
-
|
|
243
|
-
In the engine repository, engine and example development may use the engine's own
|
|
244
|
-
unprefixed commands:
|
|
245
|
-
|
|
246
|
-
```sh
|
|
247
|
-
npm run dev:local
|
|
248
|
-
npm run dev:lan
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Test Configuration And Content
|
|
252
|
-
|
|
253
|
-
Norna validation should use `norna:check` for the normal full check and
|
|
254
|
-
more specific commands when a caller needs one part:
|
|
255
|
-
|
|
256
|
-
```sh
|
|
257
|
-
npm run norna:check
|
|
258
|
-
npm run norna:config:check
|
|
259
|
-
npm run norna:content:check
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
`norna:check` should run configuration and content checks in the order needed
|
|
263
|
-
by the engine.
|
|
264
|
-
|
|
265
|
-
Project-level tests remain project-owned commands:
|
|
266
|
-
|
|
267
|
-
```sh
|
|
268
|
-
npm run test
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
If a mixed project defines `test`, that command should cover the whole project.
|
|
272
|
-
It may call `norna:check`, but it should not be a hidden synonym for only
|
|
273
|
-
Norna validation.
|
|
274
|
-
|
|
275
|
-
### Inspect Site Presentation
|
|
276
|
-
|
|
277
|
-
Commands that inspect site presentation without changing source files use
|
|
278
|
-
`norna:*` in consuming repositories:
|
|
279
|
-
|
|
280
|
-
```sh
|
|
281
|
-
npm run norna:typography:profiles
|
|
282
|
-
npm run norna:typography:show
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
`norna:typography:profiles` shows the built-in typography profiles and rhythms
|
|
286
|
-
from the installed engine. `norna:typography:show` shows the effective
|
|
287
|
-
typography for the selected site after profiles, rhythms, and overrides have
|
|
288
|
-
been applied.
|
|
289
|
-
|
|
290
|
-
### Correct Content And Configuration
|
|
291
|
-
|
|
292
|
-
Commands that modify Norna-owned source files use `norna:*`:
|
|
293
|
-
|
|
294
|
-
```sh
|
|
295
|
-
npm run norna:sync
|
|
296
|
-
npm run norna:public
|
|
297
|
-
npm run norna:images
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
`norna:sync` is the preferred npm wrapper for `norna content:sync`.
|
|
301
|
-
Messages emitted by the engine should mention the direct CLI command and the
|
|
302
|
-
starter-style npm wrapper when suggesting a fix.
|
|
303
|
-
|
|
304
|
-
Configuration edits are normally manual edits to the selected site
|
|
305
|
-
`config.yaml`, followed by:
|
|
306
|
-
|
|
307
|
-
```sh
|
|
308
|
-
npm run norna:config:check
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
### Build
|
|
312
|
-
|
|
313
|
-
In a standalone site project:
|
|
314
|
-
|
|
315
|
-
```sh
|
|
316
|
-
npm run norna:build
|
|
317
|
-
npm run norna:build:local
|
|
318
|
-
npm run build
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
`norna:build:local` builds and restarts the local dev server. `build` may
|
|
322
|
-
alias `norna:build` because the Norna site is the whole project.
|
|
323
|
-
|
|
324
|
-
In a mixed project:
|
|
325
|
-
|
|
326
|
-
```sh
|
|
327
|
-
npm run norna:build
|
|
328
|
-
npm run norna:build:local
|
|
329
|
-
npm run build
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
`norna:build` builds only the Norna site. `norna:build:local` builds the
|
|
333
|
-
site and restarts the local Norna dev server. If the mixed project defines
|
|
334
|
-
`build`, that project command should build the complete publishable artifact,
|
|
335
|
-
such as a GitHub Pages output that combines the Norna site with an app. It may call
|
|
336
|
-
`norna:build` internally.
|
|
337
|
-
|
|
338
|
-
In the engine repository:
|
|
339
|
-
|
|
340
|
-
```sh
|
|
341
|
-
npm run build
|
|
342
|
-
npm run demo:build
|
|
343
|
-
npm run test:fixture:build
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
Engine build commands verify the reusable package, fixtures, or demo site.
|
|
347
|
-
|
|
348
|
-
### Publish
|
|
349
|
-
|
|
350
|
-
Norna deploy helpers belong under `norna:deploy*` in consuming
|
|
351
|
-
repositories:
|
|
352
|
-
|
|
353
|
-
```sh
|
|
354
|
-
npm run norna:deploy
|
|
355
|
-
npm run norna:deploy:commit
|
|
356
|
-
```
|
|
357
|
-
|
|
358
|
-
Use these only when the Norna site is the deployable site or when the containing
|
|
359
|
-
project deliberately delegates deployment to the Norna engine.
|
|
360
|
-
|
|
361
|
-
Mixed projects may instead have project-owned deploy commands:
|
|
362
|
-
|
|
363
|
-
```sh
|
|
364
|
-
npm run deploy
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
Those commands should publish the complete project artifact. If they need the
|
|
368
|
-
Norna site, they should call `norna:*` scripts internally.
|
|
369
|
-
|
|
370
|
-
Engine publishing uses `release:*`, not `norna:*`:
|
|
371
|
-
|
|
372
|
-
```sh
|
|
373
|
-
npm run release:patch
|
|
374
|
-
npm run release:minor
|
|
375
|
-
npm run release:major
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
### Monitor Publishing
|
|
379
|
-
|
|
380
|
-
GitHub Pages monitoring for a Norna site belongs under:
|
|
381
|
-
|
|
382
|
-
```sh
|
|
383
|
-
npm run norna:deploy:watch
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
Mixed projects may provide a project-owned monitoring command when monitoring
|
|
387
|
-
is not specific to the Norna site:
|
|
388
|
-
|
|
389
|
-
```sh
|
|
390
|
-
npm run deploy:watch
|
|
391
|
-
```
|
|
392
|
-
|
|
393
|
-
That command should monitor the whole project's publishing workflow. If it needs
|
|
394
|
-
norna-specific deploy settings, it should call `norna:deploy:watch`.
|
|
395
|
-
|
|
396
|
-
## Naming Rules
|
|
397
|
-
|
|
398
|
-
- Use `norna:*` for every npm script in a consuming repository whose direct
|
|
399
|
-
object is the Norna site, its source files, its generated images, its dev server,
|
|
400
|
-
or its engine dependency.
|
|
401
|
-
- `norna` does not define unprefixed project commands such as `build`,
|
|
402
|
-
`test`, and `deploy` in consuming repositories.
|
|
403
|
-
- If project commands need Norna behavior, they should call `norna:*`
|
|
404
|
-
scripts.
|
|
405
|
-
- In standalone site projects, unprefixed project commands may alias `norna:*`
|
|
406
|
-
commands.
|
|
407
|
-
- In mixed projects, unprefixed project commands must not be aliases for only
|
|
408
|
-
the Norna site unless the command name makes that scope explicit.
|
|
409
|
-
- Use `release:*` only for publishing the reusable engine package.
|
|
410
|
-
- Prefer direct `norna ...` commands in engine docs and diagnostics;
|
|
411
|
-
prefer npm scripts in site-repository docs.
|
|
412
|
-
- Do not create separate namespaces for every internal concept. If a command is
|
|
413
|
-
about maintaining the Norna dependency in a consuming repository, keep it
|
|
414
|
-
under `norna:*`.
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
# Navigation And Theme Plan
|
|
2
|
-
|
|
3
|
-
This document records the intended order of work for page hierarchy,
|
|
4
|
-
navigation, and theme presets. It is an implementation plan, not a description
|
|
5
|
-
of released behavior.
|
|
6
|
-
|
|
7
|
-
## Goal
|
|
8
|
-
|
|
9
|
-
Norna should support sites with limited global navigation and a larger local
|
|
10
|
-
page hierarchy without making mobile navigation harder to understand. Theme
|
|
11
|
-
presets should provide a coherent visual system without changing the site's
|
|
12
|
-
information architecture.
|
|
13
|
-
|
|
14
|
-
## Working Principles
|
|
15
|
-
|
|
16
|
-
- The file structure defines the page hierarchy and presentation order.
|
|
17
|
-
- Navigation behavior and navigation styling are separate concerns.
|
|
18
|
-
- Global site navigation, local page navigation, and headings on the current
|
|
19
|
-
page have distinct roles.
|
|
20
|
-
- Changing a theme preset must not change which pages are available or how the
|
|
21
|
-
page hierarchy is interpreted.
|
|
22
|
-
- Site-wide visual identity should remain coherent while individual pages may
|
|
23
|
-
vary where that does not disrupt navigation or orientation.
|
|
24
|
-
- Documentation and broad example migration should follow implementation and
|
|
25
|
-
manual evaluation, not precede them.
|
|
26
|
-
|
|
27
|
-
## Order Of Work
|
|
28
|
-
|
|
29
|
-
### 1. Stabilize The Page Tree - Complete
|
|
30
|
-
|
|
31
|
-
Finish and test nested page discovery independently of final navigation
|
|
32
|
-
presentation. Establish deterministic rules for:
|
|
33
|
-
|
|
34
|
-
- directory parsing, page ids, URL paths, and presentation order;
|
|
35
|
-
- parent and ancestor relationships;
|
|
36
|
-
- collisions and invalid nesting;
|
|
37
|
-
- page-local content, images, and themes;
|
|
38
|
-
- breadcrumbs and current-branch discovery.
|
|
39
|
-
|
|
40
|
-
Commit this foundation separately before broad theme or preset changes.
|
|
41
|
-
|
|
42
|
-
The page tree now supports nested pages with deterministic directory parsing,
|
|
43
|
-
URLs, ordering, ancestry, breadcrumbs, inherited page resources, and collision
|
|
44
|
-
diagnostics.
|
|
45
|
-
|
|
46
|
-
The current breaking page-container proof of concept removes the special root
|
|
47
|
-
page. Every page now uses the same physical model:
|
|
48
|
-
|
|
49
|
-
```text
|
|
50
|
-
site/pages/NNN-page-id/
|
|
51
|
-
content.md
|
|
52
|
-
theme.yaml # optional page-local presentation
|
|
53
|
-
images/ # optional managed page images
|
|
54
|
-
pages/ # optional child pages
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
`site/pages/000-home/content.md` is required and maps to `/`. The `000` prefix
|
|
58
|
-
is reserved for this page. Other top-level page directories are its siblings,
|
|
59
|
-
not its children. The homepage cannot contain a `pages/` hierarchy; place each
|
|
60
|
-
top-level area beside `000-home` and nest further pages below that area.
|
|
61
|
-
|
|
62
|
-
The root `site/` directory now contains only site-wide files and the page
|
|
63
|
-
container. Removed root-level page and image locations produce a migration
|
|
64
|
-
error instead of being interpreted as a second page model.
|
|
65
|
-
|
|
66
|
-
### 2. Define The Navigation Contract - Complete
|
|
67
|
-
|
|
68
|
-
The accepted information architecture is:
|
|
69
|
-
|
|
70
|
-
- a small global navigation for the site's top-level areas;
|
|
71
|
-
- a larger local page tree for the selected area;
|
|
72
|
-
- breadcrumbs for location and ancestry;
|
|
73
|
-
- headings for the current page integrated below that page in the local tree;
|
|
74
|
-
- one unified mobile navigation containing the whole page hierarchy and the
|
|
75
|
-
current page headings.
|
|
76
|
-
|
|
77
|
-
Navigation modes follow the site structure:
|
|
78
|
-
|
|
79
|
-
- a single-page site uses section navigation;
|
|
80
|
-
- an ordinary shallow multi-page site uses top navigation;
|
|
81
|
-
- a deeper documentation-style hierarchy uses tree navigation.
|
|
82
|
-
|
|
83
|
-
The tree contract is:
|
|
84
|
-
|
|
85
|
-
- top-level areas remain available in the sticky global navigation;
|
|
86
|
-
- the selected top-level area supplies the desktop local tree;
|
|
87
|
-
- breadcrumbs show page ancestry without changing the vertical position of
|
|
88
|
-
the page heading;
|
|
89
|
-
- a closed expandable page title expands the node without navigating;
|
|
90
|
-
- an open expandable page title links to that page, while its chevron can
|
|
91
|
-
collapse the node;
|
|
92
|
-
- a page without headings or child pages is always a direct link;
|
|
93
|
-
- headings on the current page appear under its page node rather than in a
|
|
94
|
-
separate `On this page` region;
|
|
95
|
-
- opening one branch does not implicitly close another branch;
|
|
96
|
-
- long desktop trees scroll independently of short page content;
|
|
97
|
-
- mobile uses one drawer for the complete hierarchy instead of requiring a
|
|
98
|
-
separate page-selection and section-selection sequence.
|
|
99
|
-
|
|
100
|
-
Real links and native disclosure elements provide the fallback. JavaScript
|
|
101
|
-
preserves explicitly opened branches, restores navigation scroll position,
|
|
102
|
-
enhances focus handling, and keeps measured sticky offsets stable. Without
|
|
103
|
-
JavaScript, navigation remains usable but manually opened branches are not
|
|
104
|
-
preserved across page loads.
|
|
105
|
-
|
|
106
|
-
The contract should also define the fallback and override behavior for the
|
|
107
|
-
supported navigation modes. Structural behavior belongs to site-level engine
|
|
108
|
-
configuration or deterministic automatic selection, not to presentation
|
|
109
|
-
presets.
|
|
110
|
-
|
|
111
|
-
The contract was evaluated with the nested-pages fixture and focused desktop,
|
|
112
|
-
mobile, no-JavaScript, spatial-stability, and long-navigation tests.
|
|
113
|
-
|
|
114
|
-
### 3. Implement Navigation In Layers - Complete
|
|
115
|
-
|
|
116
|
-
Implement and verify the navigation model in this order:
|
|
117
|
-
|
|
118
|
-
1. page-tree data and validation;
|
|
119
|
-
2. desktop global navigation, local tree, breadcrumbs, and `On this page`;
|
|
120
|
-
3. unified mobile navigation;
|
|
121
|
-
4. keyboard, focus, current-page, and progressive-enhancement behavior;
|
|
122
|
-
5. visual evaluation at representative viewport sizes.
|
|
123
|
-
|
|
124
|
-
Real links remain the foundation. Client-side JavaScript is limited to
|
|
125
|
-
interaction and state that cannot be retained adequately with HTML and CSS.
|
|
126
|
-
|
|
127
|
-
### 4. Refine Theme And Preset Responsibilities - Proof Of Concept
|
|
128
|
-
|
|
129
|
-
Presets should control visual presentation, including:
|
|
130
|
-
|
|
131
|
-
- color system;
|
|
132
|
-
- typography;
|
|
133
|
-
- spacing and density;
|
|
134
|
-
- page and content widths;
|
|
135
|
-
- the visual treatment of global navigation, local navigation, breadcrumbs,
|
|
136
|
-
and `On this page`.
|
|
137
|
-
|
|
138
|
-
Presets must not determine page hierarchy, link membership, or semantic
|
|
139
|
-
navigation structure. Those must remain stable when a preset changes.
|
|
140
|
-
|
|
141
|
-
Site-wide color, typography, and navigation treatment should normally remain
|
|
142
|
-
consistent. Page-local theme variation should be limited to properties such as
|
|
143
|
-
content width, density, and media presentation when variation does not weaken
|
|
144
|
-
site identity or navigation clarity.
|
|
145
|
-
|
|
146
|
-
The proof-of-concept contract is:
|
|
147
|
-
|
|
148
|
-
- `config.yaml` owns the site-wide navigation mode;
|
|
149
|
-
- the root `theme.yaml` owns presets, palette, shape, typography, the page
|
|
150
|
-
frame, global spacing primitives, and default page presentation;
|
|
151
|
-
- a page-local `theme.yaml` may set only `layout.textWidth`,
|
|
152
|
-
`layout.contentSpacing`, managed-image sizing, and
|
|
153
|
-
`sections.backgroundPattern`;
|
|
154
|
-
- page-local values are inherited by descendant pages and merged field by
|
|
155
|
-
field, while global visual identity is never replaced;
|
|
156
|
-
- `layout.contentSpacing` replaces the ambiguous `layout.density` name;
|
|
157
|
-
- `sections.backgroundPattern` replaces the low-level `sectionSurfaces` list
|
|
158
|
-
with `uniform`, `alternating`, and `cycling` choices;
|
|
159
|
-
- custom presets and custom font definitions are deferred until the built-in
|
|
160
|
-
contract has been tested in real sites.
|
|
161
|
-
|
|
162
|
-
The nested-pages fixture is the current proof of concept. The engine-owned
|
|
163
|
-
basic init starter follows the new page contract so newly created sites remain
|
|
164
|
-
valid. Documentation, other starters, and broad examples should be migrated
|
|
165
|
-
only after manual approval.
|
|
166
|
-
|
|
167
|
-
### 5. Migrate After Evaluation
|
|
168
|
-
|
|
169
|
-
After the page tree, navigation contract, and preset boundaries have been
|
|
170
|
-
manually evaluated:
|
|
171
|
-
|
|
172
|
-
- migrate fixtures and examples;
|
|
173
|
-
- update schemas and editor assistance;
|
|
174
|
-
- update Markdown reference documentation;
|
|
175
|
-
- update the rendered documentation site;
|
|
176
|
-
- remove obsolete navigation and preset behavior rather than retaining
|
|
177
|
-
compatibility layers.
|
|
178
|
-
|
|
179
|
-
Keep foundation, navigation, preset, migration, and documentation changes in
|
|
180
|
-
separate commits where practical.
|
|
181
|
-
|
|
182
|
-
## Immediate Checkpoint
|
|
183
|
-
|
|
184
|
-
The nested navigation contract has been evaluated and committed. The unified
|
|
185
|
-
page-container and theme-scope proof of concepts are now ready for manual
|
|
186
|
-
evaluation against the nested-pages fixture before broad migration begins.
|