@janga/norna 0.7.10 → 0.7.12

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 (476) hide show
  1. package/README.md +120 -106
  2. package/bin/norna-cli.mjs +4 -1
  3. package/docs/README.md +107 -74
  4. package/docs/assets/norna-dog-shelter.jpg +0 -0
  5. package/docs/commands.md +13 -4
  6. package/docs/configuration.md +86 -184
  7. package/docs/content.md +14 -14
  8. package/docs/design/command-organization.md +1 -1
  9. package/docs/design/norna-diagram-design.md +2 -1
  10. package/docs/design/site-examples-structure.md +38 -24
  11. package/docs/engine-development.md +28 -15
  12. package/docs/getting-started.md +141 -124
  13. package/docs/how-to/embedded-site.md +35 -0
  14. package/docs/publishing.md +47 -46
  15. package/docs/requirements.md +54 -0
  16. package/docs/routes.md +3 -2
  17. package/docs/site-structure.md +12 -9
  18. package/docs/sitewide-content.md +2 -1
  19. package/docs/theme.md +104 -34
  20. package/docs/typography.md +32 -17
  21. package/examples/README.md +43 -0
  22. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/collections/sitewide.schema.json +24 -0
  23. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/collections/theme.schema.json +9 -24
  24. package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/.astro/content.d.ts +9 -1
  25. package/examples/complete-sites/dog-shelter-multi-page/.astro/data-store.json +1 -0
  26. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/dev-local.json +2 -2
  27. package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.json +13 -0
  28. package/examples/complete-sites/dog-shelter-multi-page/.astro/dev.log +26 -0
  29. package/examples/complete-sites/dog-shelter-multi-page/.astro/settings.json +5 -0
  30. package/examples/complete-sites/dog-shelter-multi-page/README.md +16 -0
  31. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/_metadata.json +74 -0
  32. package/examples/{typography-presets/node_modules/.vite/deps/astro-D_GIpJIE.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro-B3JHJyiv.js} +4 -4
  33. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  34. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_aria-query.js +151 -151
  35. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  36. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_axobject-query.js +131 -131
  37. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  38. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_n_html-escaper.js +1 -1
  39. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  40. package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +10 -10
  41. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  42. package/examples/{typography-presets/node_modules/.vite/deps/audit-DM9Hkl5B.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/audit-C3SVr7dT.js} +10 -10
  43. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/audit-C3SVr7dT.js.map +1 -0
  44. package/examples/{typography-presets/node_modules/.vite/deps/highlight-DnZ1ULOL.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/highlight-BLtvqtzO.js} +1 -1
  45. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  46. package/examples/{typography-presets/node_modules/.vite/deps/icons-RyebKi45.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/icons-C92i61-2.js} +1 -1
  47. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  48. package/examples/{typography-presets/node_modules/.vite/deps/settings-DaU-gNnK.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/settings-v5GgKks_.js} +2 -2
  49. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/settings-v5GgKks_.js.map +1 -0
  50. package/examples/{typography-presets/node_modules/.vite/deps/toolbar-63PA619H.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/toolbar-BFvJVp26.js} +2 -2
  51. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +1 -0
  52. package/examples/{typography-presets/node_modules/.vite/deps/ui-library--bkcNSYz.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js} +10 -10
  53. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +1 -0
  54. package/examples/{typography-presets/node_modules/.vite/deps/window-jPkpKVcy.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/window-vo3A6TMn.js} +1 -1
  55. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  56. package/examples/{typography-presets/node_modules/.vite/deps/xray-BXCHpEJP.js → complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/xray-DwhzGckb.js} +3 -3
  57. package/examples/complete-sites/dog-shelter-multi-page/node_modules/.vite/deps/xray-DwhzGckb.js.map +1 -0
  58. package/examples/complete-sites/dog-shelter-multi-page/site/.norna/generated-images.json +98 -0
  59. package/examples/complete-sites/dog-shelter-multi-page/site/config.md +3 -0
  60. package/examples/{002-dog-shelter-multi-page → complete-sites/dog-shelter-multi-page}/site/content.md +12 -0
  61. package/examples/complete-sites/dog-shelter-multi-page/site/public/logo.svg +9 -0
  62. package/examples/complete-sites/dog-shelter-multi-page/site/routes/010-dogs/route-content.md +22 -0
  63. package/examples/{002-dog-shelter-multi-page → complete-sites/dog-shelter-multi-page}/site/routes/020-adopt/route-content.md +11 -0
  64. package/examples/complete-sites/dog-shelter-multi-page/site/sitewide-content.md +16 -0
  65. package/examples/complete-sites/dog-shelter-multi-page/site/theme.md +3 -0
  66. package/examples/complete-sites/dog-shelter-single-page/.astro/collections/site.schema.json +59 -0
  67. package/examples/complete-sites/dog-shelter-single-page/.astro/collections/sitewide.schema.json +138 -0
  68. package/examples/{dog-gallery → complete-sites/dog-shelter-single-page}/.astro/collections/theme.schema.json +151 -68
  69. package/examples/complete-sites/dog-shelter-single-page/.astro/content.d.ts +183 -0
  70. package/examples/complete-sites/dog-shelter-single-page/.astro/data-store.json +1 -0
  71. package/examples/complete-sites/dog-shelter-single-page/.astro/dev.json +13 -0
  72. package/examples/complete-sites/dog-shelter-single-page/.astro/dev.log +14 -0
  73. package/examples/complete-sites/dog-shelter-single-page/.astro/settings.json +5 -0
  74. package/examples/complete-sites/dog-shelter-single-page/README.md +16 -0
  75. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/_metadata.json +74 -0
  76. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro-B3JHJyiv.js +434 -0
  77. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  78. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  79. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  80. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
  81. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  82. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  83. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  84. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  85. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  86. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/audit-C3SVr7dT.js +1534 -0
  87. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/audit-C3SVr7dT.js.map +1 -0
  88. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/highlight-BLtvqtzO.js +48 -0
  89. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  90. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/icons-C92i61-2.js +42 -0
  91. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  92. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/settings-v5GgKks_.js +190 -0
  93. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/settings-v5GgKks_.js.map +1 -0
  94. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/toolbar-BFvJVp26.js +458 -0
  95. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +1 -0
  96. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js +1016 -0
  97. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +1 -0
  98. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/window-vo3A6TMn.js +32 -0
  99. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  100. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/xray-DwhzGckb.js +111 -0
  101. package/examples/complete-sites/dog-shelter-single-page/node_modules/.vite/deps/xray-DwhzGckb.js.map +1 -0
  102. package/examples/complete-sites/dog-shelter-single-page/site/.norna/generated-images.json +50 -0
  103. package/examples/complete-sites/dog-shelter-single-page/site/config.md +3 -0
  104. package/examples/complete-sites/dog-shelter-single-page/site/content.md +34 -0
  105. package/examples/complete-sites/dog-shelter-single-page/site/public/logo.svg +9 -0
  106. package/examples/complete-sites/dog-shelter-single-page/site/sitewide-content.md +16 -0
  107. package/examples/complete-sites/dog-shelter-single-page/site/theme.md +3 -0
  108. package/examples/feature-demos/media-and-surfaces/.astro/collections/site.schema.json +59 -0
  109. package/examples/feature-demos/media-and-surfaces/.astro/collections/sitewide.schema.json +138 -0
  110. package/examples/feature-demos/media-and-surfaces/.astro/collections/theme.schema.json +755 -0
  111. package/examples/feature-demos/media-and-surfaces/.astro/content-assets.mjs +4 -0
  112. package/examples/feature-demos/media-and-surfaces/.astro/content-modules.mjs +1 -0
  113. package/examples/feature-demos/media-and-surfaces/.astro/content.d.ts +183 -0
  114. package/examples/feature-demos/media-and-surfaces/.astro/data-store.json +1 -0
  115. package/examples/feature-demos/media-and-surfaces/.astro/dev.log +24 -0
  116. package/examples/feature-demos/media-and-surfaces/.astro/settings.json +5 -0
  117. package/examples/feature-demos/media-and-surfaces/.astro/types.d.ts +2 -0
  118. package/examples/feature-demos/media-and-surfaces/README.md +21 -0
  119. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/_metadata.json +80 -0
  120. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro-B3JHJyiv.js +434 -0
  121. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  122. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  123. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  124. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
  125. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  126. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  127. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  128. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  129. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  130. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/audit-C3SVr7dT.js +1534 -0
  131. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/audit-C3SVr7dT.js.map +1 -0
  132. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/embla-carousel.js +1389 -0
  133. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/embla-carousel.js.map +1 -0
  134. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/highlight-BLtvqtzO.js +48 -0
  135. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  136. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/icons-C92i61-2.js +42 -0
  137. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  138. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/package.json +3 -0
  139. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
  140. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/settings-v5GgKks_.js +190 -0
  141. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/settings-v5GgKks_.js.map +1 -0
  142. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/toolbar-BFvJVp26.js +458 -0
  143. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +1 -0
  144. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/ui-library-Cd35oAvo.js +1016 -0
  145. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +1 -0
  146. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/window-vo3A6TMn.js +32 -0
  147. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  148. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/xray-DwhzGckb.js +111 -0
  149. package/examples/feature-demos/media-and-surfaces/node_modules/.vite/deps/xray-DwhzGckb.js.map +1 -0
  150. package/examples/{presentation → feature-demos/media-and-surfaces}/site/.norna/generated-images.json +16 -16
  151. package/examples/feature-demos/media-and-surfaces/site/config.md +4 -0
  152. package/examples/feature-demos/media-and-surfaces/site/content.md +18 -0
  153. package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/route-content.md +17 -24
  154. package/examples/{presentation/site/routes/030-surfaces → feature-demos/media-and-surfaces/site/routes/020-surfaces}/route-content.md +1 -1
  155. package/examples/{presentation/site/routes/030-surfaces → feature-demos/media-and-surfaces/site/routes/020-surfaces}/theme.md +1 -0
  156. package/examples/feature-demos/media-and-surfaces/site/sitewide-content.md +6 -0
  157. package/examples/feature-demos/media-and-surfaces/site/theme.md +3 -0
  158. package/examples/feature-demos/sitewide-content/.astro/collections/site.schema.json +59 -0
  159. package/examples/feature-demos/sitewide-content/.astro/collections/sitewide.schema.json +138 -0
  160. package/examples/feature-demos/sitewide-content/.astro/collections/theme.schema.json +755 -0
  161. package/examples/feature-demos/sitewide-content/.astro/content-assets.mjs +1 -0
  162. package/examples/feature-demos/sitewide-content/.astro/content-modules.mjs +1 -0
  163. package/examples/feature-demos/sitewide-content/.astro/content.d.ts +183 -0
  164. package/examples/feature-demos/sitewide-content/.astro/data-store.json +1 -0
  165. package/examples/feature-demos/sitewide-content/.astro/dev.json +13 -0
  166. package/examples/feature-demos/sitewide-content/.astro/dev.log +18 -0
  167. package/examples/feature-demos/sitewide-content/.astro/settings.json +5 -0
  168. package/examples/feature-demos/sitewide-content/.astro/types.d.ts +2 -0
  169. package/examples/feature-demos/sitewide-content/README.md +18 -0
  170. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/_metadata.json +74 -0
  171. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro-B3JHJyiv.js +434 -0
  172. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro-B3JHJyiv.js.map +1 -0
  173. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_aria-query.js +6390 -0
  174. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_aria-query.js.map +1 -0
  175. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_axobject-query.js +2702 -0
  176. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_axobject-query.js.map +1 -0
  177. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_html-escaper.js +65 -0
  178. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_n_html-escaper.js.map +1 -0
  179. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +455 -0
  180. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +1 -0
  181. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/audit-C3SVr7dT.js +1534 -0
  182. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/audit-C3SVr7dT.js.map +1 -0
  183. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/highlight-BLtvqtzO.js +48 -0
  184. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/highlight-BLtvqtzO.js.map +1 -0
  185. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/icons-C92i61-2.js +42 -0
  186. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/icons-C92i61-2.js.map +1 -0
  187. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/package.json +3 -0
  188. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
  189. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/settings-v5GgKks_.js +190 -0
  190. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/settings-v5GgKks_.js.map +1 -0
  191. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/toolbar-BFvJVp26.js +458 -0
  192. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/toolbar-BFvJVp26.js.map +1 -0
  193. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/ui-library-Cd35oAvo.js +1016 -0
  194. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/ui-library-Cd35oAvo.js.map +1 -0
  195. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/window-vo3A6TMn.js +32 -0
  196. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/window-vo3A6TMn.js.map +1 -0
  197. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/xray-DwhzGckb.js +111 -0
  198. package/examples/feature-demos/sitewide-content/node_modules/.vite/deps/xray-DwhzGckb.js.map +1 -0
  199. package/examples/feature-demos/sitewide-content/site/.norna/generated-images.json +1 -0
  200. package/examples/feature-demos/sitewide-content/site/config.md +3 -0
  201. package/examples/feature-demos/sitewide-content/site/content.md +16 -0
  202. package/examples/feature-demos/sitewide-content/site/public/logo.svg +6 -0
  203. package/examples/feature-demos/sitewide-content/site/routes/010-identity/route-content.md +20 -0
  204. package/examples/feature-demos/sitewide-content/site/routes/020-notices/route-content.md +22 -0
  205. package/examples/feature-demos/sitewide-content/site/routes/030-footer/route-content.md +17 -0
  206. package/examples/feature-demos/sitewide-content/site/sitewide-content.md +33 -0
  207. package/examples/feature-demos/sitewide-content/site/theme.md +3 -0
  208. package/examples/feature-demos/theme-presets/.astro/collections/site.schema.json +59 -0
  209. package/examples/feature-demos/theme-presets/.astro/collections/sitewide.schema.json +138 -0
  210. package/examples/feature-demos/theme-presets/.astro/collections/theme.schema.json +755 -0
  211. package/examples/feature-demos/theme-presets/.astro/content-assets.mjs +4 -0
  212. package/examples/feature-demos/theme-presets/.astro/content-modules.mjs +1 -0
  213. package/examples/{typography-presets → feature-demos/theme-presets}/.astro/data-store.json +1 -1
  214. package/examples/feature-demos/theme-presets/.astro/dev-local.json +8 -0
  215. package/examples/{typography-presets → feature-demos/theme-presets}/.astro/dev.json +2 -2
  216. package/examples/feature-demos/theme-presets/.astro/dev.log +164 -0
  217. package/examples/feature-demos/theme-presets/.astro/types.d.ts +2 -0
  218. package/examples/feature-demos/theme-presets/README.md +18 -0
  219. package/examples/feature-demos/theme-presets/node_modules/.vite/deps/package.json +3 -0
  220. package/examples/feature-demos/theme-presets/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +4 -0
  221. package/examples/{typography-presets → feature-demos/theme-presets}/site/.norna/generated-images.json +45 -45
  222. package/examples/feature-demos/theme-presets/site/config.md +3 -0
  223. package/examples/feature-demos/theme-presets/site/content.md +17 -0
  224. package/examples/feature-demos/theme-presets/site/routes/010-portfolio/images/portfolio/shepherd-portrait.jpg +0 -0
  225. package/examples/feature-demos/theme-presets/site/routes/010-portfolio/images/portfolio/white-puppy.jpg +0 -0
  226. package/examples/{typography-presets/site/routes/010-quiet-gallery → feature-demos/theme-presets/site/routes/010-portfolio}/route-content.md +8 -8
  227. package/examples/feature-demos/theme-presets/site/routes/010-portfolio/theme.md +3 -0
  228. package/examples/feature-demos/theme-presets/site/routes/020-documentation/images/documentation/retriever-portrait.jpg +0 -0
  229. package/examples/{typography-presets/site/routes/020-compact-gallery → feature-demos/theme-presets/site/routes/020-documentation}/route-content.md +8 -8
  230. package/examples/feature-demos/theme-presets/site/routes/020-documentation/theme.md +3 -0
  231. package/examples/feature-demos/theme-presets/site/routes/030-project/images/project/boxer-portrait.jpg +0 -0
  232. package/examples/feature-demos/theme-presets/site/routes/030-project/images/project/grass-puppy.jpg +0 -0
  233. package/examples/{typography-presets/site/routes/030-text-forward → feature-demos/theme-presets/site/routes/030-project}/route-content.md +8 -8
  234. package/examples/feature-demos/theme-presets/site/routes/030-project/theme.md +3 -0
  235. package/examples/feature-demos/theme-presets/site/routes/040-statement/images/statement/sheepdog-grass.jpg +0 -0
  236. package/examples/{typography-presets → feature-demos/theme-presets}/site/routes/040-statement/route-content.md +3 -3
  237. package/examples/feature-demos/theme-presets/site/routes/040-statement/theme.md +3 -0
  238. package/examples/{typography-presets → feature-demos/theme-presets}/site/sitewide-content.md +1 -1
  239. package/examples/feature-demos/theme-presets/site/theme.md +3 -0
  240. package/fixtures/basic/site/config.md +3 -0
  241. package/fixtures/content-model-v2/site/config.md +3 -0
  242. package/package.json +17 -8
  243. package/scripts/build-pages.mjs +69 -0
  244. package/scripts/check-config.mjs +3 -11
  245. package/scripts/deploy-site.mjs +12 -8
  246. package/scripts/export-theme-preset.mjs +31 -0
  247. package/scripts/init-site.mjs +1 -0
  248. package/scripts/lib/example-sites.mjs +37 -0
  249. package/scripts/lib/github-repository.mjs +44 -0
  250. package/scripts/lib/norna-markdown-blocks.mjs +97 -10
  251. package/scripts/lib/presentation.mjs +6 -5
  252. package/scripts/lib/project-config.mjs +114 -124
  253. package/scripts/lib/site-content.mjs +9 -2
  254. package/scripts/lib/site-paths.mjs +6 -2
  255. package/scripts/lib/theme-config.mjs +3 -0
  256. package/scripts/lib/theme-presets.mjs +209 -0
  257. package/scripts/show-typography.mjs +6 -5
  258. package/scripts/test-client-javascript.mjs +236 -0
  259. package/scripts/test-content-check.mjs +103 -0
  260. package/scripts/test-content-model-v2.mjs +9 -13
  261. package/scripts/test-documentation.mjs +116 -0
  262. package/scripts/test-engine-commands.mjs +13 -3
  263. package/scripts/test-examples.mjs +24 -0
  264. package/scripts/test-navigation.mjs +73 -45
  265. package/scripts/test-package-check.mjs +17 -9
  266. package/scripts/test-project-config.mjs +130 -0
  267. package/scripts/test-temporary-visibility.mjs +3 -10
  268. package/scripts/test-theme-presets.mjs +146 -0
  269. package/scripts/watch-pages-deploy.mjs +15 -11
  270. package/src/components/GalleryGrid.astro +30 -230
  271. package/src/components/ImageCarousel.astro +184 -0
  272. package/src/components/MobileSectionNavigationScript.astro +14 -0
  273. package/src/components/NornaSmoothScrollScript.astro +250 -0
  274. package/src/components/SiteNavigation.astro +58 -341
  275. package/src/components/SiteNotesScript.astro +43 -0
  276. package/src/components/SitePage.astro +6 -3
  277. package/src/components/SiteSection.astro +4 -47
  278. package/src/content.config.ts +2 -0
  279. package/src/layouts/BaseLayout.astro +1 -1
  280. package/src/lib/galleryImages.ts +53 -0
  281. package/src/styles/global.css +83 -1
  282. package/starters/basic/.github/workflows/deploy.yml +1 -2
  283. package/starters/basic/README.md +10 -8
  284. package/starters/basic/package.json +1 -0
  285. package/starters/basic/site/config.md +3 -0
  286. package/starters/project/.github/workflows/deploy.yml +1 -2
  287. package/starters/project/README.md +3 -4
  288. package/starters/project/package.json +1 -0
  289. package/starters/project/site/config.md +3 -0
  290. package/examples/001-dog-shelter-single-page/README.md +0 -9
  291. package/examples/001-dog-shelter-single-page/site/config.mjs +0 -27
  292. package/examples/001-dog-shelter-single-page/site/content.md +0 -38
  293. package/examples/001-dog-shelter-single-page/site/images/what-we-do/dog-house.svg +0 -25
  294. package/examples/001-dog-shelter-single-page/site/images/you-can-help/heart.svg +0 -13
  295. package/examples/001-dog-shelter-single-page/site/sitewide-content.md +0 -6
  296. package/examples/001-dog-shelter-single-page/site/theme.md +0 -25
  297. package/examples/002-dog-shelter-multi-page/README.md +0 -9
  298. package/examples/002-dog-shelter-multi-page/site/config.mjs +0 -27
  299. package/examples/002-dog-shelter-multi-page/site/routes/010-dogs/images/dogs/rex.svg +0 -19
  300. package/examples/002-dog-shelter-multi-page/site/routes/010-dogs/images/dogs/rover.svg +0 -19
  301. package/examples/002-dog-shelter-multi-page/site/routes/010-dogs/route-content.md +0 -30
  302. package/examples/002-dog-shelter-multi-page/site/sitewide-content.md +0 -6
  303. package/examples/002-dog-shelter-multi-page/site/theme.md +0 -25
  304. package/examples/dog-gallery/.astro/collections/site.schema.json +0 -776
  305. package/examples/dog-gallery/.astro/data-store.json +0 -1
  306. package/examples/dog-gallery/.astro/dev-local.json +0 -8
  307. package/examples/dog-gallery/.astro/dev.json +0 -13
  308. package/examples/dog-gallery/.astro/dev.log +0 -95
  309. package/examples/dog-gallery/.astro/settings.json +0 -5
  310. package/examples/dog-gallery/dist/_astro/GalleryGrid.astro_astro_type_script_index_0_lang.B0kxDyGz.js +0 -1
  311. package/examples/dog-gallery/dist/_astro/SitePage.DicGh_5N.css +0 -1
  312. package/examples/dog-gallery/dist/dog-care/index.html +0 -15
  313. package/examples/dog-gallery/dist/dog-shelter-logo.svg +0 -14
  314. package/examples/dog-gallery/dist/favicon.svg +0 -7
  315. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1080.webp +0 -0
  316. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp +0 -0
  317. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1536.webp +0 -0
  318. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-480.webp +0 -0
  319. package/examples/dog-gallery/dist/images/generated/black-dogs/black-puppy-meadow-7255e3d9-768.webp +0 -0
  320. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-480.webp +0 -0
  321. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-768.webp +0 -0
  322. package/examples/dog-gallery/dist/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp +0 -0
  323. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1080.webp +0 -0
  324. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1440.webp +0 -0
  325. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-1920.webp +0 -0
  326. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-3939.webp +0 -0
  327. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-480.webp +0 -0
  328. package/examples/dog-gallery/dist/images/generated/brown-dogs/brown-dog-50ef114e-768.webp +0 -0
  329. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1080.webp +0 -0
  330. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp +0 -0
  331. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1920.webp +0 -0
  332. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-2400.webp +0 -0
  333. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-480.webp +0 -0
  334. package/examples/dog-gallery/dist/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-768.webp +0 -0
  335. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1080.webp +0 -0
  336. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp +0 -0
  337. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-1600.webp +0 -0
  338. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-480.webp +0 -0
  339. package/examples/dog-gallery/dist/images/generated/golden-dogs/golden-retriever-f797fd88-768.webp +0 -0
  340. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1080.webp +0 -0
  341. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp +0 -0
  342. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1920.webp +0 -0
  343. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-2576.webp +0 -0
  344. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-480.webp +0 -0
  345. package/examples/dog-gallery/dist/images/generated/golden-dogs/toller-puppy-a2a8fbc0-768.webp +0 -0
  346. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1080.webp +0 -0
  347. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-1277.webp +0 -0
  348. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-480.webp +0 -0
  349. package/examples/dog-gallery/dist/images/generated/white-dogs/white-cute-dog-077a0689-768.webp +0 -0
  350. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1080.webp +0 -0
  351. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp +0 -0
  352. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1536.webp +0 -0
  353. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-480.webp +0 -0
  354. package/examples/dog-gallery/dist/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-768.webp +0 -0
  355. package/examples/dog-gallery/dist/index.html +0 -45
  356. package/examples/dog-gallery/node_modules/.vite/deps/_metadata.json +0 -74
  357. package/examples/dog-gallery/site/.norna/generated-images.json +0 -226
  358. package/examples/dog-gallery/site/config.mjs +0 -47
  359. package/examples/dog-gallery/site/content.md +0 -127
  360. package/examples/dog-gallery/site/images/black-dogs/black-puppy-meadow.png +0 -0
  361. package/examples/dog-gallery/site/images/black-dogs/photo-of-a-black-dog.jpg +0 -0
  362. package/examples/dog-gallery/site/images/brown-dogs/brown-dog.jpg +0 -0
  363. package/examples/dog-gallery/site/images/brown-dogs/dog-accompanies-master.jpg +0 -0
  364. package/examples/dog-gallery/site/images/golden-dogs/golden-retriever.jpg +0 -0
  365. package/examples/dog-gallery/site/images/golden-dogs/toller-puppy.jpg +0 -0
  366. package/examples/dog-gallery/site/images/white-dogs/white-cute-dog.jpg +0 -0
  367. package/examples/dog-gallery/site/images/white-dogs/white-puppy-garden.png +0 -0
  368. package/examples/dog-gallery/site/public/favicon.svg +0 -7
  369. package/examples/dog-gallery/site/public/logo.svg +0 -14
  370. package/examples/dog-gallery/site/routes/010-dog-care/route-content.md +0 -38
  371. package/examples/dog-gallery/site/sitewide-content.md +0 -16
  372. package/examples/dog-gallery/site/theme.md +0 -101
  373. package/examples/presentation/README.md +0 -15
  374. package/examples/presentation/site/config.mjs +0 -29
  375. package/examples/presentation/site/content.md +0 -67
  376. package/examples/presentation/site/public/robots.txt +0 -2
  377. package/examples/presentation/site/routes/010-presets/route-content.md +0 -63
  378. package/examples/presentation/site/routes/010-presets/theme.md +0 -4
  379. package/examples/presentation/site/routes/020-media/theme.md +0 -4
  380. package/examples/presentation/site/sitewide-content.md +0 -6
  381. package/examples/presentation/site/theme.md +0 -43
  382. package/examples/typography-presets/.astro/dev.log +0 -45
  383. package/examples/typography-presets/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -1
  384. package/examples/typography-presets/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -1
  385. package/examples/typography-presets/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -1
  386. package/examples/typography-presets/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -1
  387. package/examples/typography-presets/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -1
  388. package/examples/typography-presets/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -1
  389. package/examples/typography-presets/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -1
  390. package/examples/typography-presets/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -1
  391. package/examples/typography-presets/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -1
  392. package/examples/typography-presets/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -1
  393. package/examples/typography-presets/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -1
  394. package/examples/typography-presets/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -1
  395. package/examples/typography-presets/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -1
  396. package/examples/typography-presets/site/config.mjs +0 -29
  397. package/examples/typography-presets/site/content.md +0 -16
  398. package/examples/typography-presets/site/routes/010-quiet-gallery/theme.md +0 -4
  399. package/examples/typography-presets/site/routes/020-compact-gallery/theme.md +0 -4
  400. package/examples/typography-presets/site/routes/030-text-forward/theme.md +0 -4
  401. package/examples/typography-presets/site/routes/040-statement/theme.md +0 -4
  402. package/examples/typography-presets/site/theme.md +0 -43
  403. package/fixtures/basic/site/config.mjs +0 -27
  404. package/fixtures/content-model-v2/site/config.mjs +0 -11
  405. package/starters/basic/site/config.mjs +0 -27
  406. package/starters/project/site/config.mjs +0 -30
  407. /package/examples/{typography-presets → complete-sites/dog-shelter-multi-page}/.astro/collections/site.schema.json +0 -0
  408. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/.astro/content-assets.mjs +0 -0
  409. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/.astro/content-modules.mjs +0 -0
  410. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/.astro/types.d.ts +0 -0
  411. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/package.json +0 -0
  412. /package/examples/{dog-gallery → complete-sites/dog-shelter-multi-page}/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -0
  413. /package/examples/{typography-presets/site/routes/020-compact-gallery/images/compact-gallery/retriever-portrait.jpg → complete-sites/dog-shelter-multi-page/site/images/intro/shelter-dog.jpg} +0 -0
  414. /package/examples/{001-dog-shelter-single-page → complete-sites/dog-shelter-multi-page}/site/public/favicon.svg +0 -0
  415. /package/examples/{001-dog-shelter-single-page → complete-sites/dog-shelter-multi-page}/site/public/robots.txt +0 -0
  416. /package/examples/{typography-presets/site/routes/010-quiet-gallery/images/quiet-gallery/white-puppy.jpg → complete-sites/dog-shelter-multi-page/site/routes/010-dogs/images/dogs/rex.jpg} +0 -0
  417. /package/examples/{typography-presets/site/routes/030-text-forward/images/text-forward/boxer-portrait.jpg → complete-sites/dog-shelter-multi-page/site/routes/010-dogs/images/dogs/rover.jpg} +0 -0
  418. /package/examples/{typography-presets/site/routes/040-statement/images/statement/sheepdog-grass.jpg → complete-sites/dog-shelter-multi-page/site/routes/020-adopt/images/adopt/adoption-dog.jpg} +0 -0
  419. /package/examples/{typography-presets → complete-sites/dog-shelter-single-page}/.astro/content-assets.mjs +0 -0
  420. /package/examples/{typography-presets → complete-sites/dog-shelter-single-page}/.astro/content-modules.mjs +0 -0
  421. /package/examples/{typography-presets → complete-sites/dog-shelter-single-page}/.astro/types.d.ts +0 -0
  422. /package/examples/{typography-presets → complete-sites/dog-shelter-single-page}/node_modules/.vite/deps/package.json +0 -0
  423. /package/examples/{typography-presets → complete-sites/dog-shelter-single-page}/node_modules/.vite/deps/rolldown-runtime-BvCyGRYZ.js +0 -0
  424. /package/examples/{typography-presets/site/routes/030-text-forward/images/text-forward/grass-puppy.jpg → complete-sites/dog-shelter-single-page/site/images/what-we-do/rescue-dog.jpg} +0 -0
  425. /package/examples/{typography-presets/site/routes/010-quiet-gallery/images/quiet-gallery/shepherd-portrait.jpg → complete-sites/dog-shelter-single-page/site/images/you-can-help/foster-dog.jpg} +0 -0
  426. /package/examples/{002-dog-shelter-multi-page → complete-sites/dog-shelter-single-page}/site/public/favicon.svg +0 -0
  427. /package/examples/{002-dog-shelter-multi-page → complete-sites/dog-shelter-single-page}/site/public/robots.txt +0 -0
  428. /package/examples/{dog-gallery/dist → feature-demos/media-and-surfaces/site/public}/robots.txt +0 -0
  429. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/cards/card-carousel.svg +0 -0
  430. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/cards/card-stack.svg +0 -0
  431. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/cards/card-surfaces.svg +0 -0
  432. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/carousel/carousel-one.svg +0 -0
  433. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/carousel/carousel-three.svg +0 -0
  434. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/carousel/carousel-two.svg +0 -0
  435. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/stack/stack-one.svg +0 -0
  436. /package/examples/{presentation/site/routes/020-media → feature-demos/media-and-surfaces/site/routes/010-media}/images/stack/stack-two.svg +0 -0
  437. /package/examples/{dog-gallery → feature-demos/sitewide-content}/site/public/robots.txt +0 -0
  438. /package/examples/{typography-presets → feature-demos/theme-presets}/.astro/collections/routeTheme.schema.json +0 -0
  439. /package/examples/{typography-presets → feature-demos/theme-presets}/.astro/content.d.ts +0 -0
  440. /package/examples/{typography-presets → feature-demos/theme-presets}/.astro/settings.json +0 -0
  441. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/_metadata.json +0 -0
  442. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro-D_GIpJIE.js +0 -0
  443. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro-D_GIpJIE.js.map +0 -0
  444. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_aria-query.js +0 -0
  445. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_aria-query.js.map +0 -0
  446. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_axobject-query.js +0 -0
  447. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_axobject-query.js.map +0 -0
  448. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_html-escaper.js +0 -0
  449. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_n_html-escaper.js.map +0 -0
  450. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js +0 -0
  451. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/astro_runtime_client_dev-toolbar_entrypoint__js.js.map +0 -0
  452. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/audit-DM9Hkl5B.js +0 -0
  453. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/audit-DM9Hkl5B.js.map +0 -0
  454. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/embla-carousel.js +0 -0
  455. /package/examples/{typography-presets → feature-demos/theme-presets}/node_modules/.vite/deps/embla-carousel.js.map +0 -0
  456. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/highlight-DnZ1ULOL.js +0 -0
  457. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/highlight-DnZ1ULOL.js.map +0 -0
  458. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/icons-RyebKi45.js +0 -0
  459. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/icons-RyebKi45.js.map +0 -0
  460. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/settings-DaU-gNnK.js +0 -0
  461. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/settings-DaU-gNnK.js.map +0 -0
  462. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/toolbar-63PA619H.js +0 -0
  463. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/toolbar-63PA619H.js.map +0 -0
  464. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/ui-library--bkcNSYz.js +0 -0
  465. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/ui-library--bkcNSYz.js.map +0 -0
  466. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/window-jPkpKVcy.js +0 -0
  467. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/window-jPkpKVcy.js.map +0 -0
  468. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/xray-BXCHpEJP.js +0 -0
  469. /package/examples/{dog-gallery → feature-demos/theme-presets}/node_modules/.vite/deps/xray-BXCHpEJP.js.map +0 -0
  470. /package/examples/{typography-presets → feature-demos/theme-presets}/site/public/robots.txt +0 -0
  471. /package/examples/{typography-presets/site/routes/010-quiet-gallery/images/quiet-gallery → feature-demos/theme-presets/site/routes/010-portfolio/images/portfolio}/puppy-portrait.jpg +0 -0
  472. /package/examples/{typography-presets/site/routes/020-compact-gallery/images/compact-gallery → feature-demos/theme-presets/site/routes/020-documentation/images/documentation}/black-schnauzer.jpg +0 -0
  473. /package/examples/{typography-presets/site/routes/020-compact-gallery/images/compact-gallery → feature-demos/theme-presets/site/routes/020-documentation/images/documentation}/schnauzer-portrait.jpg +0 -0
  474. /package/examples/{typography-presets/site/routes/030-text-forward/images/text-forward → feature-demos/theme-presets/site/routes/030-project/images/project}/grey-street-dog.jpg +0 -0
  475. /package/examples/{typography-presets → feature-demos/theme-presets}/site/routes/040-statement/images/statement/black-pedigree.jpg +0 -0
  476. /package/examples/{typography-presets → feature-demos/theme-presets}/site/routes/040-statement/images/statement/sheepdog-wide.jpg +0 -0
