@janga/norna 0.7.9 → 0.7.11

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.
Files changed (287) hide show
  1. package/README.md +4 -2
  2. package/bin/norna-cli.mjs +3 -0
  3. package/docs/README.md +16 -12
  4. package/docs/commands.md +6 -0
  5. package/docs/configuration.md +10 -54
  6. package/docs/content.md +20 -21
  7. package/docs/design/norna-diagram-design.md +2 -0
  8. package/docs/design/site-examples-structure.md +35 -24
  9. package/docs/engine-development.md +13 -7
  10. package/docs/getting-started.md +56 -19
  11. package/docs/routes.md +8 -6
  12. package/docs/site-structure.md +11 -6
  13. package/docs/sitewide-content.md +74 -0
  14. package/docs/theme.md +125 -140
  15. package/docs/typography.md +72 -45
  16. package/examples/README.md +41 -0
  17. package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/site.schema.json +59 -0
  18. package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/sitewide.schema.json +138 -0
  19. package/examples/complete-sites/dog-shelter-multi-page/.astro/collections/theme.schema.json +755 -0
  20. package/examples/complete-sites/dog-shelter-multi-page/.astro/content-modules.mjs +1 -0
  21. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/content.d.ts +8 -0
  22. package/examples/complete-sites/dog-shelter-multi-page/.astro/data-store.json +1 -0
  23. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/dev-local.json +2 -2
  24. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/dev.json +2 -2
  25. package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.log +53 -0
  26. package/examples/complete-sites/dog-shelter-multi-page/.astro/settings.json +5 -0
  27. package/examples/complete-sites/dog-shelter-multi-page/README.md +9 -0
  28. package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/_metadata.json +13 -7
  29. package/examples/complete-sites/dog-shelter-multi-page/site/.norna/generated-images.json +18 -0
  30. package/examples/complete-sites/dog-shelter-multi-page/site/config.mjs +30 -0
  31. package/examples/complete-sites/dog-shelter-multi-page/site/content.md +12 -0
  32. package/examples/complete-sites/dog-shelter-multi-page/site/public/favicon.svg +10 -0
  33. package/examples/complete-sites/dog-shelter-multi-page/site/routes/010-dogs/images/dogs/rex.svg +19 -0
  34. package/examples/complete-sites/dog-shelter-multi-page/site/routes/010-dogs/images/dogs/rover.svg +19 -0
  35. package/examples/complete-sites/dog-shelter-multi-page/site/routes/010-dogs/route-content.md +30 -0
  36. package/examples/complete-sites/dog-shelter-multi-page/site/routes/020-adopt/route-content.md +12 -0
  37. package/examples/complete-sites/dog-shelter-multi-page/site/sitewide-content.md +6 -0
  38. package/examples/complete-sites/dog-shelter-multi-page/site/theme.md +25 -0
  39. package/examples/complete-sites/dog-shelter-single-page/README.md +9 -0
  40. package/examples/complete-sites/dog-shelter-single-page/site/.norna/generated-images.json +18 -0
  41. package/examples/complete-sites/dog-shelter-single-page/site/config.mjs +30 -0
  42. package/examples/complete-sites/dog-shelter-single-page/site/content.md +38 -0
  43. package/examples/complete-sites/dog-shelter-single-page/site/images/what-we-do/dog-house.svg +25 -0
  44. package/examples/complete-sites/dog-shelter-single-page/site/images/you-can-help/heart.svg +13 -0
  45. package/examples/complete-sites/dog-shelter-single-page/site/public/favicon.svg +10 -0
  46. package/examples/complete-sites/dog-shelter-single-page/site/public/robots.txt +2 -0
  47. package/examples/complete-sites/dog-shelter-single-page/site/sitewide-content.md +6 -0
  48. package/examples/complete-sites/dog-shelter-single-page/site/theme.md +25 -0
  49. package/examples/feature-demos/media-and-surfaces/.astro/collections/site.schema.json +59 -0
  50. package/examples/feature-demos/media-and-surfaces/.astro/collections/sitewide.schema.json +138 -0
  51. package/examples/feature-demos/media-and-surfaces/.astro/collections/theme.schema.json +755 -0
  52. package/examples/feature-demos/media-and-surfaces/.astro/content-modules.mjs +1 -0
  53. package/examples/feature-demos/media-and-surfaces/.astro/content.d.ts +183 -0
  54. package/examples/feature-demos/media-and-surfaces/.astro/data-store.json +1 -0
  55. package/examples/feature-demos/media-and-surfaces/.astro/dev.log +11 -0
  56. package/examples/feature-demos/media-and-surfaces/.astro/settings.json +5 -0
  57. package/examples/feature-demos/media-and-surfaces/.astro/types.d.ts +2 -0
  58. package/examples/feature-demos/media-and-surfaces/README.md +15 -0
  59. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/_metadata.json +74 -0
  60. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro-B3JHJyiv.js +434 -0
  61. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  62. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  63. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  64. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
  65. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  66. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  67. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  68. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  69. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  70. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/audit-C3SVr7dT.js +1534 -0
  71. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/audit-C3SVr7dT.js.map +1 -0
  72. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/highlight-BLtvqtzO.js +48 -0
  73. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  74. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/icons-C92i61-2.js +42 -0
  75. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  76. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/settings-v5GgKks_.js +190 -0
  77. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/settings-v5GgKks_.js.map +1 -0
  78. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/toolbar-BFvJVp26.js +458 -0
  79. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +1 -0
  80. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/ui-library-Cd35oAvo.js +1016 -0
  81. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +1 -0
  82. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/window-vo3A6TMn.js +32 -0
  83. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  84. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/xray-DwhzGckb.js +111 -0
  85. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/xray-DwhzGckb.js.map +1 -0
  86. package/examples/feature-demos/media-and-surfaces/site/.norna/generated-images.json +66 -0
  87. package/examples/feature-demos/media-and-surfaces/site/config.mjs +30 -0
  88. package/examples/feature-demos/media-and-surfaces/site/content.md +64 -0
  89. package/examples/feature-demos/media-and-surfaces/site/public/robots.txt +2 -0
  90. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/cards/card-carousel.svg +11 -0
  91. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/cards/card-stack.svg +9 -0
  92. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/cards/card-surfaces.svg +8 -0
  93. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/carousel/carousel-one.svg +8 -0
  94. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/carousel/carousel-three.svg +13 -0
  95. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/carousel/carousel-two.svg +8 -0
  96. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/stack/stack-one.svg +8 -0
  97. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/images/stack/stack-two.svg +9 -0
  98. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/route-content.md +85 -0
  99. package/examples/feature-demos/media-and-surfaces/site/routes/010-media/theme.md +3 -0
  100. package/examples/feature-demos/media-and-surfaces/site/routes/020-surfaces/route-content.md +44 -0
  101. package/examples/feature-demos/media-and-surfaces/site/routes/020-surfaces/theme.md +8 -0
  102. package/examples/feature-demos/media-and-surfaces/site/sitewide-content.md +6 -0
  103. package/examples/feature-demos/media-and-surfaces/site/theme.md +3 -0
  104. package/examples/{typography-presets/.astro/collections/theme.schema.json → feature-demos/theme-presets/.astro/collections/routeTheme.schema.json} +143 -65
  105. package/examples/feature-demos/theme-presets/.astro/collections/site.schema.json +59 -0
  106. package/examples/feature-demos/theme-presets/.astro/collections/sitewide.schema.json +138 -0
  107. package/examples/feature-demos/theme-presets/.astro/collections/theme.schema.json +755 -0
  108. package/examples/feature-demos/theme-presets/.astro/content-assets.mjs +4 -0
  109. package/examples/feature-demos/theme-presets/.astro/content-modules.mjs +1 -0
  110. package/examples/feature-demos/theme-presets/.astro/content.d.ts +183 -0
  111. package/examples/feature-demos/theme-presets/.astro/data-store.json +1 -0
  112. package/examples/feature-demos/theme-presets/.astro/dev-local.json +8 -0
  113. package/examples/feature-demos/theme-presets/.astro/dev.json +15 -0
  114. package/examples/feature-demos/theme-presets/.astro/dev.log +127 -0
  115. package/examples/feature-demos/theme-presets/.astro/types.d.ts +2 -0
  116. package/examples/feature-demos/theme-presets/README.md +14 -0
  117. package/examples/feature-demos/theme-presets/node_modules/.vite/deps/embla-carousel.js +1389 -0
  118. package/examples/feature-demos/theme-presets/node_modules/.vite/deps/embla-carousel.js.map +1 -0
  119. package/examples/feature-demos/theme-presets/node_modules/.vite/deps/package.json +3 -0
  120. package/examples/feature-demos/theme-presets/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
  121. package/examples/feature-demos/theme-presets/site/.norna/generated-images.json +290 -0
  122. package/examples/{typography-presets → feature-demos/theme-presets}/site/config.mjs +4 -16
  123. package/examples/feature-demos/theme-presets/site/content.md +17 -0
  124. package/examples/feature-demos/theme-presets/site/routes/010-portfolio/route-content.md +34 -0
  125. package/examples/feature-demos/theme-presets/site/routes/010-portfolio/theme.md +3 -0
  126. package/examples/feature-demos/theme-presets/site/routes/020-documentation/route-content.md +33 -0
  127. package/examples/feature-demos/theme-presets/site/routes/020-documentation/theme.md +3 -0
  128. package/examples/feature-demos/theme-presets/site/routes/030-project/route-content.md +34 -0
  129. package/examples/feature-demos/theme-presets/site/routes/030-project/theme.md +3 -0
  130. package/examples/feature-demos/theme-presets/site/routes/040-statement/route-content.md +34 -0
  131. package/examples/feature-demos/theme-presets/site/routes/040-statement/theme.md +3 -0
  132. package/examples/feature-demos/theme-presets/site/sitewide-content.md +14 -0
  133. package/examples/feature-demos/theme-presets/site/theme.md +3 -0
  134. package/fixtures/basic/site/config.mjs +0 -13
  135. package/fixtures/basic/site/sitewide-content.md +12 -0
  136. package/fixtures/basic/site/theme.md +2 -2
  137. package/fixtures/content-model-v2/site/content.md +2 -5
  138. package/fixtures/content-model-v2/site/theme.md +1 -3
  139. package/package.json +9 -4
  140. package/scripts/build-pages.mjs +71 -0
  141. package/scripts/check-config.mjs +23 -1
  142. package/scripts/export-theme-preset.mjs +31 -0
  143. package/scripts/init-site.mjs +1 -0
  144. package/scripts/lib/example-sites.mjs +34 -0
  145. package/scripts/lib/frontmatter-yaml.mjs +28 -0
  146. package/scripts/lib/logo-assets.mjs +35 -0
  147. package/scripts/lib/norna-markdown-blocks.mjs +166 -0
  148. package/scripts/lib/presentation.mjs +106 -47
  149. package/scripts/lib/project-config.mjs +68 -105
  150. package/scripts/lib/site-content.mjs +26 -118
  151. package/scripts/lib/site-paths.mjs +2 -0
  152. package/scripts/lib/sitewide-config.mjs +34 -0
  153. package/scripts/lib/theme-config.mjs +75 -8
  154. package/scripts/lib/theme-presets.mjs +209 -0
  155. package/scripts/lib/typography.mjs +20 -26
  156. package/scripts/show-typography.mjs +43 -149
  157. package/scripts/sync-content-sections.mjs +19 -17
  158. package/scripts/test-content-check.mjs +59 -27
  159. package/scripts/test-content-model-v2.mjs +154 -0
  160. package/scripts/test-engine-commands.mjs +4 -1
  161. package/scripts/test-examples.mjs +15 -0
  162. package/scripts/test-navigation.mjs +73 -45
  163. package/scripts/test-package-check.mjs +66 -24
  164. package/scripts/test-temporary-visibility.mjs +19 -2
  165. package/scripts/test-theme-presets.mjs +151 -0
  166. package/src/components/CardList.astro +5 -2
  167. package/src/components/GalleryGrid.astro +37 -16
  168. package/src/components/SiteBanners.astro +100 -0
  169. package/src/components/SiteNavigation.astro +48 -31
  170. package/src/components/SitePage.astro +55 -13
  171. package/src/components/SiteSection.astro +193 -35
  172. package/src/content.config.ts +80 -48
  173. package/src/layouts/BaseLayout.astro +64 -14
  174. package/src/lib/routeThemes.ts +61 -0
  175. package/src/lib/sectionContent.ts +235 -51
  176. package/src/lib/sitePublicAssets.ts +1 -0
  177. package/src/styles/global.css +284 -93
  178. package/starters/basic/.github/workflows/deploy.yml +1 -1
  179. package/starters/basic/README.md +7 -6
  180. package/starters/basic/package.json +1 -0
  181. package/starters/basic/site/config.mjs +0 -13
  182. package/starters/basic/site/content.md +1 -1
  183. package/starters/basic/site/sitewide-content.md +14 -0
  184. package/starters/basic/site/theme.md +13 -24
  185. package/starters/project/.github/workflows/deploy.yml +1 -1
  186. package/starters/project/README.md +10 -8
  187. package/starters/project/package.json +1 -0
  188. package/starters/project/site/config.mjs +0 -13
  189. package/starters/project/site/sitewide-content.md +14 -0
  190. package/starters/project/site/theme.md +3 -11
  191. package/examples/dog-gallery/site/.norna/generated-images.json +0 -226
  192. package/examples/dog-gallery/site/config.mjs +0 -67
  193. package/examples/dog-gallery/site/content.md +0 -128
  194. package/examples/dog-gallery/site/images/black-dogs/black-puppy-meadow.png +0 -0
  195. package/examples/dog-gallery/site/images/black-dogs/photo-of-a-black-dog.jpg +0 -0
  196. package/examples/dog-gallery/site/images/brown-dogs/brown-dog.jpg +0 -0
  197. package/examples/dog-gallery/site/images/brown-dogs/dog-accompanies-master.jpg +0 -0
  198. package/examples/dog-gallery/site/images/golden-dogs/golden-retriever.jpg +0 -0
  199. package/examples/dog-gallery/site/images/golden-dogs/toller-puppy.jpg +0 -0
  200. package/examples/dog-gallery/site/images/white-dogs/white-cute-dog.jpg +0 -0
  201. package/examples/dog-gallery/site/images/white-dogs/white-puppy-garden.png +0 -0
  202. package/examples/dog-gallery/site/public/favicon.svg +0 -7
  203. package/examples/dog-gallery/site/routes/010-dog-care/route-content.md +0 -38
  204. package/examples/dog-gallery/site/theme.md +0 -112
  205. package/examples/typography-presets/.astro/collections/site.schema.json +0 -776
  206. package/examples/typography-presets/.astro/data-store.json +0 -1
  207. package/examples/typography-presets/.astro/dev.log +0 -24
  208. package/examples/typography-presets/site/.norna/generated-images.json +0 -290
  209. package/examples/typography-presets/site/content.md +0 -134
  210. package/examples/typography-presets/site/theme.md +0 -43
  211. /package/examples/{typography-presets/.astro/content-modules.mjs → complete-sites/dog-shelter-multi-page/.astro/content-assets.mjs} +0 -0
  212. /package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/types.d.ts +0 -0
  213. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -0
  214. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -0
  215. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_aria-query.js +0 -0
  216. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -0
  217. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_axobject-query.js +0 -0
  218. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -0
  219. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_html-escaper.js +0 -0
  220. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -0
  221. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -0
  222. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -0
  223. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -0
  224. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -0
  225. /package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/embla-carousel.js +0 -0
  226. /package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/embla-carousel.js.map +0 -0
  227. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -0
  228. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -0
  229. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/icons-RyebKi45.js +0 -0
  230. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -0
  231. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/package.json +0 -0
  232. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -0
  233. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -0
  234. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -0
  235. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/toolbar-63PA619H.js +0 -0
  236. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -0
  237. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -0
  238. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -0
  239. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/window-jPkpKVcy.js +0 -0
  240. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -0
  241. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -0
  242. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -0
  243. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/site/public/robots.txt +0 -0
  244. /package/examples/{typography-presets → feature-demos/media-and-surfaces}/.astro/content-assets.mjs +0 -0
  245. /package/examples/{typography-presets → feature-demos/media-and-surfaces}/node_modules/.vite/deps/package.json +0 -0
  246. /package/examples/{typography-presets → feature-demos/media-and-surfaces}/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -0
  247. /package/examples/{typography-presets → feature-demos/theme-presets}/.astro/settings.json +0 -0
  248. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/_metadata.json +0 -0
  249. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -0
  250. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -0
  251. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_aria-query.js +0 -0
  252. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -0
  253. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_axobject-query.js +0 -0
  254. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -0
  255. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_html-escaper.js +0 -0
  256. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -0
  257. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -0
  258. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -0
  259. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -0
  260. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -0
  261. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -0
  262. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -0
  263. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/icons-RyebKi45.js +0 -0
  264. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -0
  265. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -0
  266. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -0
  267. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/toolbar-63PA619H.js +0 -0
  268. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -0
  269. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -0
  270. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -0
  271. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/window-jPkpKVcy.js +0 -0
  272. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -0
  273. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -0
  274. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -0
  275. /package/examples/{typography-presets → feature-demos/theme-presets}/site/public/robots.txt +0 -0
  276. /package/examples/{typography-presets/site/images/quiet-gallery → feature-demos/theme-presets/site/routes/010-portfolio/images/portfolio}/puppy-portrait.jpg +0 -0
  277. /package/examples/{typography-presets/site/images/quiet-gallery → feature-demos/theme-presets/site/routes/010-portfolio/images/portfolio}/shepherd-portrait.jpg +0 -0
  278. /package/examples/{typography-presets/site/images/quiet-gallery → feature-demos/theme-presets/site/routes/010-portfolio/images/portfolio}/white-puppy.jpg +0 -0
  279. /package/examples/{typography-presets/site/images/compact-gallery → feature-demos/theme-presets/site/routes/020-documentation/images/documentation}/black-schnauzer.jpg +0 -0
  280. /package/examples/{typography-presets/site/images/compact-gallery → feature-demos/theme-presets/site/routes/020-documentation/images/documentation}/retriever-portrait.jpg +0 -0
  281. /package/examples/{typography-presets/site/images/compact-gallery → feature-demos/theme-presets/site/routes/020-documentation/images/documentation}/schnauzer-portrait.jpg +0 -0
  282. /package/examples/{typography-presets/site/images/text-forward → feature-demos/theme-presets/site/routes/030-project/images/project}/boxer-portrait.jpg +0 -0
  283. /package/examples/{typography-presets/site/images/text-forward → feature-demos/theme-presets/site/routes/030-project/images/project}/grass-puppy.jpg +0 -0
  284. /package/examples/{typography-presets/site/images/text-forward → feature-demos/theme-presets/site/routes/030-project/images/project}/grey-street-dog.jpg +0 -0
  285. /package/examples/{typography-presets/site → feature-demos/theme-presets/site/routes/040-statement}/images/statement/black-pedigree.jpg +0 -0
  286. /package/examples/{typography-presets/site → feature-demos/theme-presets/site/routes/040-statement}/images/statement/sheepdog-grass.jpg +0 -0
  287. /package/examples/{typography-presets/site → feature-demos/theme-presets/site/routes/040-statement}/images/statement/sheepdog-wide.jpg +0 -0
