@janga/norna 0.7.16 → 0.7.18
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 +18 -9
- package/astro.config.mjs +35 -3
- package/bin/norna-cli.mjs +1 -1
- package/docs/README.md +16 -14
- package/docs/commands.md +2 -2
- package/docs/configuration.md +25 -2
- package/docs/content.md +92 -103
- package/docs/design/navigation-and-theme-plan.md +186 -0
- package/docs/design/norna-diagram-design.md +9 -9
- package/docs/design/site-examples-structure.md +15 -11
- package/docs/engine-development.md +19 -22
- package/docs/getting-started.md +21 -16
- package/docs/images-and-metadata.md +12 -9
- package/docs/pages.md +190 -0
- package/docs/public-files.md +49 -36
- package/docs/publishing.md +19 -3
- package/docs/site-files.md +46 -38
- package/docs/sitewide-content.md +20 -36
- package/docs/theme.md +109 -143
- package/docs/typography.md +19 -31
- package/examples/README.md +10 -4
- package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/site.schema.json +17 -41
- package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/sitewide.schema.json +26 -67
- package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/theme.schema.json +185 -88
- package/examples/complete-sites/dog-shelter-multi-page/.astro/data-store.json +1 -1
- package/examples/complete-sites/dog-shelter-multi-page/.astro/dev-local.json +4 -4
- package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.json +5 -5
- package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.log +33 -23
- package/examples/complete-sites/dog-shelter-multi-page/README.md +1 -1
- package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/_metadata.json +8 -8
- package/examples/complete-sites/dog-shelter-multi-page/site/.norna/generated-images.json +20 -20
- package/examples/complete-sites/dog-shelter-multi-page/site/{content.md → pages/000-home/content.md} +3 -4
- package/examples/complete-sites/dog-shelter-multi-page/site/{routes → pages}/010-dogs/content.md +3 -4
- package/examples/complete-sites/dog-shelter-multi-page/site/{routes → pages}/020-adopt/content.md +3 -4
- package/examples/complete-sites/dog-shelter-multi-page/site/sitewide-content.yaml +2 -4
- package/examples/complete-sites/dog-shelter-single-page/.astro/collections/site.schema.json +17 -41
- package/examples/complete-sites/dog-shelter-single-page/.astro/collections/sitewide.schema.json +26 -67
- package/examples/complete-sites/dog-shelter-single-page/.astro/collections/theme.schema.json +185 -88
- package/examples/complete-sites/dog-shelter-single-page/.astro/data-store.json +1 -1
- package/examples/complete-sites/dog-shelter-single-page/.astro/dev-local.json +8 -0
- package/examples/complete-sites/dog-shelter-single-page/.astro/dev.json +5 -5
- package/examples/complete-sites/dog-shelter-single-page/.astro/dev.log +16 -12
- package/examples/complete-sites/dog-shelter-single-page/README.md +1 -1
- package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/_metadata.json +8 -8
- package/examples/complete-sites/dog-shelter-single-page/site/.norna/generated-images.json +12 -12
- package/examples/complete-sites/dog-shelter-single-page/site/{content.md → pages/000-home/content.md} +5 -2
- package/examples/complete-sites/dog-shelter-single-page/site/sitewide-content.yaml +2 -4
- package/examples/feature-demos/media-and-surfaces/.astro/collections/site.schema.json +17 -41
- package/examples/feature-demos/media-and-surfaces/.astro/collections/sitewide.schema.json +26 -67
- package/examples/feature-demos/media-and-surfaces/.astro/collections/theme.schema.json +180 -91
- package/examples/feature-demos/media-and-surfaces/.astro/data-store.json +1 -1
- package/examples/feature-demos/media-and-surfaces/.astro/dev.log +4 -14
- package/examples/feature-demos/media-and-surfaces/README.md +2 -2
- package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/_metadata.json +9 -9
- package/examples/feature-demos/media-and-surfaces/site/.norna/generated-images.json +16 -16
- package/examples/feature-demos/media-and-surfaces/site/{content.md → pages/000-home/content.md} +4 -7
- package/examples/feature-demos/media-and-surfaces/site/{routes → pages}/010-media/content.md +6 -5
- package/examples/feature-demos/media-and-surfaces/site/{routes → pages}/020-surfaces/content.md +9 -7
- package/examples/feature-demos/media-and-surfaces/site/pages/020-surfaces/theme.yaml +2 -0
- package/examples/feature-demos/media-and-surfaces/site/sitewide-content.yaml +0 -2
- package/examples/feature-demos/sitewide-content/README.md +3 -3
- package/examples/feature-demos/sitewide-content/site/pages/000-home/content.md +17 -0
- package/examples/feature-demos/sitewide-content/site/pages/010-logo-and-navigation/content.md +17 -0
- package/examples/feature-demos/sitewide-content/site/{routes → pages}/020-notices/content.md +7 -6
- package/examples/feature-demos/sitewide-content/site/{routes → pages}/030-footer/content.md +6 -5
- package/examples/feature-demos/sitewide-content/site/sitewide-content.yaml +4 -13
- package/examples/feature-demos/theme-preset-documentation/README.md +16 -0
- package/examples/feature-demos/theme-preset-documentation/site/.norna/generated-images.json +74 -0
- package/examples/feature-demos/{theme-presets/site/routes/020-documentation → theme-preset-documentation/site/pages/000-home}/content.md +4 -7
- package/examples/feature-demos/theme-preset-documentation/site/sitewide-content.yaml +3 -0
- package/examples/feature-demos/theme-preset-portfolio/README.md +16 -0
- package/examples/feature-demos/theme-preset-portfolio/site/.norna/generated-images.json +74 -0
- package/examples/feature-demos/theme-preset-portfolio/site/config.yaml +1 -0
- package/examples/feature-demos/{theme-presets/site/routes/010-portfolio → theme-preset-portfolio/site/pages/000-home}/content.md +4 -7
- package/examples/feature-demos/theme-preset-portfolio/site/public/robots.txt +2 -0
- package/examples/feature-demos/theme-preset-portfolio/site/sitewide-content.yaml +3 -0
- package/examples/feature-demos/theme-preset-project/README.md +16 -0
- package/examples/feature-demos/theme-preset-project/site/.norna/generated-images.json +74 -0
- package/examples/feature-demos/theme-preset-project/site/config.yaml +1 -0
- package/examples/feature-demos/{theme-presets/site/routes/030-project → theme-preset-project/site/pages/000-home}/content.md +4 -7
- package/examples/feature-demos/theme-preset-project/site/public/robots.txt +2 -0
- package/examples/feature-demos/theme-preset-project/site/sitewide-content.yaml +3 -0
- package/examples/feature-demos/theme-preset-statement/README.md +16 -0
- package/examples/feature-demos/theme-preset-statement/site/.norna/generated-images.json +74 -0
- package/examples/feature-demos/theme-preset-statement/site/config.yaml +1 -0
- package/examples/feature-demos/{theme-presets/site/routes/040-statement → theme-preset-statement/site/pages/000-home}/content.md +4 -7
- package/examples/feature-demos/theme-preset-statement/site/public/robots.txt +2 -0
- package/examples/feature-demos/theme-preset-statement/site/sitewide-content.yaml +3 -0
- package/fixtures/basic/site/{content.md → pages/000-home/content.md} +5 -6
- package/fixtures/basic/site/sitewide-content.yaml +1 -8
- package/fixtures/basic/site/theme.yaml +1 -8
- package/fixtures/content-model-v2/site/{content.md → pages/000-home/content.md} +11 -13
- package/fixtures/content-model-v2/site/pages/010-guide/content.md +18 -0
- package/fixtures/nested-pages/.astro/collections/site.schema.json +35 -0
- package/fixtures/nested-pages/.astro/collections/sitewide.schema.json +97 -0
- package/fixtures/nested-pages/.astro/collections/theme.schema.json +844 -0
- package/fixtures/nested-pages/.astro/content-assets.mjs +4 -0
- package/fixtures/nested-pages/.astro/content-modules.mjs +1 -0
- package/fixtures/nested-pages/.astro/content.d.ts +183 -0
- package/fixtures/nested-pages/.astro/data-store.json +1 -0
- package/fixtures/nested-pages/.astro/dev-local.json +8 -0
- package/fixtures/nested-pages/.astro/dev.log +1128 -0
- package/fixtures/nested-pages/.astro/settings.json +5 -0
- package/fixtures/nested-pages/.astro/types.d.ts +2 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/_metadata.json +74 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro-D_GIpJIE.js +434 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro-D_GIpJIE.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/audit-DM9Hkl5B.js +1534 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/highlight-DnZ1ULOL.js +48 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/icons-RyebKi45.js +42 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/icons-RyebKi45.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/package.json +3 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/settings-DaU-gNnK.js +190 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/settings-DaU-gNnK.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/toolbar-63PA619H.js +458 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/toolbar-63PA619H.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/ui-library--bkcNSYz.js +1016 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/window-jPkpKVcy.js +32 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/window-jPkpKVcy.js.map +1 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/xray-BXCHpEJP.js +111 -0
- package/fixtures/nested-pages/node_modules/.vite/deps/xray-BXCHpEJP.js.map +1 -0
- package/fixtures/nested-pages/site/.norna/generated-images.json +10 -0
- package/fixtures/nested-pages/site/config.yaml +3 -0
- package/fixtures/nested-pages/site/pages/000-home/content.md +15 -0
- package/fixtures/nested-pages/site/pages/010-guides/content.md +15 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/content.md +21 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/images/diagram.svg +21 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/pages/010-macos/content.md +18 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/010-installation/theme.yaml +2 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/020-workflows/content.md +11 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/030-release-notes/content.md +9 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/040-configuration/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/050-content/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/060-themes/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/070-images/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/080-cards/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/090-notes/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/100-validation/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/110-synchronization/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/120-building/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/130-publishing/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/140-troubleshooting/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/150-migration/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/160-accessibility/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/170-performance/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/180-security/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/190-localization/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/200-upgrading/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/pages/210-faq/content.md +3 -0
- package/fixtures/nested-pages/site/pages/010-guides/theme.yaml +7 -0
- package/fixtures/nested-pages/site/pages/020-reference/content.md +10 -0
- package/fixtures/nested-pages/site/pages/020-reference/pages/010-installation/content.md +11 -0
- package/fixtures/nested-pages/site/theme.yaml +1 -0
- package/package.json +8 -4
- package/schemas/config.schema.json +46 -5
- package/schemas/content-frontmatter.schema.json +28 -63
- package/schemas/manifest.json +4 -2
- package/schemas/page-theme.schema.json +192 -0
- package/schemas/sitewide-content.schema.json +58 -132
- package/schemas/theme.schema.json +434 -152
- package/scripts/check-config.mjs +8 -6
- package/scripts/deploy-site.mjs +6 -8
- package/scripts/doctor.mjs +2 -2
- package/scripts/generate-images.mjs +15 -29
- package/scripts/generate-schemas.mjs +7 -218
- package/scripts/lib/base-path-redirect.mjs +9 -0
- package/scripts/lib/editor-language-service.mjs +125 -79
- package/scripts/lib/example-sites.mjs +15 -3
- package/scripts/lib/heading-ids.mjs +161 -0
- package/scripts/lib/navigation-model.mjs +51 -0
- package/scripts/lib/norna-markdown-blocks.mjs +3 -4
- package/scripts/lib/page-model.mjs +102 -0
- package/scripts/lib/presentation.mjs +25 -17
- package/scripts/lib/project-config.mjs +46 -8
- package/scripts/lib/schema-definitions.mjs +78 -55
- package/scripts/lib/schema-editor-metadata.mjs +519 -0
- package/scripts/lib/schema-value-definitions.mjs +20 -6
- package/scripts/lib/site-content.mjs +159 -97
- package/scripts/lib/site-conventions.mjs +1 -0
- package/scripts/lib/site-paths.mjs +11 -5
- package/scripts/lib/theme-config.mjs +12 -18
- package/scripts/lib/theme-presets.mjs +55 -14
- package/scripts/release.mjs +1 -1
- package/scripts/show-typography.mjs +4 -30
- package/scripts/sync-content-sections.mjs +107 -68
- package/scripts/{test-temporary-visibility.mjs → test-banner-visibility.mjs} +8 -25
- package/scripts/test-client-javascript.mjs +50 -46
- package/scripts/test-content-check.mjs +153 -69
- package/scripts/test-content-model-v2.mjs +566 -285
- package/scripts/test-documentation.mjs +10 -3
- package/scripts/test-editor-language-service.mjs +172 -25
- package/scripts/test-engine-commands.mjs +6 -5
- package/scripts/test-examples.mjs +30 -1
- package/scripts/test-heading-ids.mjs +68 -0
- package/scripts/test-navigation-model.mjs +63 -0
- package/scripts/test-navigation.mjs +11 -2
- package/scripts/test-nested-pages.mjs +125 -0
- package/scripts/test-package-check.mjs +55 -95
- package/scripts/test-page-model.mjs +108 -0
- package/scripts/test-project-config.mjs +22 -3
- package/scripts/test-schemas.mjs +82 -15
- package/scripts/test-theme-presets.mjs +57 -42
- package/src/components/NavigationPageTree.astro +157 -0
- package/src/components/PageContentsLinks.astro +40 -0
- package/src/components/SectionNavigationScript.astro +117 -5
- package/src/components/SiteBreadcrumbs.astro +32 -0
- package/src/components/SiteNavigation.astro +97 -68
- package/src/components/SitePage.astro +93 -55
- package/src/components/SiteSection.astro +29 -27
- package/src/components/SiteTreeNavigation.astro +35 -0
- package/src/components/TreeNavigationScript.astro +83 -0
- package/src/content.config.ts +8 -10
- package/src/layouts/BaseLayout.astro +21 -20
- package/src/lib/pageThemes.ts +44 -0
- package/src/lib/sectionContent.ts +106 -107
- package/src/lib/siteNavigation.ts +49 -0
- package/src/lib/sitePages.ts +96 -38
- package/src/pages/{[slug].astro → [...slug].astro} +2 -2
- package/src/pages/index.astro +2 -1
- package/src/styles/global.css +743 -57
- package/starters/basic/README.md +9 -11
- package/starters/basic/site/{content.md → pages/000-home/content.md} +7 -4
- package/starters/basic/site/sitewide-content.yaml +1 -10
- package/starters/basic/site/theme.yaml +1 -105
- package/starters/project/README.md +14 -14
- package/starters/project/site/{content.md → pages/000-home/content.md} +5 -4
- package/starters/project/site/{routes → pages}/010-guide/content.md +5 -4
- package/starters/project/site/sitewide-content.yaml +1 -10
- package/starters/project/site/theme.yaml +1 -31
- package/docs/routes.md +0 -121
- package/examples/feature-demos/media-and-surfaces/site/routes/020-surfaces/theme.yaml +0 -3
- package/examples/feature-demos/sitewide-content/site/content.md +0 -16
- package/examples/feature-demos/sitewide-content/site/routes/010-identity/content.md +0 -20
- package/examples/feature-demos/theme-presets/README.md +0 -18
- package/examples/feature-demos/theme-presets/site/.norna/generated-images.json +0 -290
- package/examples/feature-demos/theme-presets/site/content.md +0 -17
- package/examples/feature-demos/theme-presets/site/sitewide-content.yaml +0 -12
- package/examples/feature-demos/theme-presets/site/theme.yaml +0 -1
- package/fixtures/content-model-v2/site/routes/010-guide/content.md +0 -17
- package/scripts/lib/route-model.mjs +0 -17
- package/scripts/test-route-model.mjs +0 -32
- package/src/lib/routeThemes.ts +0 -41
- /package/examples/complete-sites/dog-shelter-multi-page/site/{images/intro → pages/000-home/images}/shelter-dog.jpg +0 -0
- /package/examples/complete-sites/dog-shelter-multi-page/site/{routes/010-dogs/images/dogs → pages/010-dogs/images}/rex.jpg +0 -0
- /package/examples/complete-sites/dog-shelter-multi-page/site/{routes/010-dogs/images/dogs → pages/010-dogs/images}/rover.jpg +0 -0
- /package/examples/complete-sites/dog-shelter-multi-page/site/{routes/020-adopt/images/adopt → pages/020-adopt/images}/adoption-dog.jpg +0 -0
- /package/examples/complete-sites/dog-shelter-single-page/site/{images/you-can-help → pages/000-home/images}/foster-dog.jpg +0 -0
- /package/examples/complete-sites/dog-shelter-single-page/site/{images/what-we-do → pages/000-home/images}/rescue-dog.jpg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/cards → pages/010-media/images}/card-carousel.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/cards → pages/010-media/images}/card-stack.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/cards → pages/010-media/images}/card-surfaces.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/carousel → pages/010-media/images}/carousel-one.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/carousel → pages/010-media/images}/carousel-three.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/carousel → pages/010-media/images}/carousel-two.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/stack → pages/010-media/images}/stack-one.svg +0 -0
- /package/examples/feature-demos/media-and-surfaces/site/{routes/010-media/images/stack → pages/010-media/images}/stack-two.svg +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-documentation}/site/config.yaml +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/020-documentation/images/documentation → theme-preset-documentation/site/pages/000-home/images}/black-schnauzer.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/020-documentation/images/documentation → theme-preset-documentation/site/pages/000-home/images}/retriever-portrait.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/020-documentation/images/documentation → theme-preset-documentation/site/pages/000-home/images}/schnauzer-portrait.jpg +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-documentation}/site/public/robots.txt +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/020-documentation → theme-preset-documentation/site}/theme.yaml +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/010-portfolio/images/portfolio → theme-preset-portfolio/site/pages/000-home/images}/puppy-portrait.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/010-portfolio/images/portfolio → theme-preset-portfolio/site/pages/000-home/images}/shepherd-portrait.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/010-portfolio/images/portfolio → theme-preset-portfolio/site/pages/000-home/images}/white-puppy.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/010-portfolio → theme-preset-portfolio/site}/theme.yaml +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/collections/routeTheme.schema.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/collections/site.schema.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/collections/sitewide.schema.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/collections/theme.schema.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/content-assets.mjs +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/content-modules.mjs +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/content.d.ts +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/data-store.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/dev-local.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/dev.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/dev.log +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/settings.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/.astro/types.d.ts +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/_metadata.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_n_aria-query.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_n_axobject-query.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_n_html-escaper.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/embla-carousel.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/embla-carousel.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/icons-RyebKi45.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/package.json +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/toolbar-63PA619H.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/window-jPkpKVcy.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -0
- /package/examples/feature-demos/{theme-presets → theme-preset-project}/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/030-project/images/project → theme-preset-project/site/pages/000-home/images}/boxer-portrait.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/030-project/images/project → theme-preset-project/site/pages/000-home/images}/grass-puppy.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/030-project/images/project → theme-preset-project/site/pages/000-home/images}/grey-street-dog.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/030-project → theme-preset-project/site}/theme.yaml +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/040-statement/images/statement → theme-preset-statement/site/pages/000-home/images}/black-pedigree.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/040-statement/images/statement → theme-preset-statement/site/pages/000-home/images}/sheepdog-grass.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/040-statement/images/statement → theme-preset-statement/site/pages/000-home/images}/sheepdog-wide.jpg +0 -0
- /package/examples/feature-demos/{theme-presets/site/routes/040-statement → theme-preset-statement/site}/theme.yaml +0 -0
- /package/fixtures/basic/site/{images/work → pages/000-home/images}/.gitkeep +0 -0
- /package/fixtures/content-model-v2/site/{images/card-section → pages/000-home/images}/adopt.svg +0 -0
- /package/fixtures/content-model-v2/site/{images/intro → pages/000-home/images}/detail.jpg +0 -0
- /package/fixtures/content-model-v2/site/{images/intro → pages/000-home/images}/duplicate.jpg +0 -0
- /package/fixtures/content-model-v2/site/{images/card-section → pages/000-home/images}/foster.svg +0 -0
- /package/fixtures/content-model-v2/site/{images/intro → pages/000-home/images}/hero.jpg +0 -0
- /package/fixtures/content-model-v2/site/{images/plain → pages/000-home/images}/image.jpg +0 -0
- /package/fixtures/content-model-v2/site/{images/timed → pages/000-home/images}/slide-one.jpg +0 -0
- /package/fixtures/content-model-v2/site/{images/timed → pages/000-home/images}/slide-three.jpg +0 -0
- /package/fixtures/content-model-v2/site/{images/timed → pages/000-home/images}/slide-two.jpg +0 -0
- /package/fixtures/content-model-v2/site/{routes/010-guide/images/intro → pages/010-guide/images}/duplicate.jpg +0 -0
- /package/starters/basic/site/{images/work → pages/000-home/images}/.gitkeep +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
[["Map",1,2,9,10,72,73,98,99],"meta::meta",["Map",3,4,5,6,7,8],"astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":\"jsx\",\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":\"127.0.0.1\",\"port\":4412,\"allowedHosts\":[\"127.0.0.1\",\"127.0.0.1\",\"127.0.0.1\",\"127.0.0.1\"]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"dangerouslyProcessSVG\":false,\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"processor\":{\"name\":\"satteri\",\"options\":{\"mdastPlugins\":[],\"hastPlugins\":[],\"features\":{}}}},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"csp\":false,\"actionBodySizeLimit\":1048576,\"serverIslandBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"prerenderConflictBehavior\":\"warn\",\"fetchFile\":\"fetch\",\"logger\":{\"entrypoint\":\"astro/logger/json\"},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"chromeDevtoolsWorkspace\":false,\"collectionStorage\":\"single-file\"},\"legacy\":{\"collectionsBackwardsCompat\":false}}","astro-version","7.1.3","content-config-digest","ef24ddbc7d731e37","site",["Map",11,12,32,33,52,53],"site-content",{"id":11,"data":13,"body":17,"filePath":18,"digest":19,"rendered":20},{"title":14,"description":15,"sections":16},"Home","A multi-page dog shelter website built with Norna.",{},"## Dog Shelter {#intro}\n\nWe rescue dogs, help them recover and introduce them to families ready to give\nthem a permanent home.\n\nVisit **Dogs** to meet two current residents, or **Adopt** to learn how the\nadoption process works.\n\n```norna-card-list\nlayout: image-right\nflow: stack\nsize: s\nwidth: narrow\n\n- title: Rescue, recovery and new homes\n text: Meet the dogs currently in our care and learn what kind of home each one needs.\n image: shelter-dog.jpg\n link: /dogs/\n```","site/content.md","8e6311f7aa2b670d",{"html":21,"metadata":22},"\u003Ch2 id=\"dog-shelter-intro\">Dog Shelter {#intro}\u003C/h2>\n\u003Cp>We rescue dogs, help them recover and introduce them to families ready to give\nthem a permanent home.\u003C/p>\n\u003Cp>Visit \u003Cstrong>Dogs\u003C/strong> to meet two current residents, or \u003Cstrong>Adopt\u003C/strong> to learn how the\nadoption process works.\u003C/p>\n\u003Cpre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>layout: image-right\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>flow: stack\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>size: s\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>width: narrow\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Rescue, recovery and new homes\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Meet the dogs currently in our care and learn what kind of home each one needs.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: shelter-dog.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> link: /dogs/\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":23,"localImagePaths":28,"remoteImagePaths":29,"frontmatter":30,"imagePaths":31},[24],{"depth":25,"slug":26,"text":27},2,"dog-shelter-intro","Dog Shelter {#intro}",[],[],{"title":14,"description":15},[],"site-route-010-dogs",{"id":32,"data":34,"body":38,"filePath":39,"digest":40,"rendered":41},{"title":35,"description":36,"sections":37},"Dogs","Meet dogs currently waiting for adoption.",{},"## Dogs {#dogs}\n\nMeet Rover and Rex.\n\n```norna-card-list\nlayout: image-top\nflow: grid\nsize: s\nwidth: narrow\n\n- title: Rover\n text: Curious and active. Rover needs daily walks and room to explore.\n image: rover.jpg\n- title: Rex\n text: Gentle and observant. Rex needs a patient home with quiet routines.\n image: rex.jpg\n```","site/routes/010-dogs/route-content.md","7b650f7fd791e689",{"html":42,"metadata":43},"\u003Ch2 id=\"dogs-dogs\">Dogs {#dogs}\u003C/h2>\n\u003Cp>Meet Rover and Rex.\u003C/p>\n\u003Cpre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>layout: image-top\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>flow: grid\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>size: s\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>width: narrow\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Rover\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Curious and active. Rover needs daily walks and room to explore.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: rover.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Rex\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Gentle and observant. Rex needs a patient home with quiet routines.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: rex.jpg\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":44,"localImagePaths":48,"remoteImagePaths":49,"frontmatter":50,"imagePaths":51},[45],{"depth":25,"slug":46,"text":47},"dogs-dogs","Dogs {#dogs}",[],[],{"title":35,"description":36},[],"site-route-020-adopt",{"id":52,"data":54,"body":58,"filePath":59,"digest":60,"rendered":61},{"title":55,"description":56,"sections":57},"Adopt","Learn how to adopt from Dog Shelter.",{},"## Adopt {#adopt}\n\nAdoption begins with a conversation about your home, routines and experience\nwith dogs. We then arrange a meeting with dogs whose needs appear to match.\n\nThe goal is not the quickest placement. It is a stable home where both the dog\nand the family have the support they need.\n\n```norna-card-list\nlayout: image-left\nflow: stack\nsize: s\nwidth: narrow\n\n- title: Start with a conversation\n text: Tell us about your home and routines, then meet dogs whose needs may be a good match.\n image: adoption-dog.jpg\n```","site/routes/020-adopt/route-content.md","9c0eba10f95aae72",{"html":62,"metadata":63},"\u003Ch2 id=\"adopt-adopt\">Adopt {#adopt}\u003C/h2>\n\u003Cp>Adoption begins with a conversation about your home, routines and experience\nwith dogs. We then arrange a meeting with dogs whose needs appear to match.\u003C/p>\n\u003Cp>The goal is not the quickest placement. It is a stable home where both the dog\nand the family have the support they need.\u003C/p>\n\u003Cpre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>layout: image-left\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>flow: stack\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>size: s\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>width: narrow\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Start with a conversation\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Tell us about your home and routines, then meet dogs whose needs may be a good match.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: adoption-dog.jpg\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":64,"localImagePaths":68,"remoteImagePaths":69,"frontmatter":70,"imagePaths":71},[65],{"depth":25,"slug":66,"text":67},"adopt-adopt","Adopt {#adopt}",[],[],{"title":55,"description":56},[],"sitewide",["Map",74,75],"site-sitewide",{"id":74,"data":76,"body":84,"filePath":85,"digest":86,"rendered":87},{"navigation":77,"banners":81,"footer":82},{"logo":78},{"alt":79,"height":80},"Dog Shelter","3rem",[],{"copyrightMessage":83},"Dog Shelter example site. Dog photos by Bicanski, CC0, via Pixnio.","\u003C!-- norna-image-provenance:\nimage: logo.svg\nsource: AI-assisted, hand-authored SVG\nprompt: Create a compact horizontal dog shelter logo with a simple dog face in\na house-shaped mark and the words Dog Shelter. Use flat vector shapes, a warm\nred accent, dark text, transparent background and no external assets.\n-->","site/sitewide-content.md","68de962e675a456b",{"html":88,"metadata":89},"\u003C!-- norna-image-provenance:\nimage: logo.svg\nsource: AI-assisted, hand-authored SVG\nprompt: Create a compact horizontal dog shelter logo with a simple dog face in\na house-shaped mark and the words Dog Shelter. Use flat vector shapes, a warm\nred accent, dark text, transparent background and no external assets.\n-->\n",{"headings":90,"localImagePaths":91,"remoteImagePaths":92,"frontmatter":93,"imagePaths":97},[],[],[],{"navigation":94,"footer":96},{"logo":95},{"alt":79,"height":80},{"copyrightMessage":83},[],"theme",["Map",100,101],"theme.md",{"id":100,"data":102,"filePath":104,"digest":105,"rendered":106},{"preset":103},"project","site/theme.md","d19ab283a10fb060",{"html":107,"metadata":108},"",{"headings":109,"localImagePaths":110,"remoteImagePaths":111,"frontmatter":112,"imagePaths":113},[],[],[],{"preset":103},[]]
|
|
1
|
+
[["Map",1,2,9,10,72,73,85,86],"meta::meta",["Map",3,4,5,6,7,8],"astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"compressHTML\":\"jsx\",\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":\"127.0.0.1\",\"port\":4321,\"allowedHosts\":[\"127.0.0.1\",\"127.0.0.1\",\"127.0.0.1\",\"127.0.0.1\"]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"dangerouslyProcessSVG\":false,\"domains\":[],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"processor\":{\"name\":\"satteri\",\"options\":{\"mdastPlugins\":[],\"hastPlugins\":[],\"features\":{}}}},\"security\":{\"checkOrigin\":true,\"allowedDomains\":[],\"csp\":false,\"actionBodySizeLimit\":1048576,\"serverIslandBodySizeLimit\":1048576},\"env\":{\"schema\":{},\"validateSecrets\":false},\"prerenderConflictBehavior\":\"warn\",\"fetchFile\":\"fetch\",\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"chromeDevtoolsWorkspace\":false,\"collectionStorage\":\"single-file\"},\"legacy\":{\"collectionsBackwardsCompat\":false}}","astro-version","7.1.3","content-config-digest","c08b570b4ff0a86c","site",["Map",11,12,32,33,52,53],"site-content",{"id":11,"data":13,"body":16,"filePath":17,"digest":18,"rendered":19},{"page":14},{"description":15},"A multi-page dog shelter website built with Norna.","# Dog Shelter\nWe rescue dogs, help them recover and introduce them to families ready to give\nthem a permanent home.\n\nVisit **Dogs** to meet two current residents, or **Adopt** to learn how the\nadoption process works.\n\n```norna-card-list\nlayout: image-right\nflow: stack\nsize: s\nwidth: narrow\n\n- title: Rescue, recovery and new homes\n text: Meet the dogs currently in our care and learn what kind of home each one needs.\n image: shelter-dog.jpg\n link: /dogs/\n```","site/content.md","0973a5e4cc48f0c9",{"html":20,"metadata":21},"\u003Ch1 id=\"dog-shelter\">Dog Shelter\u003C/h1>\n\u003Cp>We rescue dogs, help them recover and introduce them to families ready to give\nthem a permanent home.\u003C/p>\n\u003Cp>Visit \u003Cstrong>Dogs\u003C/strong> to meet two current residents, or \u003Cstrong>Adopt\u003C/strong> to learn how the\nadoption process works.\u003C/p>\n\u003Cpre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>layout: image-right\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>flow: stack\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>size: s\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>width: narrow\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Rescue, recovery and new homes\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Meet the dogs currently in our care and learn what kind of home each one needs.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: shelter-dog.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> link: /dogs/\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":22,"localImagePaths":27,"remoteImagePaths":28,"frontmatter":29,"imagePaths":31},[23],{"depth":24,"slug":25,"text":26},1,"dog-shelter","Dog Shelter",[],[],{"page":30},{"description":15},[],"site-page-010-dogs",{"id":32,"data":34,"body":37,"filePath":38,"digest":39,"rendered":40},{"page":35},{"description":36},"Meet dogs currently waiting for adoption.","# Dogs\nMeet Rover and Rex.\n\n```norna-card-list\nlayout: image-top\nflow: grid\nsize: s\nwidth: narrow\n\n- title: Rover\n text: Curious and active. Rover needs daily walks and room to explore.\n image: rover.jpg\n- title: Rex\n text: Gentle and observant. Rex needs a patient home with quiet routines.\n image: rex.jpg\n```","site/pages/010-dogs/content.md","c04adb7dae63dce9",{"html":41,"metadata":42},"\u003Ch1 id=\"dogs\">Dogs\u003C/h1>\n\u003Cp>Meet Rover and Rex.\u003C/p>\n\u003Cpre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>layout: image-top\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>flow: grid\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>size: s\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>width: narrow\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Rover\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Curious and active. Rover needs daily walks and room to explore.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: rover.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Rex\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Gentle and observant. Rex needs a patient home with quiet routines.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: rex.jpg\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":43,"localImagePaths":47,"remoteImagePaths":48,"frontmatter":49,"imagePaths":51},[44],{"depth":24,"slug":45,"text":46},"dogs","Dogs",[],[],{"page":50},{"description":36},[],"site-page-020-adopt",{"id":52,"data":54,"body":57,"filePath":58,"digest":59,"rendered":60},{"page":55},{"description":56},"Learn how to adopt from Dog Shelter.","# Adopt\nAdoption begins with a conversation about your home, routines and experience\nwith dogs. We then arrange a meeting with dogs whose needs appear to match.\n\nThe goal is not the quickest placement. It is a stable home where both the dog\nand the family have the support they need.\n\n```norna-card-list\nlayout: image-left\nflow: stack\nsize: s\nwidth: narrow\n\n- title: Start with a conversation\n text: Tell us about your home and routines, then meet dogs whose needs may be a good match.\n image: adoption-dog.jpg\n```","site/pages/020-adopt/content.md","e0ec7128596846fd",{"html":61,"metadata":62},"\u003Ch1 id=\"adopt\">Adopt\u003C/h1>\n\u003Cp>Adoption begins with a conversation about your home, routines and experience\nwith dogs. We then arrange a meeting with dogs whose needs appear to match.\u003C/p>\n\u003Cp>The goal is not the quickest placement. It is a stable home where both the dog\nand the family have the support they need.\u003C/p>\n\u003Cpre class=\"astro-code github-dark\" style=\"background-color:#24292e;color:#e1e4e8; overflow-x: auto;\" tabindex=\"0\" data-language=\"plaintext\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>layout: image-left\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>flow: stack\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>size: s\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>width: narrow\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- title: Start with a conversation\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> text: Tell us about your home and routines, then meet dogs whose needs may be a good match.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> image: adoption-dog.jpg\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":63,"localImagePaths":67,"remoteImagePaths":68,"frontmatter":69,"imagePaths":71},[64],{"depth":24,"slug":65,"text":66},"adopt","Adopt",[],[],{"page":70},{"description":56},[],"sitewide",["Map",74,75],"site-sitewide",{"id":74,"data":76,"filePath":83,"digest":84},{"logo":77,"banners":79,"footer":80},{"height":78},"3rem",[],{"copyrightMessage":81,"buildInfo":82},"Dog Shelter example site. Dog photos by Bicanski, CC0, via Pixnio.",false,"site/sitewide-content.yaml","88890db1dd044f1f","theme",["Map",87,88],"site-theme",{"id":87,"data":89,"filePath":91,"digest":92},{"preset":90},"project","site/theme.yaml","dbaab11724ca485c"]
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"pid":
|
|
3
|
-
"port":
|
|
4
|
-
"url": "http://127.0.0.1:
|
|
2
|
+
"pid": 68539,
|
|
3
|
+
"port": 4321,
|
|
4
|
+
"url": "http://127.0.0.1:4321",
|
|
5
5
|
"urls": {
|
|
6
6
|
"local": [
|
|
7
|
-
"http://127.0.0.1:
|
|
7
|
+
"http://127.0.0.1:4321/"
|
|
8
8
|
],
|
|
9
9
|
"network": []
|
|
10
10
|
},
|
|
11
11
|
"background": true,
|
|
12
|
-
"startedAt": "2026-08-
|
|
12
|
+
"startedAt": "2026-08-24T06:29:37.723Z"
|
|
13
13
|
}
|
|
@@ -1,26 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
08:29:36 [vite] connected.
|
|
2
|
+
08:29:37 [types] Generated 1ms
|
|
3
|
+
08:29:37 [vite] connected.
|
|
4
|
+
08:29:37 [content] Syncing content
|
|
5
|
+
08:29:37 [content] Astro config changed
|
|
6
|
+
08:29:37 [content] Content config changed
|
|
7
|
+
08:29:37 [content] Clearing content store
|
|
7
8
|
[Shiki] The language "norna-card-list" doesn't exist, falling back to "plaintext".
|
|
8
9
|
[Shiki] The language "norna-card-list" doesn't exist, falling back to "plaintext".
|
|
9
10
|
[Shiki] The language "norna-card-list" doesn't exist, falling back to "plaintext".
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
11
|
+
08:29:37 [content] Synced content
|
|
12
|
+
08:29:37 [vite] Re-optimizing dependencies because lockfile has changed
|
|
13
|
+
astro v7.1.3 ready in 1129 ms
|
|
14
|
+
┃ Local http://127.0.0.1:4321/
|
|
15
|
+
08:29:37 watching for file changes...
|
|
16
|
+
08:29:38 [200] / 55ms
|
|
17
|
+
08:29:38 [200] / 7ms
|
|
18
|
+
08:29:38 [200] / 6ms
|
|
19
|
+
08:29:42 [200] /dogs/ 21ms
|
|
20
|
+
08:29:44 [200] /adopt/ 10ms
|
|
21
|
+
08:35:40 [200] /adopt/ 968ms
|
|
22
|
+
09:44:47 [200] /adopt/ 288ms
|
|
23
|
+
16:01:06 [WARN] [router] A `getStaticPaths()` route pattern was matched, but no matching static path was found for requested path `/norna/`.
|
|
24
|
+
|
|
25
|
+
Possible dynamic routes being matched: ../../../src/pages/[slug].astro.
|
|
26
|
+
16:01:06 [404] /norna/ 9ms
|
|
27
|
+
16:01:07 [WARN] [router] A `getStaticPaths()` route pattern was matched, but no matching static path was found for requested path `/norna/`.
|
|
28
|
+
|
|
29
|
+
Possible dynamic routes being matched: ../../../src/pages/[slug].astro.
|
|
30
|
+
16:01:07 [404] /norna/ 2ms
|
|
31
|
+
16:01:11 [200] / 17ms
|
|
32
|
+
16:01:14 [200] /dogs/ 11ms
|
|
33
|
+
16:01:15 [200] /adopt/ 9ms
|
|
34
|
+
16:01:19 [200] / 9ms
|
|
35
|
+
16:01:19 [200] /dogs/ 10ms
|
|
36
|
+
16:01:20 [200] /adopt/ 9ms
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Dog Shelter multi-page example
|
|
2
2
|
|
|
3
|
-
A small Norna site with a homepage and ordered
|
|
3
|
+
A small Norna site with a homepage and ordered pages for dogs and adoption.
|
|
4
4
|
|
|
5
5
|
[Live demo](https://janga.github.io/norna/examples/complete-sites/dog-shelter-multi-page/)
|
|
6
6
|
|
|
package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/_metadata.json
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
{
|
|
2
|
-
"hash": "
|
|
3
|
-
"configHash": "
|
|
4
|
-
"lockfileHash": "
|
|
5
|
-
"browserHash": "
|
|
2
|
+
"hash": "beb50cee",
|
|
3
|
+
"configHash": "c4c14140",
|
|
4
|
+
"lockfileHash": "79c26dec",
|
|
5
|
+
"browserHash": "c7d7bd9a",
|
|
6
6
|
"optimized": {
|
|
7
7
|
"astro > aria-query": {
|
|
8
8
|
"src": "../../../../../../node_modules/aria-query/lib/index.js",
|
|
9
9
|
"file": "astro_n_aria-query.js",
|
|
10
|
-
"fileHash": "
|
|
10
|
+
"fileHash": "d7bc62c4",
|
|
11
11
|
"needsInterop": true
|
|
12
12
|
},
|
|
13
13
|
"astro > axobject-query": {
|
|
14
14
|
"src": "../../../../../../node_modules/axobject-query/lib/index.js",
|
|
15
15
|
"file": "astro_n_axobject-query.js",
|
|
16
|
-
"fileHash": "
|
|
16
|
+
"fileHash": "1f30a90b",
|
|
17
17
|
"needsInterop": true
|
|
18
18
|
},
|
|
19
19
|
"astro > html-escaper": {
|
|
20
20
|
"src": "../../../../../../node_modules/html-escaper/esm/index.js",
|
|
21
21
|
"file": "astro_n_html-escaper.js",
|
|
22
|
-
"fileHash": "
|
|
22
|
+
"fileHash": "02792f9d",
|
|
23
23
|
"needsInterop": false
|
|
24
24
|
},
|
|
25
25
|
"astro/runtime/client/dev-toolbar/entrypoint.js": {
|
|
26
26
|
"src": "../../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/entrypoint.js",
|
|
27
27
|
"file": "astro_runtime_client_dev-toolbar_entrypoint__js.js",
|
|
28
|
-
"fileHash": "
|
|
28
|
+
"fileHash": "d23b5e13",
|
|
29
29
|
"needsInterop": false
|
|
30
30
|
}
|
|
31
31
|
},
|
|
@@ -1,96 +1,96 @@
|
|
|
1
1
|
{
|
|
2
|
-
"images/
|
|
2
|
+
"pages/000-home/images/shelter-dog.jpg": {
|
|
3
3
|
"outputVersion": 2,
|
|
4
4
|
"sourceHash": "c441ca2935debeb008a43e2a7fd510bfd6776682f84160151fd5c8605bfb8cae",
|
|
5
5
|
"width": 1200,
|
|
6
6
|
"height": 800,
|
|
7
7
|
"variants": [
|
|
8
8
|
{
|
|
9
|
-
"src": "/images/generated/
|
|
9
|
+
"src": "/images/generated/pages/000-home/images/shelter-dog-c441ca29-480.webp",
|
|
10
10
|
"width": 480
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
|
-
"src": "/images/generated/
|
|
13
|
+
"src": "/images/generated/pages/000-home/images/shelter-dog-c441ca29-768.webp",
|
|
14
14
|
"width": 768
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"src": "/images/generated/
|
|
17
|
+
"src": "/images/generated/pages/000-home/images/shelter-dog-c441ca29-1080.webp",
|
|
18
18
|
"width": 1080
|
|
19
19
|
},
|
|
20
20
|
{
|
|
21
|
-
"src": "/images/generated/
|
|
21
|
+
"src": "/images/generated/pages/000-home/images/shelter-dog-c441ca29-1200.webp",
|
|
22
22
|
"width": 1200
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
},
|
|
26
|
-
"
|
|
26
|
+
"pages/010-dogs/images/rex.jpg": {
|
|
27
27
|
"outputVersion": 2,
|
|
28
28
|
"sourceHash": "bcb834d00bb9b520dac475c32906f8578a03bd922c1639c7d86252ae1f1c433a",
|
|
29
29
|
"width": 1200,
|
|
30
30
|
"height": 800,
|
|
31
31
|
"variants": [
|
|
32
32
|
{
|
|
33
|
-
"src": "/images/generated/
|
|
33
|
+
"src": "/images/generated/pages/010-dogs/images/rex-bcb834d0-480.webp",
|
|
34
34
|
"width": 480
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
|
-
"src": "/images/generated/
|
|
37
|
+
"src": "/images/generated/pages/010-dogs/images/rex-bcb834d0-768.webp",
|
|
38
38
|
"width": 768
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
|
-
"src": "/images/generated/
|
|
41
|
+
"src": "/images/generated/pages/010-dogs/images/rex-bcb834d0-1080.webp",
|
|
42
42
|
"width": 1080
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
|
-
"src": "/images/generated/
|
|
45
|
+
"src": "/images/generated/pages/010-dogs/images/rex-bcb834d0-1200.webp",
|
|
46
46
|
"width": 1200
|
|
47
47
|
}
|
|
48
48
|
]
|
|
49
49
|
},
|
|
50
|
-
"
|
|
50
|
+
"pages/010-dogs/images/rover.jpg": {
|
|
51
51
|
"outputVersion": 2,
|
|
52
52
|
"sourceHash": "da764a5b71f2bfa610ae4978cad4660cd6ecfdcd5b7fcbd788b92c3f9ada42b1",
|
|
53
53
|
"width": 1200,
|
|
54
54
|
"height": 800,
|
|
55
55
|
"variants": [
|
|
56
56
|
{
|
|
57
|
-
"src": "/images/generated/
|
|
57
|
+
"src": "/images/generated/pages/010-dogs/images/rover-da764a5b-480.webp",
|
|
58
58
|
"width": 480
|
|
59
59
|
},
|
|
60
60
|
{
|
|
61
|
-
"src": "/images/generated/
|
|
61
|
+
"src": "/images/generated/pages/010-dogs/images/rover-da764a5b-768.webp",
|
|
62
62
|
"width": 768
|
|
63
63
|
},
|
|
64
64
|
{
|
|
65
|
-
"src": "/images/generated/
|
|
65
|
+
"src": "/images/generated/pages/010-dogs/images/rover-da764a5b-1080.webp",
|
|
66
66
|
"width": 1080
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
"src": "/images/generated/
|
|
69
|
+
"src": "/images/generated/pages/010-dogs/images/rover-da764a5b-1200.webp",
|
|
70
70
|
"width": 1200
|
|
71
71
|
}
|
|
72
72
|
]
|
|
73
73
|
},
|
|
74
|
-
"
|
|
74
|
+
"pages/020-adopt/images/adoption-dog.jpg": {
|
|
75
75
|
"outputVersion": 2,
|
|
76
76
|
"sourceHash": "b9396e00227dac3b290d6e29cc82758a4cf98f08bc9154c24c8fbf598563b69a",
|
|
77
77
|
"width": 1200,
|
|
78
78
|
"height": 800,
|
|
79
79
|
"variants": [
|
|
80
80
|
{
|
|
81
|
-
"src": "/images/generated/
|
|
81
|
+
"src": "/images/generated/pages/020-adopt/images/adoption-dog-b9396e00-480.webp",
|
|
82
82
|
"width": 480
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
|
-
"src": "/images/generated/
|
|
85
|
+
"src": "/images/generated/pages/020-adopt/images/adoption-dog-b9396e00-768.webp",
|
|
86
86
|
"width": 768
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"src": "/images/generated/
|
|
89
|
+
"src": "/images/generated/pages/020-adopt/images/adoption-dog-b9396e00-1080.webp",
|
|
90
90
|
"width": 1080
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
|
-
"src": "/images/generated/
|
|
93
|
+
"src": "/images/generated/pages/020-adopt/images/adoption-dog-b9396e00-1200.webp",
|
|
94
94
|
"width": 1200
|
|
95
95
|
}
|
|
96
96
|
]
|
package/examples/complete-sites/dog-shelter-multi-page/site/{content.md → pages/000-home/content.md}
RENAMED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: A multi-page dog shelter website built with Norna.
|
|
2
|
+
page:
|
|
3
|
+
description: A multi-page dog shelter website built with Norna.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
# Dog Shelter
|
|
8
7
|
We rescue dogs, help them recover and introduce them to families ready to give
|
|
9
8
|
them a permanent home.
|
|
10
9
|
|
package/examples/complete-sites/dog-shelter-multi-page/site/{routes → pages}/020-adopt/content.md
RENAMED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
description: Learn how to adopt from Dog Shelter.
|
|
2
|
+
page:
|
|
3
|
+
description: Learn how to adopt from Dog Shelter.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
# Adopt
|
|
8
7
|
Adoption begins with a conversation about your home, routines and experience
|
|
9
8
|
with dogs. We then arrange a meeting with dogs whose needs appear to match.
|
|
10
9
|
|
|
@@ -2,58 +2,34 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"type": "object",
|
|
4
4
|
"properties": {
|
|
5
|
-
"
|
|
6
|
-
"type": "
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
"page": {
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"description": {
|
|
9
|
+
"description": "Optional page-specific meta description.",
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"description": "Optional metadata for this homepage or additional page. The Markdown H1 supplies the page title."
|
|
10
16
|
},
|
|
11
17
|
"navigation": {
|
|
18
|
+
"description": "Optional navigation metadata for this page.",
|
|
12
19
|
"type": "object",
|
|
13
20
|
"properties": {
|
|
14
|
-
"
|
|
21
|
+
"listed": {
|
|
22
|
+
"default": true,
|
|
23
|
+
"description": "List this page in site navigation. The page remains public when false.",
|
|
15
24
|
"type": "boolean"
|
|
16
|
-
},
|
|
17
|
-
"label": {
|
|
18
|
-
"type": "string"
|
|
19
25
|
}
|
|
20
26
|
},
|
|
21
27
|
"additionalProperties": false
|
|
22
28
|
},
|
|
23
|
-
"sections": {
|
|
24
|
-
"default": {},
|
|
25
|
-
"type": "object",
|
|
26
|
-
"propertyNames": {
|
|
27
|
-
"type": "string",
|
|
28
|
-
"pattern": "^[a-z0-9-]+$"
|
|
29
|
-
},
|
|
30
|
-
"additionalProperties": {
|
|
31
|
-
"type": "object",
|
|
32
|
-
"properties": {
|
|
33
|
-
"visible": {
|
|
34
|
-
"type": "object",
|
|
35
|
-
"properties": {
|
|
36
|
-
"from": {
|
|
37
|
-
"type": "string",
|
|
38
|
-
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
39
|
-
},
|
|
40
|
-
"until": {
|
|
41
|
-
"type": "string",
|
|
42
|
-
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
"additionalProperties": false
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
"additionalProperties": false
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
29
|
"$schema": {
|
|
52
30
|
"type": "string"
|
|
53
31
|
}
|
|
54
32
|
},
|
|
55
|
-
"
|
|
56
|
-
|
|
57
|
-
"description"
|
|
58
|
-
]
|
|
33
|
+
"additionalProperties": false,
|
|
34
|
+
"description": "Frontmatter for a homepage or additional page content.md file."
|
|
59
35
|
}
|
package/examples/complete-sites/dog-shelter-single-page/.astro/collections/sitewide.schema.json
CHANGED
|
@@ -2,55 +2,49 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"type": "object",
|
|
4
4
|
"properties": {
|
|
5
|
-
"
|
|
5
|
+
"logo": {
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
8
|
+
"height": {
|
|
9
|
+
"description": "Displayed logo height. Width follows the intrinsic aspect ratio.",
|
|
9
10
|
"type": "string",
|
|
10
|
-
"
|
|
11
|
-
},
|
|
12
|
-
"logo": {
|
|
13
|
-
"type": "object",
|
|
14
|
-
"properties": {
|
|
15
|
-
"alt": {
|
|
16
|
-
"type": "string",
|
|
17
|
-
"minLength": 1
|
|
18
|
-
},
|
|
19
|
-
"height": {
|
|
20
|
-
"type": "string",
|
|
21
|
-
"pattern": "^(?:0|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)|clamp\\(\\s*(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)\\s*,\\s*(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)\\s*,\\s*(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)\\s*\\))$"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"additionalProperties": false
|
|
11
|
+
"pattern": "^(?:0|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)|clamp\\(\\s*(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)\\s*,\\s*(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)\\s*,\\s*(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:px|rem|em|vw|vh|vmin|vmax|ch|%)\\s*\\))$"
|
|
25
12
|
}
|
|
26
13
|
},
|
|
27
|
-
"additionalProperties": false
|
|
14
|
+
"additionalProperties": false,
|
|
15
|
+
"description": "Optional display settings for a convention-based navigation logo."
|
|
28
16
|
},
|
|
29
17
|
"banners": {
|
|
30
18
|
"default": [],
|
|
19
|
+
"description": "Site-wide dismissible notices.",
|
|
31
20
|
"type": "array",
|
|
32
21
|
"items": {
|
|
33
22
|
"type": "object",
|
|
34
23
|
"properties": {
|
|
35
24
|
"id": {
|
|
36
25
|
"type": "string",
|
|
37
|
-
"pattern": "^[a-z0-9-]+$"
|
|
26
|
+
"pattern": "^[a-z0-9-]+$",
|
|
27
|
+
"description": "Stable banner identifier used for dismissal state."
|
|
38
28
|
},
|
|
39
29
|
"tone": {
|
|
40
30
|
"default": "warning",
|
|
31
|
+
"description": "Semantic banner tone.",
|
|
41
32
|
"type": "string",
|
|
42
33
|
"enum": [
|
|
43
34
|
"warning"
|
|
44
35
|
]
|
|
45
36
|
},
|
|
46
37
|
"visible": {
|
|
38
|
+
"description": "Optional date window for the banner.",
|
|
47
39
|
"type": "object",
|
|
48
40
|
"properties": {
|
|
49
41
|
"from": {
|
|
42
|
+
"description": "First date on which the content is visible.",
|
|
50
43
|
"type": "string",
|
|
51
44
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
52
45
|
},
|
|
53
46
|
"until": {
|
|
47
|
+
"description": "First date on which the content is no longer visible.",
|
|
54
48
|
"type": "string",
|
|
55
49
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
56
50
|
}
|
|
@@ -59,11 +53,13 @@
|
|
|
59
53
|
},
|
|
60
54
|
"title": {
|
|
61
55
|
"type": "string",
|
|
62
|
-
"minLength": 1
|
|
56
|
+
"minLength": 1,
|
|
57
|
+
"description": "Short banner heading."
|
|
63
58
|
},
|
|
64
59
|
"text": {
|
|
65
60
|
"type": "string",
|
|
66
|
-
"minLength": 1
|
|
61
|
+
"minLength": 1,
|
|
62
|
+
"description": "Concise banner message."
|
|
67
63
|
}
|
|
68
64
|
},
|
|
69
65
|
"required": [
|
|
@@ -71,61 +67,23 @@
|
|
|
71
67
|
"title",
|
|
72
68
|
"text"
|
|
73
69
|
],
|
|
74
|
-
"additionalProperties": false
|
|
70
|
+
"additionalProperties": false,
|
|
71
|
+
"description": "Dismissible site-wide warning shown above page content for important temporary information."
|
|
75
72
|
}
|
|
76
73
|
},
|
|
77
74
|
"footer": {
|
|
75
|
+
"description": "Site-wide footer content.",
|
|
78
76
|
"type": "object",
|
|
79
77
|
"properties": {
|
|
80
78
|
"copyrightMessage": {
|
|
79
|
+
"description": "Copyright or ownership text shown in the site footer.",
|
|
81
80
|
"type": "string",
|
|
82
81
|
"minLength": 1
|
|
83
82
|
},
|
|
84
83
|
"buildInfo": {
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
"default": true,
|
|
89
|
-
"type": "boolean"
|
|
90
|
-
},
|
|
91
|
-
"text": {
|
|
92
|
-
"type": "string",
|
|
93
|
-
"minLength": 1
|
|
94
|
-
},
|
|
95
|
-
"dateTimeFormat": {
|
|
96
|
-
"type": "object",
|
|
97
|
-
"properties": {
|
|
98
|
-
"locale": {
|
|
99
|
-
"type": "string",
|
|
100
|
-
"minLength": 1
|
|
101
|
-
},
|
|
102
|
-
"timeZone": {
|
|
103
|
-
"type": "string",
|
|
104
|
-
"minLength": 1
|
|
105
|
-
},
|
|
106
|
-
"dateStyle": {
|
|
107
|
-
"type": "string",
|
|
108
|
-
"minLength": 1
|
|
109
|
-
},
|
|
110
|
-
"timeStyle": {
|
|
111
|
-
"type": "string",
|
|
112
|
-
"minLength": 1
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
"required": [
|
|
116
|
-
"locale",
|
|
117
|
-
"timeZone",
|
|
118
|
-
"dateStyle",
|
|
119
|
-
"timeStyle"
|
|
120
|
-
],
|
|
121
|
-
"additionalProperties": false
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
"required": [
|
|
125
|
-
"text",
|
|
126
|
-
"dateTimeFormat"
|
|
127
|
-
],
|
|
128
|
-
"additionalProperties": false
|
|
84
|
+
"default": false,
|
|
85
|
+
"description": "Show a localized generated build timestamp in the footer.",
|
|
86
|
+
"type": "boolean"
|
|
129
87
|
}
|
|
130
88
|
},
|
|
131
89
|
"additionalProperties": false
|
|
@@ -134,5 +92,6 @@
|
|
|
134
92
|
"type": "string"
|
|
135
93
|
}
|
|
136
94
|
},
|
|
137
|
-
"additionalProperties": false
|
|
95
|
+
"additionalProperties": false,
|
|
96
|
+
"description": "Editorial content and optional navigation logo display settings shared by every page."
|
|
138
97
|
}
|