@@ -1,45 +0,0 @@
1
- <!DOCTYPE html><html lang="en" style="scroll-behavior: smooth; --font-sans: Arial, 'Helvetica Neue', Helvetica, sans-serif; --page-width: 2048px; --content-gutter-desktop: clamp(1.25rem, 4vw, 3rem); --content-gutter-mobile: 16px; --space-nav-to-first-section-desktop: clamp(1.25rem, 2.5vw, 2rem); --space-nav-to-first-section-mobile: 1rem; --space-section-body-to-gallery-desktop: 1.25rem; --space-section-body-to-gallery-mobile: 1rem; --space-gallery-item-desktop: clamp(1.25rem, 2.8vw, 2rem); --space-gallery-item-mobile: 1.8rem; --space-section-to-section-desktop: clamp(1.8rem, 3vw, 2.75rem); --space-section-to-section-mobile: 1.65rem; --space-final-section-bottom-desktop: clamp(1.8rem, 3vw, 2.75rem); --space-final-section-bottom-mobile: 1.65rem; --gallery-width: 55vw; --gallery-max-available-width-desktop: 100%; --gallery-max-available-width-mobile: 100%; --gallery-max-image-height-desktop: 74svh; --gallery-max-image-height-mobile: 68svh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="format-detection" content="telephone=no"><meta name="description" content="A small norna example with free dog images."><meta name="theme-color" content="#000000"><link rel="canonical" href="http://localhost:4321/"><meta name="generator" content="Astro v7.1.3"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>Local Dog Example</title><link rel="stylesheet" href="/_astro/SitePage.DicGh_5N.css"></head><body><a class="skip-link" href="#main-content">Skip to content</a><header class="site-top site-top-has-site-nav" data-smooth-scroll="{&quot;durationPerPixelMs&quot;:0.22,&quot;enabled&quot;:true,&quot;maximumDurationMs&quot;:4000,&quot;minimumDurationMs&quot;:2000}" style="--site-top-background-color: #550000; --site-top-text-color: #ffffff"><div class="site-nav-row"><a class="site-brand" href="/"><img class="site-brand-logo" src="/dog-shelter-logo.svg" alt="Dog Site"></a><nav class="site-nav" aria-label="Pages"><ul><li class="site-nav-item site-nav-item-has-sections"><a href="/" aria-current="page">Snoopy´s dog shelter!</a><div class="site-nav-submenu"><nav aria-label="Snoopy´s dog shelter! On this page"><ul><li><a href="/#black-dogs">Black Dogs</a></li><li><a href="/#summer-dogs">Summer Dogs</a></li><li><a href="/#brown-dogs">Brown Dogs</a></li><li><a href="/#golden-dogs">Golden Dogs</a></li><li><a href="/#white-dogs">White Dogs</a></li><li><a href="/#sources">Sources</a></li></ul></nav></div></li><li class="site-nav-item site-nav-item-has-sections"><a href="/dog-care/">Dog care</a><div class="site-nav-submenu"><nav aria-label="Dog care On this page"><ul><li><a href="/dog-care/#daily-rhythm">Daily rhythm</a></li><li><a href="/dog-care/#calm-training">Calm training</a></li><li><a href="/dog-care/#media-notes">Media notes</a></li></ul></nav></div></li></ul></nav><details class="mobile-nav-menu"><summary><span>Snoopy´s dog shelter!</span></summary><div class="mobile-nav-panel"><nav class="mobile-site-nav" aria-label="Pages"><h2>Pages</h2><ul><li><a href="/" aria-current="page">Snoopy´s dog shelter!</a></li><li><a href="/dog-care/">Dog care</a></li></ul></nav><nav class="mobile-page-nav" aria-label="On this page"><h2>On this page</h2><ul><li><a href="/#black-dogs" aria-current="true">Black Dogs</a></li><li><a href="/#summer-dogs">Summer Dogs</a></li><li><a href="/#brown-dogs">Brown Dogs</a></li><li><a href="/#golden-dogs">Golden Dogs</a></li><li><a href="/#white-dogs">White Dogs</a></li><li><a href="/#sources">Sources</a></li></ul></nav></div></details></div></header><script type="module">var e=document.querySelector(`.site-top`),t=Array.from(document.querySelectorAll(`.site-section`)),n=Array.from(document.querySelectorAll(`.site-nav-submenu a, .mobile-page-nav a`)),r=document.querySelector(`.mobile-nav-menu`),i=JSON.parse(e?.getAttribute(`data-smooth-scroll`)??`{}`),a=0,o=[120,320,700,1e3,2e3],s=window.matchMedia(`(prefers-reduced-motion: reduce)`),c=i.minimumDurationMs,l=i.maximumDurationMs,u=i.durationPerPixelMs,d=[`wheel`,`touchstart`],f=new Set([`ArrowDown`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`,` `]),p=null,m=null,h=0;`scrollRestoration`in history&&(history.scrollRestoration=`manual`);var g=()=>{if(!(e instanceof HTMLElement))return;let t=Math.ceil(e.getBoundingClientRect().height+a);return document.documentElement.style.setProperty(`--site-top-anchor-offset`,`${t}px`),t},_=e=>{let n=e.replace(/^#/,``);return t.find(e=>e.id===n)},v=e=>e?.querySelector(`h1, h2`),y=()=>{p&&=(p.cancel(),null)},b=e=>{e&&m!==e.id&&(m=e.id,n.forEach(t=>{let n=new URL(t.href,window.location.href);n.pathname===window.location.pathname&&n.hash===`#${e.id}`?t.setAttribute(`aria-current`,`true`):t.removeAttribute(`aria-current`)}))},x=()=>_(window.location.hash),S=e=>{window.location.hash!==e&&history.pushState(null,``,e)},C=()=>{r instanceof HTMLDetailsElement&&(r.open=!1)},w=e=>{if(!(e instanceof HTMLElement))return;let t=v(e);if(!(t instanceof HTMLElement))return;let n=g();if(n)return Math.max(0,t.getBoundingClientRect().top+window.scrollY-n)},T=e=>{y();let t=document.documentElement,n=t.style.scrollBehavior;t.style.scrollBehavior=`auto`,window.scrollTo(0,e),t.style.scrollBehavior=n},E=e=>{let t=Math.abs(e);return!i.enabled||s.matches||t<=a?0:Math.min(l,Math.max(c,t*u))},D=e=>e<.5?4*e*e*e:1-(-2*e+2)**3/2,O=(e,{duration:t,onComplete:n}={})=>{y();let r=typeof e==`function`?e:()=>e,i=r();if(i===void 0)return 0;let a=window.scrollY,o=i-a,s=t??E(o);if(s<=0){let e=r();return e===void 0?0:(T(e),n?.(),0)}let c=document.documentElement,l=c.style.scrollBehavior,u=performance.now(),m=0,h={cancel:()=>{}},g=()=>{d.forEach(e=>{window.removeEventListener(e,v)}),window.removeEventListener(`keydown`,b),c.style.scrollBehavior=l,p===h&&(p=null)},_=()=>{m&&cancelAnimationFrame(m),g()},v=()=>_(),b=e=>{f.has(e.key)&&v()},x=e=>{let t=e-u,o=Math.min(1,t/s),c=r();c!==void 0&&(i=c);let l=a+(i-a)*D(o);if(window.scrollTo(0,l),o>=1){window.scrollTo(0,i),g(),n?.();return}m=requestAnimationFrame(x)};return h.cancel=_,p=h,c.style.scrollBehavior=`auto`,d.forEach(e=>{window.addEventListener(e,v,{passive:!0})}),window.addEventListener(`keydown`,b),m=requestAnimationFrame(x),s},k=(e,{behavior:t=`smooth`,duration:n,onComplete:r}={})=>{let i=w(e);if(i===void 0)return 0;let a=t===`smooth`?O(()=>w(e),{duration:n,onComplete:r}):(T(i),r?.(),0);return b(e),a},A=()=>{g()},j=()=>{if(p)return;let e=x();e instanceof HTMLElement&&k(e,{behavior:`auto`})},M=()=>{if(!window.location.hash)return;h+=1;let e=h;o.forEach(t=>{window.setTimeout(()=>{e===h&&requestAnimationFrame(j)},t)})},N=({behavior:e=`auto`,scrollHashlessTop:n=!1}={})=>{let r=x();if(r instanceof HTMLElement){k(r,{behavior:e}),M();return}n&&T(0),b(t[0])};n.forEach(e=>{e.addEventListener(`click`,t=>{let n=new URL(e.href,window.location.href);if(n.pathname!==window.location.pathname)return;let r=_(n.hash);if(!(r instanceof HTMLElement))return;let i=w(r);if(i===void 0)return;t.preventDefault();let a=n.hash,o=E(i-window.scrollY);S(a),b(r),C(),k(r,{behavior:`smooth`,duration:o,onComplete:M})})}),A(),requestAnimationFrame(()=>N({behavior:`auto`})),e instanceof HTMLElement&&`ResizeObserver`in window&&new ResizeObserver(A).observe(e),window.addEventListener(`resize`,A),window.addEventListener(`load`,M),window.addEventListener(`hashchange`,()=>N({behavior:`auto`,scrollHashlessTop:!0})),window.addEventListener(`popstate`,()=>N({behavior:`auto`,scrollHashlessTop:!0})),window.visualViewport&&window.visualViewport.addEventListener(`resize`,A);</script><main id="main-content" class="site-content"><section id="black-dogs" class="site-section" data-section-title="Black Dogs" style="--section-background-color: #550000; --section-text-color: #ffffff; --section-heading-align-desktop: left; --section-heading-align-mobile: left; --section-heading-font-size-desktop: clamp(1.35rem, 1.1rem + 0.9vw, 2rem); --section-heading-font-size-mobile: clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem); --section-heading-line-height: 1.08; --section-heading-spacing-after: 0.45em; --section-heading-width-desktop: var(--gallery-layout-width); --section-heading-width-mobile: var(--gallery-layout-width); --section-markdown-h3-align-desktop: left; --section-markdown-h3-align-mobile: left; --section-markdown-h3-font-size-desktop: clamp(1.05rem, 0.98rem + 0.28vw, 1.22rem); --section-markdown-h3-font-size-mobile: clamp(1.04rem, 0.98rem + 0.45vw, 1.18rem); --section-markdown-h3-line-height: 1.35; --section-markdown-h3-spacing-before: 1.2em; --section-markdown-h3-spacing-after: 0.45em; --section-markdown-h4-align-desktop: left; --section-markdown-h4-align-mobile: left; --section-markdown-h4-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-line-height: 1.5; --section-markdown-h4-spacing-before: 0.9em; --section-markdown-h4-spacing-after: 0.35em; --section-body-align-desktop: left; --section-body-align-mobile: left; --section-body-font-size-desktop: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-font-size-mobile: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-line-height: 1.5; --section-body-paragraph-spacing: 0.65em; --section-body-width-desktop: var(--gallery-layout-width); --section-body-width-mobile: var(--gallery-layout-width); --section-caption-align-desktop: center; --section-caption-align-mobile: center; --section-caption-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-line-height: 1.35; --section-caption-spacing-before: 0.35em; --section-caption-justify-desktop: center; --section-caption-justify-mobile: center"><div class="section-card"><header class="section-header"><h1>Black Dogs</h1></header><div class="section-body section-body-has-gallery"><div class="section-markdown"><p>Black-coated dogs from the local norna development collection. This sentence
2
- contains <span class="inline-style inline-style-highlight" style="--inline-style-color: #ffd84d">yellow highlighted text</span> for inline style inspection.</p>
3
- <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a
4
- ante venenatis dapibus posuere velit aliquet.</p>
5
- <h3 id="coat-notes">Coat notes</h3>
6
- <p>This <code>###</code> heading should follow <code>typography.headings.h3</code>.</p>
7
- <h4 id="small-detail">Small detail</h4>
8
- <p>This <code>####</code> heading should follow <code>typography.headings.h4</code>.</p>
9
- <p>Curabitur blandit tempus porttitor. Donec id elit non mi porta gravida at eget
10
- metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.</p>
11
- </div><div class="gallery" aria-label="Images: Black Dogs"><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp" srcset="/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-480.webp 480w, /images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-768.webp 768w, /images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp 960w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 960 / 1600;" width="960" height="1600" class="gallery-image" alt="A black dog sitting outdoors and looking at the camera." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>Photo of a dog. ContaDeletada2906, CC0 1.0, via Wikimedia Commons.</span></div></figcaption></figure><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp" srcset="/images/generated/black-dogs/black-puppy-meadow-7255e3d9-480.webp 480w, /images/generated/black-dogs/black-puppy-meadow-7255e3d9-768.webp 768w, /images/generated/black-dogs/black-puppy-meadow-7255e3d9-1080.webp 1080w, /images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp 1440w, /images/generated/black-dogs/black-puppy-meadow-7255e3d9-1536.webp 1536w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 1536 / 1024;" width="1536" height="1024" class="gallery-image gallery-image-landscape" alt="A black puppy standing in a grassy meadow and looking at the camera." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>AI-generated image.</span></div></figcaption></figure></div><script type="module" src="/_astro/GalleryGrid.astro_astro_type_script_index_0_lang.B0kxDyGz.js"></script></div></div></section><section id="summer-dogs" class="site-section" data-section-title="Summer Dogs" style="--section-background-color: #550000; --section-text-color: #ffffff; --section-heading-align-desktop: left; --section-heading-align-mobile: left; --section-heading-font-size-desktop: clamp(1.35rem, 1.1rem + 0.9vw, 2rem); --section-heading-font-size-mobile: clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem); --section-heading-line-height: 1.08; --section-heading-spacing-after: 0.45em; --section-heading-width-desktop: var(--gallery-layout-width); --section-heading-width-mobile: var(--gallery-layout-width); --section-markdown-h3-align-desktop: left; --section-markdown-h3-align-mobile: left; --section-markdown-h3-font-size-desktop: clamp(1.05rem, 0.98rem + 0.28vw, 1.22rem); --section-markdown-h3-font-size-mobile: clamp(1.04rem, 0.98rem + 0.45vw, 1.18rem); --section-markdown-h3-line-height: 1.35; --section-markdown-h3-spacing-before: 1.2em; --section-markdown-h3-spacing-after: 0.45em; --section-markdown-h4-align-desktop: left; --section-markdown-h4-align-mobile: left; --section-markdown-h4-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-line-height: 1.5; --section-markdown-h4-spacing-before: 0.9em; --section-markdown-h4-spacing-after: 0.35em; --section-body-align-desktop: left; --section-body-align-mobile: left; --section-body-font-size-desktop: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-font-size-mobile: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-line-height: 1.5; --section-body-paragraph-spacing: 0.65em; --section-body-width-desktop: var(--gallery-layout-width); --section-body-width-mobile: var(--gallery-layout-width); --section-caption-align-desktop: center; --section-caption-align-mobile: center; --section-caption-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-line-height: 1.35; --section-caption-spacing-before: 0.35em; --section-caption-justify-desktop: center; --section-caption-justify-mobile: center"><div class="section-card"><header class="section-header"><h2>Summer Dogs</h2></header><div class="section-body section-body-text-only"><div class="section-markdown"><p>This temporary section is visible during August 2026. It is here to demonstrate
12
- date-controlled sections and <span class="inline-style inline-style-alert" style="--inline-style-color: #ff9a3d">warm alert text</span> in the local dog example.</p>
13
- <p>Lorem ipsum dolor sit amet.</p>
14
- <p>Vestibulum id ligula porta felis euismod semper. Maecenas faucibus mollis
15
- interdum. Nullam quis risus eget urna mollis ornare vel eu leo.</p></div></div></div></section><section id="brown-dogs" class="site-section" data-section-title="Brown Dogs" style="--section-background-color: #550000; --section-text-color: #ffffff; --section-heading-align-desktop: left; --section-heading-align-mobile: left; --section-heading-font-size-desktop: clamp(1.35rem, 1.1rem + 0.9vw, 2rem); --section-heading-font-size-mobile: clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem); --section-heading-line-height: 1.08; --section-heading-spacing-after: 0.45em; --section-heading-width-desktop: var(--gallery-layout-width); --section-heading-width-mobile: var(--gallery-layout-width); --section-markdown-h3-align-desktop: left; --section-markdown-h3-align-mobile: left; --section-markdown-h3-font-size-desktop: clamp(1.05rem, 0.98rem + 0.28vw, 1.22rem); --section-markdown-h3-font-size-mobile: clamp(1.04rem, 0.98rem + 0.45vw, 1.18rem); --section-markdown-h3-line-height: 1.35; --section-markdown-h3-spacing-before: 1.2em; --section-markdown-h3-spacing-after: 0.45em; --section-markdown-h4-align-desktop: left; --section-markdown-h4-align-mobile: left; --section-markdown-h4-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-line-height: 1.5; --section-markdown-h4-spacing-before: 0.9em; --section-markdown-h4-spacing-after: 0.35em; --section-body-align-desktop: left; --section-body-align-mobile: left; --section-body-font-size-desktop: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-font-size-mobile: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-line-height: 1.5; --section-body-paragraph-spacing: 0.65em; --section-body-width-desktop: var(--gallery-layout-width); --section-body-width-mobile: var(--gallery-layout-width); --section-caption-align-desktop: center; --section-caption-align-mobile: center; --section-caption-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-line-height: 1.35; --section-caption-spacing-before: 0.35em; --section-caption-justify-desktop: center; --section-caption-justify-mobile: center"><div class="section-card"><header class="section-header"><h2>Brown Dogs</h2></header><div class="section-body section-body-has-gallery"><div class="section-markdown"><p>Brown dogs provide a second image section for local navigation checks.</p>
16
- <p>Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac
17
- cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit
18
- amet risus.</p>
19
- <p>Maecenas sed diam eget risus varius blandit sit amet non magna. Morbi leo risus,
20
- porta ac consectetur ac, vestibulum at eros. Sed posuere consectetur est at
21
- lobortis.</p>
22
- </div><div class="gallery" aria-label="Images: Brown Dogs"><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/brown-dogs/brown-dog-50ef114e-1440.webp" srcset="/images/generated/brown-dogs/brown-dog-50ef114e-480.webp 480w, /images/generated/brown-dogs/brown-dog-50ef114e-768.webp 768w, /images/generated/brown-dogs/brown-dog-50ef114e-1080.webp 1080w, /images/generated/brown-dogs/brown-dog-50ef114e-1440.webp 1440w, /images/generated/brown-dogs/brown-dog-50ef114e-1920.webp 1920w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 3939 / 2626;" width="3939" height="2626" class="gallery-image gallery-image-landscape" alt="A brown dog looking directly at the camera." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>DogBrown. Frank-3, CC0 1.0, via Wikimedia Commons.</span></div></figcaption></figure><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp" srcset="/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-480.webp 480w, /images/generated/brown-dogs/dog-accompanies-master-7ef804d5-768.webp 768w, /images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1080.webp 1080w, /images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp 1440w, /images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1920.webp 1920w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 2400 / 1800;" width="2400" height="1800" class="gallery-image gallery-image-landscape" alt="A man walks outdoors with a dog at his side." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>Dog accompanies his master. Steve Hillebrand, U.S. Fish and Wildlife Service, public domain.</span></div></figcaption></figure></div></div></div></section><section id="golden-dogs" class="site-section" data-section-title="Golden Dogs" style="--section-background-color: #550000; --section-text-color: #ffffff; --section-heading-align-desktop: left; --section-heading-align-mobile: left; --section-heading-font-size-desktop: clamp(1.35rem, 1.1rem + 0.9vw, 2rem); --section-heading-font-size-mobile: clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem); --section-heading-line-height: 1.08; --section-heading-spacing-after: 0.45em; --section-heading-width-desktop: var(--gallery-layout-width); --section-heading-width-mobile: var(--gallery-layout-width); --section-markdown-h3-align-desktop: left; --section-markdown-h3-align-mobile: left; --section-markdown-h3-font-size-desktop: clamp(1.05rem, 0.98rem + 0.28vw, 1.22rem); --section-markdown-h3-font-size-mobile: clamp(1.04rem, 0.98rem + 0.45vw, 1.18rem); --section-markdown-h3-line-height: 1.35; --section-markdown-h3-spacing-before: 1.2em; --section-markdown-h3-spacing-after: 0.45em; --section-markdown-h4-align-desktop: left; --section-markdown-h4-align-mobile: left; --section-markdown-h4-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-line-height: 1.5; --section-markdown-h4-spacing-before: 0.9em; --section-markdown-h4-spacing-after: 0.35em; --section-body-align-desktop: left; --section-body-align-mobile: left; --section-body-font-size-desktop: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-font-size-mobile: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-line-height: 1.5; --section-body-paragraph-spacing: 0.65em; --section-body-width-desktop: var(--gallery-layout-width); --section-body-width-mobile: var(--gallery-layout-width); --section-caption-align-desktop: center; --section-caption-align-mobile: center; --section-caption-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-line-height: 1.35; --section-caption-spacing-before: 0.35em; --section-caption-justify-desktop: center; --section-caption-justify-mobile: center"><div class="section-card"><header class="section-header"><h2>Golden Dogs</h2></header><div class="section-body section-body-has-gallery"><div class="section-markdown"><p>Golden-coated retrievers add a third image section and more scrolling depth.</p>
23
- <p>Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
24
- <h3 id="training-note">Training note</h3>
25
- <p>This <code>###</code> heading follows the site-wide <code>headings.h3</code> style.</p>
26
- <p>Nulla vitae elit libero, a pharetra augue. Integer posuere erat a ante venenatis
27
- dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem
28
- lacinia quam venenatis vestibulum.</p>
29
- </div><div class="gallery" aria-label="Images: Golden Dogs"><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp" srcset="/images/generated/golden-dogs/golden-retriever-f797fd88-480.webp 480w, /images/generated/golden-dogs/golden-retriever-f797fd88-768.webp 768w, /images/generated/golden-dogs/golden-retriever-f797fd88-1080.webp 1080w, /images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp 1440w, /images/generated/golden-dogs/golden-retriever-f797fd88-1600.webp 1600w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 1600 / 1200;" width="1600" height="1200" class="gallery-image gallery-image-landscape" alt="A golden retriever standing outdoors." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>Golden Retriever. Ribo, public domain, via Wikimedia Commons.</span></div></figcaption></figure><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp" srcset="/images/generated/golden-dogs/toller-puppy-a2a8fbc0-480.webp 480w, /images/generated/golden-dogs/toller-puppy-a2a8fbc0-768.webp 768w, /images/generated/golden-dogs/toller-puppy-a2a8fbc0-1080.webp 1080w, /images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp 1440w, /images/generated/golden-dogs/toller-puppy-a2a8fbc0-1920.webp 1920w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 2576 / 1932;" width="2576" height="1932" class="gallery-image gallery-image-landscape" alt="A young Nova Scotia Duck Tolling Retriever puppy sitting on grass." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>Nova Scotia Duck Tolling Retriever puppy. RM, public domain, via Wikimedia Commons.</span></div></figcaption></figure></div></div></div></section><section id="white-dogs" class="site-section" data-section-title="White Dogs" style="--section-background-color: #550000; --section-text-color: #ffffff; --section-heading-align-desktop: left; --section-heading-align-mobile: left; --section-heading-font-size-desktop: clamp(1.35rem, 1.1rem + 0.9vw, 2rem); --section-heading-font-size-mobile: clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem); --section-heading-line-height: 1.08; --section-heading-spacing-after: 0.45em; --section-heading-width-desktop: var(--gallery-layout-width); --section-heading-width-mobile: var(--gallery-layout-width); --section-markdown-h3-align-desktop: left; --section-markdown-h3-align-mobile: left; --section-markdown-h3-font-size-desktop: clamp(1.05rem, 0.98rem + 0.28vw, 1.22rem); --section-markdown-h3-font-size-mobile: clamp(1.04rem, 0.98rem + 0.45vw, 1.18rem); --section-markdown-h3-line-height: 1.35; --section-markdown-h3-spacing-before: 1.2em; --section-markdown-h3-spacing-after: 0.45em; --section-markdown-h4-align-desktop: left; --section-markdown-h4-align-mobile: left; --section-markdown-h4-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-line-height: 1.5; --section-markdown-h4-spacing-before: 0.9em; --section-markdown-h4-spacing-after: 0.35em; --section-body-align-desktop: left; --section-body-align-mobile: left; --section-body-font-size-desktop: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-font-size-mobile: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-line-height: 1.5; --section-body-paragraph-spacing: 0.65em; --section-body-width-desktop: var(--gallery-layout-width); --section-body-width-mobile: var(--gallery-layout-width); --section-caption-align-desktop: center; --section-caption-align-mobile: center; --section-caption-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-line-height: 1.35; --section-caption-spacing-before: 0.35em; --section-caption-justify-desktop: center; --section-caption-justify-mobile: center"><div class="section-card"><header class="section-header"><h2>White Dogs</h2></header><div class="section-body section-body-has-gallery"><div class="section-markdown"><p>A white dog completes the colour-based image sequence.</p>
30
- <p>Etiam porta sem malesuada magna mollis euismod. Donec id elit non mi porta
31
- gravida at eget metus.</p>
32
- <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Lorem ipsum
33
- dolor sit amet, consectetur adipiscing elit. Donec sed odio dui. Vestibulum id
34
- ligula porta felis euismod semper.</p>
35
- </div><div class="gallery" aria-label="Images: White Dogs"><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/white-dogs/white-cute-dog-077a0689-1277.webp" srcset="/images/generated/white-dogs/white-cute-dog-077a0689-480.webp 480w, /images/generated/white-dogs/white-cute-dog-077a0689-768.webp 768w, /images/generated/white-dogs/white-cute-dog-077a0689-1080.webp 1080w, /images/generated/white-dogs/white-cute-dog-077a0689-1277.webp 1277w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 1277 / 1060;" width="1277" height="1060" class="gallery-image gallery-image-landscape" alt="A white dog looking toward the camera." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>White cute dog. Neal Ziring, public domain, via Wikimedia Commons.</span></div></figcaption></figure><figure class="gallery-item"><div class="gallery-image-frame"><img src="/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp" srcset="/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-480.webp 480w, /images/generated/white-dogs/white-puppy-garden-d3ab2ca0-768.webp 768w, /images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1080.webp 1080w, /images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp 1440w, /images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1536.webp 1536w" sizes="(max-width: 700px) 100vw, 100vw" style="aspect-ratio: 1536 / 1024;" width="1536" height="1024" class="gallery-image gallery-image-landscape" alt="A fluffy white puppy standing on grass in a garden." decoding="async" fetchpriority="low" loading="lazy"></div><figcaption class="gallery-meta"><div class="gallery-details"><span>AI-generated image.</span></div></figcaption></figure></div></div></div></section><section id="sources" class="site-section" data-section-title="Sources" style="--section-background-color: #550000; --section-text-color: #ffffff; --section-heading-align-desktop: left; --section-heading-align-mobile: left; --section-heading-font-size-desktop: clamp(1.35rem, 1.1rem + 0.9vw, 2rem); --section-heading-font-size-mobile: clamp(1.3rem, 1.05rem + 1.35vw, 1.75rem); --section-heading-line-height: 1.08; --section-heading-spacing-after: 0.45em; --section-heading-width-desktop: var(--gallery-layout-width); --section-heading-width-mobile: var(--gallery-layout-width); --section-markdown-h3-align-desktop: left; --section-markdown-h3-align-mobile: left; --section-markdown-h3-font-size-desktop: clamp(1.05rem, 0.98rem + 0.28vw, 1.22rem); --section-markdown-h3-font-size-mobile: clamp(1.04rem, 0.98rem + 0.45vw, 1.18rem); --section-markdown-h3-line-height: 1.35; --section-markdown-h3-spacing-before: 1.2em; --section-markdown-h3-spacing-after: 0.45em; --section-markdown-h4-align-desktop: left; --section-markdown-h4-align-mobile: left; --section-markdown-h4-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-markdown-h4-line-height: 1.5; --section-markdown-h4-spacing-before: 0.9em; --section-markdown-h4-spacing-after: 0.35em; --section-body-align-desktop: left; --section-body-align-mobile: left; --section-body-font-size-desktop: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-font-size-mobile: clamp(0.96rem, 0.94rem + 0.08vw, 1rem); --section-body-line-height: 1.5; --section-body-paragraph-spacing: 0.65em; --section-body-width-desktop: var(--gallery-layout-width); --section-body-width-mobile: var(--gallery-layout-width); --section-caption-align-desktop: center; --section-caption-align-mobile: center; --section-caption-font-size-desktop: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-font-size-mobile: clamp(0.86rem, 0.84rem + 0.08vw, 0.92rem); --section-caption-line-height: 1.35; --section-caption-spacing-before: 0.35em; --section-caption-justify-desktop: center; --section-caption-justify-mobile: center"><div class="section-card"><header class="section-header"><h2>Sources</h2></header><div class="section-body section-body-text-only"><div class="section-markdown"><p>Most images are sourced from Wikimedia Commons pages that list CC0 or
36
- public-domain licensing:</p>
37
- <ul>
38
- <li><a href="https://commons.wikimedia.org/wiki/File:Photo_of_a_dog.jpg">Photo of a dog</a></li>
39
- <li><a href="https://commons.wikimedia.org/wiki/File:DogBrown.jpg">DogBrown</a></li>
40
- <li><a href="https://commons.wikimedia.org/wiki/File:Dog_accompanies_his_master.jpg">Dog accompanies his master</a></li>
41
- <li><a href="https://commons.wikimedia.org/wiki/File:Golden_Retriever.jpg">Golden Retriever</a></li>
42
- <li><a href="https://commons.wikimedia.org/wiki/File:Toller_pup7wks2.JPG">Toller pup7wks2</a></li>
43
- <li><a href="https://commons.wikimedia.org/wiki/File:White_cute_dog.jpg">White cute dog</a></li>
44
- </ul>
45
- <p>The black and white puppy images are AI-generated.</p></div></div></div></section></main><footer class="site-footer" style="--site-footer-background-color: #550000; --site-footer-text-color: #ffffff"><p>Dog images from Wikimedia Commons; see image captions for license details.<span>Built 17/08/2026, 15:17</span></p></footer></body></html>
@@ -1,74 +0,0 @@
1
- {
2
- "hash": "9288c44d",
3
- "configHash": "157af100",
4
- "lockfileHash": "808f2e8e",
5
- "browserHash": "a00be533",
6
- "optimized": {
7
- "astro > aria-query": {
8
- "src": "../../../../../node_modules/aria-query/lib/index.js",
9
- "file": "astro_n_aria-query.js",
10
- "fileHash": "9b91d854",
11
- "needsInterop": true
12
- },
13
- "astro > axobject-query": {
14
- "src": "../../../../../node_modules/axobject-query/lib/index.js",
15
- "file": "astro_n_axobject-query.js",
16
- "fileHash": "5a1ed64b",
17
- "needsInterop": true
18
- },
19
- "astro > html-escaper": {
20
- "src": "../../../../../node_modules/html-escaper/esm/index.js",
21
- "file": "astro_n_html-escaper.js",
22
- "fileHash": "6d948667",
23
- "needsInterop": false
24
- },
25
- "astro/runtime/client/dev-toolbar/entrypoint.js": {
26
- "src": "../../../../../node_modules/astro/dist/runtime/client/dev-toolbar/entrypoint.js",
27
- "file": "astro_runtime_client_dev-toolbar_entrypoint__js.js",
28
- "fileHash": "deee87d7",
29
- "needsInterop": false
30
- }
31
- },
32
- "chunks": {
33
- "astro-D_GIpJIE": {
34
- "file": "astro-D_GIpJIE.js",
35
- "isDynamicEntry": true
36
- },
37
- "audit-DM9Hkl5B": {
38
- "file": "audit-DM9Hkl5B.js",
39
- "isDynamicEntry": true
40
- },
41
- "highlight-DnZ1ULOL": {
42
- "file": "highlight-DnZ1ULOL.js",
43
- "isDynamicEntry": false
44
- },
45
- "icons-RyebKi45": {
46
- "file": "icons-RyebKi45.js",
47
- "isDynamicEntry": false
48
- },
49
- "rolldown-runtime-BvCyGRYZ": {
50
- "file": "rolldown-runtime-BvCyGRYZ.js",
51
- "isDynamicEntry": false
52
- },
53
- "settings-DaU-gNnK": {
54
- "file": "settings-DaU-gNnK.js",
55
- "isDynamicEntry": true
56
- },
57
- "toolbar-63PA619H": {
58
- "file": "toolbar-63PA619H.js",
59
- "isDynamicEntry": true
60
- },
61
- "ui-library--bkcNSYz": {
62
- "file": "ui-library--bkcNSYz.js",
63
- "isDynamicEntry": true
64
- },
65
- "window-jPkpKVcy": {
66
- "file": "window-jPkpKVcy.js",
67
- "isDynamicEntry": false
68
- },
69
- "xray-BXCHpEJP": {
70
- "file": "xray-BXCHpEJP.js",
71
- "isDynamicEntry": true
72
- }
73
- }
74
- }
@@ -1,226 +0,0 @@
1
- {
2
- "images/black-dogs/black-puppy-meadow.png": {
3
- "outputVersion": 2,
4
- "sourceHash": "7255e3d9148c1ded01ae6ae6809b9a8261b553a1516d3f8f4de0554bc321f652",
5
- "width": 1536,
6
- "height": 1024,
7
- "variants": [
8
- {
9
- "src": "/images/generated/black-dogs/black-puppy-meadow-7255e3d9-480.webp",
10
- "width": 480
11
- },
12
- {
13
- "src": "/images/generated/black-dogs/black-puppy-meadow-7255e3d9-768.webp",
14
- "width": 768
15
- },
16
- {
17
- "src": "/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1080.webp",
18
- "width": 1080
19
- },
20
- {
21
- "src": "/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1440.webp",
22
- "width": 1440
23
- },
24
- {
25
- "src": "/images/generated/black-dogs/black-puppy-meadow-7255e3d9-1536.webp",
26
- "width": 1536
27
- }
28
- ]
29
- },
30
- "images/black-dogs/photo-of-a-black-dog.jpg": {
31
- "outputVersion": 2,
32
- "sourceHash": "5cf614d2863ca8f86b6162c7b477fd2690adbc101816206c9e675bf36d9962d0",
33
- "width": 960,
34
- "height": 1600,
35
- "variants": [
36
- {
37
- "src": "/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-480.webp",
38
- "width": 480
39
- },
40
- {
41
- "src": "/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-768.webp",
42
- "width": 768
43
- },
44
- {
45
- "src": "/images/generated/black-dogs/photo-of-a-black-dog-5cf614d2-960.webp",
46
- "width": 960
47
- }
48
- ]
49
- },
50
- "images/brown-dogs/brown-dog.jpg": {
51
- "outputVersion": 2,
52
- "sourceHash": "50ef114e49ae48491c015157b4a25f4f1fd69140170fe6d4202c551858c3e03d",
53
- "width": 3939,
54
- "height": 2626,
55
- "variants": [
56
- {
57
- "src": "/images/generated/brown-dogs/brown-dog-50ef114e-480.webp",
58
- "width": 480
59
- },
60
- {
61
- "src": "/images/generated/brown-dogs/brown-dog-50ef114e-768.webp",
62
- "width": 768
63
- },
64
- {
65
- "src": "/images/generated/brown-dogs/brown-dog-50ef114e-1080.webp",
66
- "width": 1080
67
- },
68
- {
69
- "src": "/images/generated/brown-dogs/brown-dog-50ef114e-1440.webp",
70
- "width": 1440
71
- },
72
- {
73
- "src": "/images/generated/brown-dogs/brown-dog-50ef114e-1920.webp",
74
- "width": 1920
75
- },
76
- {
77
- "src": "/images/generated/brown-dogs/brown-dog-50ef114e-3939.webp",
78
- "width": 3939
79
- }
80
- ]
81
- },
82
- "images/brown-dogs/dog-accompanies-master.jpg": {
83
- "outputVersion": 2,
84
- "sourceHash": "7ef804d5ebe27724409f4ffa94389c7b1102c2c8bb9c1dae29ecbd4c56e61af9",
85
- "width": 2400,
86
- "height": 1800,
87
- "variants": [
88
- {
89
- "src": "/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-480.webp",
90
- "width": 480
91
- },
92
- {
93
- "src": "/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-768.webp",
94
- "width": 768
95
- },
96
- {
97
- "src": "/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1080.webp",
98
- "width": 1080
99
- },
100
- {
101
- "src": "/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1440.webp",
102
- "width": 1440
103
- },
104
- {
105
- "src": "/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-1920.webp",
106
- "width": 1920
107
- },
108
- {
109
- "src": "/images/generated/brown-dogs/dog-accompanies-master-7ef804d5-2400.webp",
110
- "width": 2400
111
- }
112
- ]
113
- },
114
- "images/golden-dogs/golden-retriever.jpg": {
115
- "outputVersion": 2,
116
- "sourceHash": "f797fd880d6c3b112ceb3408f468fbeaf442efc792f935fd6c9954b812fdc838",
117
- "width": 1600,
118
- "height": 1200,
119
- "variants": [
120
- {
121
- "src": "/images/generated/golden-dogs/golden-retriever-f797fd88-480.webp",
122
- "width": 480
123
- },
124
- {
125
- "src": "/images/generated/golden-dogs/golden-retriever-f797fd88-768.webp",
126
- "width": 768
127
- },
128
- {
129
- "src": "/images/generated/golden-dogs/golden-retriever-f797fd88-1080.webp",
130
- "width": 1080
131
- },
132
- {
133
- "src": "/images/generated/golden-dogs/golden-retriever-f797fd88-1440.webp",
134
- "width": 1440
135
- },
136
- {
137
- "src": "/images/generated/golden-dogs/golden-retriever-f797fd88-1600.webp",
138
- "width": 1600
139
- }
140
- ]
141
- },
142
- "images/golden-dogs/toller-puppy.jpg": {
143
- "outputVersion": 2,
144
- "sourceHash": "a2a8fbc0d599deb019d45f7b11de98bcbcb4f1fd609e931073161dcb88cbf63f",
145
- "width": 2576,
146
- "height": 1932,
147
- "variants": [
148
- {
149
- "src": "/images/generated/golden-dogs/toller-puppy-a2a8fbc0-480.webp",
150
- "width": 480
151
- },
152
- {
153
- "src": "/images/generated/golden-dogs/toller-puppy-a2a8fbc0-768.webp",
154
- "width": 768
155
- },
156
- {
157
- "src": "/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1080.webp",
158
- "width": 1080
159
- },
160
- {
161
- "src": "/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1440.webp",
162
- "width": 1440
163
- },
164
- {
165
- "src": "/images/generated/golden-dogs/toller-puppy-a2a8fbc0-1920.webp",
166
- "width": 1920
167
- },
168
- {
169
- "src": "/images/generated/golden-dogs/toller-puppy-a2a8fbc0-2576.webp",
170
- "width": 2576
171
- }
172
- ]
173
- },
174
- "images/white-dogs/white-cute-dog.jpg": {
175
- "outputVersion": 2,
176
- "sourceHash": "077a06891d97eafb4593cfcaa5c9b04fdb1e3a6206d56acd4ebd3eadb83356bf",
177
- "width": 1277,
178
- "height": 1060,
179
- "variants": [
180
- {
181
- "src": "/images/generated/white-dogs/white-cute-dog-077a0689-480.webp",
182
- "width": 480
183
- },
184
- {
185
- "src": "/images/generated/white-dogs/white-cute-dog-077a0689-768.webp",
186
- "width": 768
187
- },
188
- {
189
- "src": "/images/generated/white-dogs/white-cute-dog-077a0689-1080.webp",
190
- "width": 1080
191
- },
192
- {
193
- "src": "/images/generated/white-dogs/white-cute-dog-077a0689-1277.webp",
194
- "width": 1277
195
- }
196
- ]
197
- },
198
- "images/white-dogs/white-puppy-garden.png": {
199
- "outputVersion": 2,
200
- "sourceHash": "d3ab2ca04fb37dfbf010e7f9f3adf2ba8401553bd1946e3b388cb662eac58ee9",
201
- "width": 1536,
202
- "height": 1024,
203
- "variants": [
204
- {
205
- "src": "/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-480.webp",
206
- "width": 480
207
- },
208
- {
209
- "src": "/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-768.webp",
210
- "width": 768
211
- },
212
- {
213
- "src": "/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1080.webp",
214
- "width": 1080
215
- },
216
- {
217
- "src": "/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1440.webp",
218
- "width": 1440
219
- },
220
- {
221
- "src": "/images/generated/white-dogs/white-puppy-garden-d3ab2ca0-1536.webp",
222
- "width": 1536
223
- }
224
- ]
225
- }
226
- }
@@ -1,47 +0,0 @@
1
- const siteUrl = 'http://localhost:4321/';
2
-
3
- export default {
4
- site: {
5
- // Public canonical URL for this site.
6
- url: siteUrl,
7
-
8
- // URL path prefix. Use "/" for root sites and "/repository-name/" for
9
- // GitHub Pages project sites without a custom domain.
10
- basePath: '/',
11
- },
12
- navigation: {
13
- smoothScroll: {
14
- // Set to false to make section links jump directly to the target anchor.
15
- enabled: true,
16
-
17
- // Minimum and maximum animation time for controlled anchor navigation.
18
- minimumDurationMs: 2_000,
19
- maximumDurationMs: 4_000,
20
-
21
- // Additional duration per pixel of scroll distance, before min/max clamping.
22
- durationPerPixelMs: 0.22,
23
- },
24
- },
25
- locale: {
26
- lang: 'en',
27
- labels: {
28
- skipToContent: 'Skip to content',
29
- sectionNavigation: 'Sections',
30
- gallery: 'Images',
31
- },
32
- },
33
- github: {
34
- // Example repository and workflow details used by deploy scripts.
35
- repo: 'owner/example-site',
36
- branch: 'main',
37
- pagesWorkflow: 'Deploy to GitHub Pages',
38
- },
39
- deploy: {
40
- watch: {
41
- // Defaults for npm run deploy:watch.
42
- intervalMs: 10_000,
43
- timeoutMs: 15 * 60_000,
44
- runLimit: 10,
45
- },
46
- },
47
- };
@@ -1,127 +0,0 @@
1
- ---
2
- title: Local Dog Example
3
- description: A small norna example with free dog images.
4
- navigation:
5
- label: Snoopy´s dog shelter!
6
- sections:
7
- summer-dogs:
8
- visible:
9
- from: "2026-08-01"
10
- until: "2026-09-01"
11
- ---
12
-
13
- ## Black Dogs {#black-dogs}
14
-
15
- Black-coated dogs from the local norna development collection. This sentence
16
- contains **highlighted text** for inline emphasis inspection.
17
-
18
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a
19
- ante venenatis dapibus posuere velit aliquet.
20
-
21
- ### Coat notes
22
-
23
- This `###` heading should follow `typography.headings.h3`.
24
-
25
- #### Small detail
26
-
27
- This `####` heading should follow `typography.headings.h4`.
28
-
29
- Curabitur blandit tempus porttitor. Donec id elit non mi porta gravida at eget
30
- metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.
31
-
32
- ```norna-image-stack
33
- - image: photo-of-a-black-dog.jpg
34
- alt: A black dog sitting outdoors and looking at the camera.
35
- caption: Photo of a dog. ContaDeletada2906, CC0 1.0, via Wikimedia Commons.
36
- - image: black-puppy-meadow.png
37
- alt: A black puppy standing in a grassy meadow and looking at the camera.
38
- caption: AI-generated image.
39
- ```
40
-
41
- ## Summer Dogs {#summer-dogs}
42
-
43
- This temporary section is visible during August 2026. It is here to demonstrate
44
- date-controlled sections and **warm alert text** in the local dog example.
45
-
46
- Lorem ipsum dolor sit amet.
47
-
48
- Vestibulum id ligula porta felis euismod semper. Maecenas faucibus mollis
49
- interdum. Nullam quis risus eget urna mollis ornare vel eu leo.
50
-
51
- ## Brown Dogs {#brown-dogs}
52
-
53
- Brown dogs provide a second image section for local navigation checks.
54
-
55
- Donec ullamcorper nulla non metus auctor fringilla. Fusce dapibus, tellus ac
56
- cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit
57
- amet risus.
58
-
59
- Maecenas sed diam eget risus varius blandit sit amet non magna. Morbi leo risus,
60
- porta ac consectetur ac, vestibulum at eros. Sed posuere consectetur est at
61
- lobortis.
62
-
63
- ```norna-image-stack
64
- - image: brown-dog.jpg
65
- alt: A brown dog looking directly at the camera.
66
- caption: DogBrown. Frank-3, CC0 1.0, via Wikimedia Commons.
67
- - image: dog-accompanies-master.jpg
68
- alt: A man walks outdoors with a dog at his side.
69
- caption: Dog accompanies his master. Steve Hillebrand, U.S. Fish and Wildlife Service, public domain.
70
- ```
71
-
72
- ## Golden Dogs {#golden-dogs}
73
-
74
- Golden-coated retrievers add a third image section and more scrolling depth.
75
-
76
- Cras justo odio, dapibus ac facilisis in, egestas eget quam.
77
-
78
- ### Training note
79
-
80
- This `###` heading follows the site-wide `headings.h3` style.
81
-
82
- Nulla vitae elit libero, a pharetra augue. Integer posuere erat a ante venenatis
83
- dapibus posuere velit aliquet. Aenean eu leo quam. Pellentesque ornare sem
84
- lacinia quam venenatis vestibulum.
85
-
86
- ```norna-image-stack
87
- - image: golden-retriever.jpg
88
- alt: A golden retriever standing outdoors.
89
- caption: Golden Retriever. Ribo, public domain, via Wikimedia Commons.
90
- - image: toller-puppy.jpg
91
- alt: A young Nova Scotia Duck Tolling Retriever puppy sitting on grass.
92
- caption: Nova Scotia Duck Tolling Retriever puppy. RM, public domain, via Wikimedia Commons.
93
- ```
94
-
95
- ## White Dogs {#white-dogs}
96
-
97
- A white dog completes the colour-based image sequence.
98
-
99
- Etiam porta sem malesuada magna mollis euismod. Donec id elit non mi porta
100
- gravida at eget metus.
101
-
102
- Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Lorem ipsum
103
- dolor sit amet, consectetur adipiscing elit. Donec sed odio dui. Vestibulum id
104
- ligula porta felis euismod semper.
105
-
106
- ```norna-image-stack
107
- - image: white-cute-dog.jpg
108
- alt: A white dog looking toward the camera.
109
- caption: White cute dog. Neal Ziring, public domain, via Wikimedia Commons.
110
- - image: white-puppy-garden.png
111
- alt: A fluffy white puppy standing on grass in a garden.
112
- caption: AI-generated image.
113
- ```
114
-
115
- ## Sources {#sources}
116
-
117
- Most images are sourced from Wikimedia Commons pages that list CC0 or
118
- public-domain licensing:
119
-
120
- - [Photo of a dog](https://commons.wikimedia.org/wiki/File:Photo_of_a_dog.jpg)
121
- - [DogBrown](https://commons.wikimedia.org/wiki/File:DogBrown.jpg)
122
- - [Dog accompanies his master](https://commons.wikimedia.org/wiki/File:Dog_accompanies_his_master.jpg)
123
- - [Golden Retriever](https://commons.wikimedia.org/wiki/File:Golden_Retriever.jpg)
124
- - [Toller pup7wks2](https://commons.wikimedia.org/wiki/File:Toller_pup7wks2.JPG)
125
- - [White cute dog](https://commons.wikimedia.org/wiki/File:White_cute_dog.jpg)
126
-
127
- The black and white puppy images are AI-generated.
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
2
- <rect width="128" height="128" rx="24" fill="#111111" />
3
- <circle cx="40" cy="43" r="13" fill="#ffffff" />
4
- <circle cx="64" cy="34" r="13" fill="#ffffff" />
5
- <circle cx="88" cy="43" r="13" fill="#ffffff" />
6
- <path fill="#ffffff" d="M31 83c0-18 15-31 33-31s33 13 33 31c0 12-9 18-20 14-7-3-19-3-26 0-11 4-20-2-20-14Z" />
7
- </svg>
@@ -1,14 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 104" role="img" aria-labelledby="title desc">
2
- <title id="title">Dog Shelter</title>
3
- <desc id="desc">A line-art dog house, food bowl and dog beside the words Dog Shelter.</desc>
4
- <g fill="none" stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-width="4">
5
- <path d="M8 48 39 19l31 29M16 42v43h46V42M30 85V58h18v27"/>
6
- <path d="M80 69h42l-6 17H86zM78 69c0-6 46-6 46 0"/>
7
- <path d="M159 42c-3-8-2-17 2-24 6 2 12 6 16 11 5-4 11-7 17-8 3 8 1 16-4 22"/>
8
- <path d="M158 41c-1 14 7 24 19 24s20-10 19-24M163 66c-5 8-7 15-6 20M191 66c5 8 7 15 6 20"/>
9
- <circle cx="166" cy="43" r="2" fill="#fff" stroke="none"/>
10
- <circle cx="186" cy="43" r="2" fill="#fff" stroke="none"/>
11
- <path d="M177 50c2 2 6 2 8 0M181 47v3"/>
12
- </g>
13
- <text x="232" y="63" fill="#fff" font-family="Arial, Helvetica, sans-serif" font-size="29" font-weight="700" letter-spacing="2">DOG SHELTER</text>
14
- </svg>