@@ -1 +0,0 @@
1
- [["Map",1,2,9,10,86,87],"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\":\"0.0.0.0\",\"port\":4321,\"allowedHosts\":[\"0.0.0.0\",\"0.0.0.0\",\"0.0.0.0\",\"0.0.0.0\"]},\"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","ccc39d7fb56a7431","site",["Map",11,12],"site-content",{"id":11,"data":13,"body":35,"filePath":36,"digest":37,"rendered":38},{"title":14,"description":15,"navigation":16,"sections":18},"Typography Presets","A Norna example page showing every built-in typography preset.",{"label":17},"Presets",{"quiet-gallery":19,"compact-gallery":23,"text-forward":27,"statement":31},{"presentation":20},{"typography":21},{"preset":22},"quiet-gallery",{"presentation":24},{"typography":25},{"preset":26},"compact-gallery",{"presentation":28},{"typography":29},{"preset":30},"text-forward",{"presentation":32},{"typography":33},{"preset":34},"statement","## Quiet Gallery {#quiet-gallery}\n\nThis section uses the `quiet-gallery` preset. Its purpose is to keep text\nrestrained so images can carry much of the page without the typography\ncompeting for attention.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a\nante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis\ninterdum. Donec ullamcorper nulla non metus auctor fringilla.\n\n### Reading rhythm\n\nCurabitur blandit tempus porttitor. Praesent commodo cursus magna, vel\nscelerisque nisl consectetur et. Vestibulum id ligula porta felis euismod\nsemper.\n\n```norna-image-stack\n- image: puppy-portrait.jpg\n alt: A puppy sitting outdoors and looking toward the camera.\n caption: Puppy portrait. Photo by Bicanski, CC0, via Pixnio.\n- image: shepherd-portrait.jpg\n alt: A shepherd dog standing outdoors and looking toward the camera.\n caption: Shepherd dog portrait. Photo by Bicanski, CC0, via Pixnio.\n- image: white-puppy.jpg\n alt: A white puppy outdoors in winter.\n caption: White puppy outdoors. Photo by Bicanski, CC0, via Pixnio.\n```\n\n## Compact Gallery {#compact-gallery}\n\nThis section uses the `compact-gallery` preset. Its purpose is to make denser\nimage-led pages easier to scan when a site contains many sections, many images\nor short information blocks.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacinia\nbibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod.\n\n### Dense sections\n\nNullam id dolor id nibh ultricies vehicula ut id elit. Fusce dapibus, tellus ac\ncursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit\namet risus.\n\n```norna-image-stack\n- image: schnauzer-portrait.jpg\n alt: A schnauzer-type dog sitting outdoors.\n caption: Schnauzer portrait. Photo by Bicanski, CC0, via Pixnio.\n- image: black-schnauzer.jpg\n alt: A black schnauzer-type dog standing on grass.\n caption: Black hunting dog portrait. Photo by Bicanski, CC0, via Pixnio.\n- image: retriever-portrait.jpg\n alt: A retriever-type dog sitting outdoors.\n caption: Retriever portrait. Photo by Bicanski, CC0, via Pixnio.\n```\n\n## Text Forward {#text-forward}\n\nThis section uses the `text-forward` preset. Its purpose is to give longer\nexplanatory text more presence while still supporting image captions and\nimage-led sections.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed posuere\nconsectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.\nVivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.\n\n### Longer explanations\n\nMorbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec sed odio\ndui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget\nlacinia odio sem nec elit.\n\n```norna-image-stack\n- image: grass-puppy.jpg\n alt: A puppy standing in green grass.\n caption: Puppy in grass. Photo by Bicanski, CC0, via Pixnio.\n- image: grey-street-dog.jpg\n alt: A grey dog standing on a paved street.\n caption: Grey dog on pavement. Photo by Bicanski, CC0, via Pixnio.\n- image: boxer-portrait.jpg\n alt: A brown boxer-type dog looking at the camera.\n caption: Brown dog portrait. Photo by Bicanski, CC0, via Pixnio.\n```\n\n## Statement {#statement}\n\nThis section uses the `statement` preset. Its purpose is to make short,\ndeclarative sections feel more direct and programmatic. It is intentionally\nstronger than the other presets and should usually be used sparingly.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id elit non mi\nporta gravida at eget metus. Integer posuere erat a ante venenatis dapibus\nposuere velit aliquet.\n\n### Short emphasis\n\nPraesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean\nlacinia bibendum nulla sed consectetur. Maecenas sed diam eget risus varius\nblandit sit amet non magna.\n\n```norna-image-stack\n- image: sheepdog-grass.jpg\n alt: A sheepdog puppy sitting in green grass.\n caption: Sheepdog puppy in grass. Photo by Bicanski, CC0, via Pixnio.\n- image: sheepdog-wide.jpg\n alt: A sheepdog puppy lying outdoors.\n caption: Sheepdog puppy outdoors. Photo by Bicanski, CC0, via Pixnio.\n- image: black-pedigree.jpg\n alt: A black dog standing in grass.\n caption: Black pedigree dog portrait. Photo by Bicanski, CC0, via Pixnio.\n```","site/content.md","a68e5ee7be3be768",{"html":39,"metadata":40},"\u003Ch2 id=\"quiet-gallery-quiet-gallery\">Quiet Gallery {#quiet-gallery}\u003C/h2>\n\u003Cp>This section uses the \u003Ccode>quiet-gallery\u003C/code> preset. Its purpose is to keep text\nrestrained so images can carry much of the page without the typography\ncompeting for attention.\u003C/p>\n\u003Cp>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a\nante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis\ninterdum. Donec ullamcorper nulla non metus auctor fringilla.\u003C/p>\n\u003Ch3 id=\"reading-rhythm\">Reading rhythm\u003C/h3>\n\u003Cp>Curabitur blandit tempus porttitor. Praesent commodo cursus magna, vel\nscelerisque nisl consectetur et. Vestibulum id ligula porta felis euismod\nsemper.\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>- image: puppy-portrait.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A puppy sitting outdoors and looking toward the camera.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Puppy portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: shepherd-portrait.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A shepherd dog standing outdoors and looking toward the camera.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Shepherd dog portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: white-puppy.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A white puppy outdoors in winter.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: White puppy outdoors. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Ch2 id=\"compact-gallery-compact-gallery\">Compact Gallery {#compact-gallery}\u003C/h2>\n\u003Cp>This section uses the \u003Ccode>compact-gallery\u003C/code> preset. Its purpose is to make denser\nimage-led pages easier to scan when a site contains many sections, many images\nor short information blocks.\u003C/p>\n\u003Cp>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacinia\nbibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod.\u003C/p>\n\u003Ch3 id=\"dense-sections\">Dense sections\u003C/h3>\n\u003Cp>Nullam id dolor id nibh ultricies vehicula ut id elit. Fusce dapibus, tellus ac\ncursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit\namet risus.\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>- image: schnauzer-portrait.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A schnauzer-type dog sitting outdoors.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Schnauzer portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: black-schnauzer.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A black schnauzer-type dog standing on grass.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Black hunting dog portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: retriever-portrait.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A retriever-type dog sitting outdoors.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Retriever portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Ch2 id=\"text-forward-text-forward\">Text Forward {#text-forward}\u003C/h2>\n\u003Cp>This section uses the \u003Ccode>text-forward\u003C/code> preset. Its purpose is to give longer\nexplanatory text more presence while still supporting image captions and\nimage-led sections.\u003C/p>\n\u003Cp>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed posuere\nconsectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.\nVivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.\u003C/p>\n\u003Ch3 id=\"longer-explanations\">Longer explanations\u003C/h3>\n\u003Cp>Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec sed odio\ndui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget\nlacinia odio sem nec elit.\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>- image: grass-puppy.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A puppy standing in green grass.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Puppy in grass. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: grey-street-dog.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A grey dog standing on a paved street.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Grey dog on pavement. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: boxer-portrait.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A brown boxer-type dog looking at the camera.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Brown dog portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n\u003Ch2 id=\"statement-statement\">Statement {#statement}\u003C/h2>\n\u003Cp>This section uses the \u003Ccode>statement\u003C/code> preset. Its purpose is to make short,\ndeclarative sections feel more direct and programmatic. It is intentionally\nstronger than the other presets and should usually be used sparingly.\u003C/p>\n\u003Cp>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id elit non mi\nporta gravida at eget metus. Integer posuere erat a ante venenatis dapibus\nposuere velit aliquet.\u003C/p>\n\u003Ch3 id=\"short-emphasis\">Short emphasis\u003C/h3>\n\u003Cp>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean\nlacinia bibendum nulla sed consectetur. Maecenas sed diam eget risus varius\nblandit sit amet non magna.\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>- image: sheepdog-grass.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A sheepdog puppy sitting in green grass.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Sheepdog puppy in grass. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: sheepdog-wide.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A sheepdog puppy lying outdoors.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Sheepdog puppy outdoors. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan>- image: black-pedigree.jpg\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> alt: A black dog standing in grass.\u003C/span>\u003C/span>\n\u003Cspan class=\"line\">\u003Cspan> caption: Black pedigree dog portrait. Photo by Bicanski, CC0, via Pixnio.\u003C/span>\u003C/span>\u003C/code>\u003C/pre>\n",{"headings":41,"localImagePaths":68,"remoteImagePaths":69,"frontmatter":70,"imagePaths":85},[42,46,50,53,56,59,62,65],{"depth":43,"slug":44,"text":45},2,"quiet-gallery-quiet-gallery","Quiet Gallery {#quiet-gallery}",{"depth":47,"slug":48,"text":49},3,"reading-rhythm","Reading rhythm",{"depth":43,"slug":51,"text":52},"compact-gallery-compact-gallery","Compact Gallery {#compact-gallery}",{"depth":47,"slug":54,"text":55},"dense-sections","Dense sections",{"depth":43,"slug":57,"text":58},"text-forward-text-forward","Text Forward {#text-forward}",{"depth":47,"slug":60,"text":61},"longer-explanations","Longer explanations",{"depth":43,"slug":63,"text":64},"statement-statement","Statement {#statement}",{"depth":47,"slug":66,"text":67},"short-emphasis","Short emphasis",[],[],{"title":14,"description":15,"navigation":71,"sections":72},{"label":17},{"quiet-gallery":73,"compact-gallery":76,"text-forward":79,"statement":82},{"presentation":74},{"typography":75},{"preset":22},{"presentation":77},{"typography":78},{"preset":26},{"presentation":80},{"typography":81},{"preset":30},{"presentation":83},{"typography":84},{"preset":34},[],"theme",["Map",88,89],"site-theme",{"id":88,"data":90,"filePath":124,"digest":125,"rendered":126},{"navigation":91,"layout":92,"gallery":110,"typography":117,"presentation":119,"frame":122},{"brand":14},{"density":93,"pageWidth":94,"gutter":95,"spacing":98},"normal","1320px",{"desktop":96,"mobile":97},"clamp(1.25rem, 4vw, 3rem)","1rem",{"bodyToImages":99,"finalSectionBottom":101,"firstSectionTop":104,"imageGap":106,"sectionGap":109},{"desktop":100,"mobile":97},"1.25rem",{"desktop":102,"mobile":103},"clamp(2rem, 4vw, 3.5rem)","2rem",{"desktop":105,"mobile":97},"clamp(1.5rem, 3vw, 2.5rem)",{"desktop":107,"mobile":108},"clamp(1.25rem, 3vw, 2.25rem)","1.5rem",{"desktop":102,"mobile":103},{"width":111,"maxAvailableWidthPercent":112,"maxAvailableHeightPercent":114},"70vw",{"desktop":113,"mobile":113},100,{"desktop":115,"mobile":116},72,68,{"fontFamily":118,"preset":22,"rhythm":93},"Arial, 'Helvetica Neue', Helvetica, sans-serif",{"backgroundColor":120,"textColor":121},"#f8f5ee","#17201d",{"colors":123},"presentation","site/theme.md","0309eb6531ccc823",{"html":127,"metadata":128},"",{"headings":129,"localImagePaths":130,"remoteImagePaths":131,"frontmatter":132,"imagePaths":148},[],[],[],{"navigation":133,"layout":134,"gallery":142,"typography":145,"presentation":146,"frame":147},{"brand":14},{"density":93,"pageWidth":94,"gutter":135,"spacing":136},{"desktop":96,"mobile":97},{"firstSectionTop":137,"sectionGap":138,"finalSectionBottom":139,"bodyToImages":140,"imageGap":141},{"desktop":105,"mobile":97},{"desktop":102,"mobile":103},{"desktop":102,"mobile":103},{"desktop":100,"mobile":97},{"desktop":107,"mobile":108},{"width":111,"maxAvailableWidthPercent":143,"maxAvailableHeightPercent":144},{"desktop":113,"mobile":113},{"desktop":115,"mobile":116},{"fontFamily":118,"preset":22,"rhythm":93},{"backgroundColor":120,"textColor":121},{"colors":123},[]]
@@ -1,24 +0,0 @@
1
- 11:11:01 [vite] connected.
2
- 11:11:01 [types] Generated 0ms
3
- 11:11:01 [vite] connected.
4
- 11:11:02 [content] Syncing content
5
- 11:11:02 [content] Astro config changed
6
- 11:11:02 [content] Clearing content store
7
- [Shiki] The language "norna-image-stack" doesn't exist, falling back to "plaintext".
8
- [Shiki] The language "norna-image-stack" doesn't exist, falling back to "plaintext".
9
- [Shiki] The language "norna-image-stack" doesn't exist, falling back to "plaintext".
10
- [Shiki] The language "norna-image-stack" doesn't exist, falling back to "plaintext".
11
- 11:11:02 [content] Synced content
12
- astro v7.1.3 ready in 1095 ms
13
- ┃ Local http://localhost:4321/
14
- ┃ Network http://192.168.1.102:4321/
15
- 11:11:02 watching for file changes...
16
- 11:11:02 [200] / 50ms
17
- 11:11:02 [200] / 6ms
18
- 11:11:02 [200] / 7ms
19
- 11:12:06 [200] / 9ms
20
- 11:12:06 [WARN] [router] A `getStaticPaths()` route pattern was matched, but no matching static path was found for requested path `/favicon.ico`.
21
-
22
- Possible dynamic routes being matched: ../../src/pages/[slug].astro.
23
- 11:16:24 [200] / 10ms
24
- 11:21:16 [200] / 8ms
@@ -1,290 +0,0 @@
1
- {
2
- "images/compact-gallery/black-schnauzer.jpg": {
3
- "outputVersion": 2,
4
- "sourceHash": "569922b4aa71096cc8e3a245f0ddccf74f941881b823084723854580078b50b0",
5
- "width": 1200,
6
- "height": 800,
7
- "variants": [
8
- {
9
- "src": "/images/generated/compact-gallery/black-schnauzer-569922b4-480.webp",
10
- "width": 480
11
- },
12
- {
13
- "src": "/images/generated/compact-gallery/black-schnauzer-569922b4-768.webp",
14
- "width": 768
15
- },
16
- {
17
- "src": "/images/generated/compact-gallery/black-schnauzer-569922b4-1080.webp",
18
- "width": 1080
19
- },
20
- {
21
- "src": "/images/generated/compact-gallery/black-schnauzer-569922b4-1200.webp",
22
- "width": 1200
23
- }
24
- ]
25
- },
26
- "images/compact-gallery/retriever-portrait.jpg": {
27
- "outputVersion": 2,
28
- "sourceHash": "c441ca2935debeb008a43e2a7fd510bfd6776682f84160151fd5c8605bfb8cae",
29
- "width": 1200,
30
- "height": 800,
31
- "variants": [
32
- {
33
- "src": "/images/generated/compact-gallery/retriever-portrait-c441ca29-480.webp",
34
- "width": 480
35
- },
36
- {
37
- "src": "/images/generated/compact-gallery/retriever-portrait-c441ca29-768.webp",
38
- "width": 768
39
- },
40
- {
41
- "src": "/images/generated/compact-gallery/retriever-portrait-c441ca29-1080.webp",
42
- "width": 1080
43
- },
44
- {
45
- "src": "/images/generated/compact-gallery/retriever-portrait-c441ca29-1200.webp",
46
- "width": 1200
47
- }
48
- ]
49
- },
50
- "images/compact-gallery/schnauzer-portrait.jpg": {
51
- "outputVersion": 2,
52
- "sourceHash": "545b0427b8e15846fe73656758da6eb3b8612dabf2b2879c31197986f8deb9b5",
53
- "width": 1200,
54
- "height": 900,
55
- "variants": [
56
- {
57
- "src": "/images/generated/compact-gallery/schnauzer-portrait-545b0427-480.webp",
58
- "width": 480
59
- },
60
- {
61
- "src": "/images/generated/compact-gallery/schnauzer-portrait-545b0427-768.webp",
62
- "width": 768
63
- },
64
- {
65
- "src": "/images/generated/compact-gallery/schnauzer-portrait-545b0427-1080.webp",
66
- "width": 1080
67
- },
68
- {
69
- "src": "/images/generated/compact-gallery/schnauzer-portrait-545b0427-1200.webp",
70
- "width": 1200
71
- }
72
- ]
73
- },
74
- "images/quiet-gallery/puppy-portrait.jpg": {
75
- "outputVersion": 2,
76
- "sourceHash": "0cb5126b86660785da62903393e43df7b6e361d3bd1a0492cc6f371159c5afb8",
77
- "width": 1200,
78
- "height": 800,
79
- "variants": [
80
- {
81
- "src": "/images/generated/quiet-gallery/puppy-portrait-0cb5126b-480.webp",
82
- "width": 480
83
- },
84
- {
85
- "src": "/images/generated/quiet-gallery/puppy-portrait-0cb5126b-768.webp",
86
- "width": 768
87
- },
88
- {
89
- "src": "/images/generated/quiet-gallery/puppy-portrait-0cb5126b-1080.webp",
90
- "width": 1080
91
- },
92
- {
93
- "src": "/images/generated/quiet-gallery/puppy-portrait-0cb5126b-1200.webp",
94
- "width": 1200
95
- }
96
- ]
97
- },
98
- "images/quiet-gallery/shepherd-portrait.jpg": {
99
- "outputVersion": 2,
100
- "sourceHash": "604099036852fa40c2fecf8620a138405c8edcb0b92f120bb603742f9ee91154",
101
- "width": 1200,
102
- "height": 800,
103
- "variants": [
104
- {
105
- "src": "/images/generated/quiet-gallery/shepherd-portrait-60409903-480.webp",
106
- "width": 480
107
- },
108
- {
109
- "src": "/images/generated/quiet-gallery/shepherd-portrait-60409903-768.webp",
110
- "width": 768
111
- },
112
- {
113
- "src": "/images/generated/quiet-gallery/shepherd-portrait-60409903-1080.webp",
114
- "width": 1080
115
- },
116
- {
117
- "src": "/images/generated/quiet-gallery/shepherd-portrait-60409903-1200.webp",
118
- "width": 1200
119
- }
120
- ]
121
- },
122
- "images/quiet-gallery/white-puppy.jpg": {
123
- "outputVersion": 2,
124
- "sourceHash": "bcb834d00bb9b520dac475c32906f8578a03bd922c1639c7d86252ae1f1c433a",
125
- "width": 1200,
126
- "height": 800,
127
- "variants": [
128
- {
129
- "src": "/images/generated/quiet-gallery/white-puppy-bcb834d0-480.webp",
130
- "width": 480
131
- },
132
- {
133
- "src": "/images/generated/quiet-gallery/white-puppy-bcb834d0-768.webp",
134
- "width": 768
135
- },
136
- {
137
- "src": "/images/generated/quiet-gallery/white-puppy-bcb834d0-1080.webp",
138
- "width": 1080
139
- },
140
- {
141
- "src": "/images/generated/quiet-gallery/white-puppy-bcb834d0-1200.webp",
142
- "width": 1200
143
- }
144
- ]
145
- },
146
- "images/statement/black-pedigree.jpg": {
147
- "outputVersion": 2,
148
- "sourceHash": "7d5e0be21d7889cb440b9dd6bab74d8f656e4f5159fdcd6cbe937fc7b9d4bd44",
149
- "width": 1200,
150
- "height": 800,
151
- "variants": [
152
- {
153
- "src": "/images/generated/statement/black-pedigree-7d5e0be2-480.webp",
154
- "width": 480
155
- },
156
- {
157
- "src": "/images/generated/statement/black-pedigree-7d5e0be2-768.webp",
158
- "width": 768
159
- },
160
- {
161
- "src": "/images/generated/statement/black-pedigree-7d5e0be2-1080.webp",
162
- "width": 1080
163
- },
164
- {
165
- "src": "/images/generated/statement/black-pedigree-7d5e0be2-1200.webp",
166
- "width": 1200
167
- }
168
- ]
169
- },
170
- "images/statement/sheepdog-grass.jpg": {
171
- "outputVersion": 2,
172
- "sourceHash": "b9396e00227dac3b290d6e29cc82758a4cf98f08bc9154c24c8fbf598563b69a",
173
- "width": 1200,
174
- "height": 800,
175
- "variants": [
176
- {
177
- "src": "/images/generated/statement/sheepdog-grass-b9396e00-480.webp",
178
- "width": 480
179
- },
180
- {
181
- "src": "/images/generated/statement/sheepdog-grass-b9396e00-768.webp",
182
- "width": 768
183
- },
184
- {
185
- "src": "/images/generated/statement/sheepdog-grass-b9396e00-1080.webp",
186
- "width": 1080
187
- },
188
- {
189
- "src": "/images/generated/statement/sheepdog-grass-b9396e00-1200.webp",
190
- "width": 1200
191
- }
192
- ]
193
- },
194
- "images/statement/sheepdog-wide.jpg": {
195
- "outputVersion": 2,
196
- "sourceHash": "5c8a6878d3d38549d41f8161b92ffb555f3bf5c2d3defbade15932c4d11b6dea",
197
- "width": 1200,
198
- "height": 667,
199
- "variants": [
200
- {
201
- "src": "/images/generated/statement/sheepdog-wide-5c8a6878-480.webp",
202
- "width": 480
203
- },
204
- {
205
- "src": "/images/generated/statement/sheepdog-wide-5c8a6878-768.webp",
206
- "width": 768
207
- },
208
- {
209
- "src": "/images/generated/statement/sheepdog-wide-5c8a6878-1080.webp",
210
- "width": 1080
211
- },
212
- {
213
- "src": "/images/generated/statement/sheepdog-wide-5c8a6878-1200.webp",
214
- "width": 1200
215
- }
216
- ]
217
- },
218
- "images/text-forward/boxer-portrait.jpg": {
219
- "outputVersion": 2,
220
- "sourceHash": "da764a5b71f2bfa610ae4978cad4660cd6ecfdcd5b7fcbd788b92c3f9ada42b1",
221
- "width": 1200,
222
- "height": 800,
223
- "variants": [
224
- {
225
- "src": "/images/generated/text-forward/boxer-portrait-da764a5b-480.webp",
226
- "width": 480
227
- },
228
- {
229
- "src": "/images/generated/text-forward/boxer-portrait-da764a5b-768.webp",
230
- "width": 768
231
- },
232
- {
233
- "src": "/images/generated/text-forward/boxer-portrait-da764a5b-1080.webp",
234
- "width": 1080
235
- },
236
- {
237
- "src": "/images/generated/text-forward/boxer-portrait-da764a5b-1200.webp",
238
- "width": 1200
239
- }
240
- ]
241
- },
242
- "images/text-forward/grass-puppy.jpg": {
243
- "outputVersion": 2,
244
- "sourceHash": "519d663971223bdb1948db9087c637f1ed8b4d21d81c08e1fc10d5e2d904f230",
245
- "width": 1200,
246
- "height": 800,
247
- "variants": [
248
- {
249
- "src": "/images/generated/text-forward/grass-puppy-519d6639-480.webp",
250
- "width": 480
251
- },
252
- {
253
- "src": "/images/generated/text-forward/grass-puppy-519d6639-768.webp",
254
- "width": 768
255
- },
256
- {
257
- "src": "/images/generated/text-forward/grass-puppy-519d6639-1080.webp",
258
- "width": 1080
259
- },
260
- {
261
- "src": "/images/generated/text-forward/grass-puppy-519d6639-1200.webp",
262
- "width": 1200
263
- }
264
- ]
265
- },
266
- "images/text-forward/grey-street-dog.jpg": {
267
- "outputVersion": 2,
268
- "sourceHash": "08cab93ba9a2d1c3a72c471dd8724efa7d820f43dad447221b445c32ebe9ab28",
269
- "width": 1200,
270
- "height": 800,
271
- "variants": [
272
- {
273
- "src": "/images/generated/text-forward/grey-street-dog-08cab93b-480.webp",
274
- "width": 480
275
- },
276
- {
277
- "src": "/images/generated/text-forward/grey-street-dog-08cab93b-768.webp",
278
- "width": 768
279
- },
280
- {
281
- "src": "/images/generated/text-forward/grey-street-dog-08cab93b-1080.webp",
282
- "width": 1080
283
- },
284
- {
285
- "src": "/images/generated/text-forward/grey-street-dog-08cab93b-1200.webp",
286
- "width": 1200
287
- }
288
- ]
289
- }
290
- }
@@ -1,134 +0,0 @@
1
- ---
2
- title: Typography Presets
3
- description: A Norna example page showing every built-in typography preset.
4
- navigation:
5
- label: Presets
6
- sections:
7
- quiet-gallery:
8
- presentation:
9
- typography:
10
- preset: quiet-gallery
11
- compact-gallery:
12
- presentation:
13
- typography:
14
- preset: compact-gallery
15
- text-forward:
16
- presentation:
17
- typography:
18
- preset: text-forward
19
- statement:
20
- presentation:
21
- typography:
22
- preset: statement
23
- ---
24
-
25
- ## Quiet Gallery {#quiet-gallery}
26
-
27
- This section uses the `quiet-gallery` preset. Its purpose is to keep text
28
- restrained so images can carry much of the page without the typography
29
- competing for attention.
30
-
31
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a
32
- ante venenatis dapibus posuere velit aliquet. Maecenas faucibus mollis
33
- interdum. Donec ullamcorper nulla non metus auctor fringilla.
34
-
35
- ### Reading rhythm
36
-
37
- Curabitur blandit tempus porttitor. Praesent commodo cursus magna, vel
38
- scelerisque nisl consectetur et. Vestibulum id ligula porta felis euismod
39
- semper.
40
-
41
- ```norna-image-stack
42
- - image: puppy-portrait.jpg
43
- alt: A puppy sitting outdoors and looking toward the camera.
44
- caption: Puppy portrait. Photo by Bicanski, CC0, via Pixnio.
45
- - image: shepherd-portrait.jpg
46
- alt: A shepherd dog standing outdoors and looking toward the camera.
47
- caption: Shepherd dog portrait. Photo by Bicanski, CC0, via Pixnio.
48
- - image: white-puppy.jpg
49
- alt: A white puppy outdoors in winter.
50
- caption: White puppy outdoors. Photo by Bicanski, CC0, via Pixnio.
51
- ```
52
-
53
- ## Compact Gallery {#compact-gallery}
54
-
55
- This section uses the `compact-gallery` preset. Its purpose is to make denser
56
- image-led pages easier to scan when a site contains many sections, many images
57
- or short information blocks.
58
-
59
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacinia
60
- bibendum nulla sed consectetur. Etiam porta sem malesuada magna mollis euismod.
61
-
62
- ### Dense sections
63
-
64
- Nullam id dolor id nibh ultricies vehicula ut id elit. Fusce dapibus, tellus ac
65
- cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit
66
- amet risus.
67
-
68
- ```norna-image-stack
69
- - image: schnauzer-portrait.jpg
70
- alt: A schnauzer-type dog sitting outdoors.
71
- caption: Schnauzer portrait. Photo by Bicanski, CC0, via Pixnio.
72
- - image: black-schnauzer.jpg
73
- alt: A black schnauzer-type dog standing on grass.
74
- caption: Black hunting dog portrait. Photo by Bicanski, CC0, via Pixnio.
75
- - image: retriever-portrait.jpg
76
- alt: A retriever-type dog sitting outdoors.
77
- caption: Retriever portrait. Photo by Bicanski, CC0, via Pixnio.
78
- ```
79
-
80
- ## Text Forward {#text-forward}
81
-
82
- This section uses the `text-forward` preset. Its purpose is to give longer
83
- explanatory text more presence while still supporting image captions and
84
- image-led sections.
85
-
86
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed posuere
87
- consectetur est at lobortis. Cras mattis consectetur purus sit amet fermentum.
88
- Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
89
-
90
- ### Longer explanations
91
-
92
- Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Donec sed odio
93
- dui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget
94
- lacinia odio sem nec elit.
95
-
96
- ```norna-image-stack
97
- - image: grass-puppy.jpg
98
- alt: A puppy standing in green grass.
99
- caption: Puppy in grass. Photo by Bicanski, CC0, via Pixnio.
100
- - image: grey-street-dog.jpg
101
- alt: A grey dog standing on a paved street.
102
- caption: Grey dog on pavement. Photo by Bicanski, CC0, via Pixnio.
103
- - image: boxer-portrait.jpg
104
- alt: A brown boxer-type dog looking at the camera.
105
- caption: Brown dog portrait. Photo by Bicanski, CC0, via Pixnio.
106
- ```
107
-
108
- ## Statement {#statement}
109
-
110
- This section uses the `statement` preset. Its purpose is to make short,
111
- declarative sections feel more direct and programmatic. It is intentionally
112
- stronger than the other presets and should usually be used sparingly.
113
-
114
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec id elit non mi
115
- porta gravida at eget metus. Integer posuere erat a ante venenatis dapibus
116
- posuere velit aliquet.
117
-
118
- ### Short emphasis
119
-
120
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Aenean
121
- lacinia bibendum nulla sed consectetur. Maecenas sed diam eget risus varius
122
- blandit sit amet non magna.
123
-
124
- ```norna-image-stack
125
- - image: sheepdog-grass.jpg
126
- alt: A sheepdog puppy sitting in green grass.
127
- caption: Sheepdog puppy in grass. Photo by Bicanski, CC0, via Pixnio.
128
- - image: sheepdog-wide.jpg
129
- alt: A sheepdog puppy lying outdoors.
130
- caption: Sheepdog puppy outdoors. Photo by Bicanski, CC0, via Pixnio.
131
- - image: black-pedigree.jpg
132
- alt: A black dog standing in grass.
133
- caption: Black pedigree dog portrait. Photo by Bicanski, CC0, via Pixnio.
134
- ```
@@ -1,43 +0,0 @@
1
- ---
2
- navigation:
3
- brand: Typography Presets
4
- layout:
5
- density: normal
6
- pageWidth: 1320px
7
- gutter:
8
- desktop: clamp(1.25rem, 4vw, 3rem)
9
- mobile: 1rem
10
- spacing:
11
- firstSectionTop:
12
- desktop: clamp(1.5rem, 3vw, 2.5rem)
13
- mobile: 1rem
14
- sectionGap:
15
- desktop: clamp(2rem, 4vw, 3.5rem)
16
- mobile: 2rem
17
- finalSectionBottom:
18
- desktop: clamp(2rem, 4vw, 3.5rem)
19
- mobile: 2rem
20
- bodyToImages:
21
- desktop: 1.25rem
22
- mobile: 1rem
23
- imageGap:
24
- desktop: clamp(1.25rem, 3vw, 2.25rem)
25
- mobile: 1.5rem
26
- gallery:
27
- width: 70vw
28
- maxAvailableWidthPercent:
29
- desktop: 100
30
- mobile: 100
31
- maxAvailableHeightPercent:
32
- desktop: 72
33
- mobile: 68
34
- typography:
35
- fontFamily: "Arial, 'Helvetica Neue', Helvetica, sans-serif"
36
- preset: quiet-gallery
37
- rhythm: normal
38
- presentation:
39
- backgroundColor: "#f8f5ee"
40
- textColor: "#17201d"
41
- frame:
42
- colors: presentation
43
- ---