jekyll-theme-zer0 1.29.0 → 1.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +886 -2
  3. data/_data/README.md +2 -0
  4. data/_data/ai.yml +5 -3
  5. data/_data/ai_pricing.yml +36 -0
  6. data/_data/backlog.yml +196 -22
  7. data/_data/consumers.yml +147 -5
  8. data/_data/features.yml +147 -21
  9. data/_data/feedback_types.yml +17 -12
  10. data/_data/landing.yml +5 -2
  11. data/_data/navigation/quickstart.yml +4 -0
  12. data/_data/site_builder.yml +874 -0
  13. data/_data/theme-manifest.yml +132 -122
  14. data/_data/ui-text.yml +19 -0
  15. data/_includes/README.md +11 -1
  16. data/_includes/analytics/posthog.html +30 -11
  17. data/_includes/components/README.md +1 -1
  18. data/_includes/components/admin-links.html +2 -2
  19. data/_includes/components/admin-tabs.html +2 -2
  20. data/_includes/components/ai-chat.html +14 -11
  21. data/_includes/components/analytics-dashboard.html +8 -8
  22. data/_includes/components/author-bio.html +1 -1
  23. data/_includes/components/author-card.html +10 -2
  24. data/_includes/components/author-eeat.html +4 -4
  25. data/_includes/components/background-customizer.html +8 -8
  26. data/_includes/components/background-image.html +120 -0
  27. data/_includes/components/background-settings.html +28 -15
  28. data/_includes/components/collection-manager.html +5 -5
  29. data/_includes/components/component-showcase.html +13 -13
  30. data/_includes/components/config-editor.html +12 -12
  31. data/_includes/components/config-viewer.html +8 -8
  32. data/_includes/components/cookie-consent.html +41 -41
  33. data/_includes/components/cta-button.html +7 -2
  34. data/_includes/components/dev-shortcuts.html +7 -7
  35. data/_includes/components/env-dashboard.html +8 -8
  36. data/_includes/components/env-switcher.html +9 -9
  37. data/_includes/components/feature-card.html +2 -2
  38. data/_includes/components/halfmoon.html +2 -2
  39. data/_includes/components/info-section.html +36 -36
  40. data/_includes/components/js-cdn.html +15 -15
  41. data/_includes/components/language-toggle.html +4 -4
  42. data/_includes/components/mermaid.html +79 -435
  43. data/_includes/components/nanobar.html +5 -5
  44. data/_includes/components/nav-editor.html +2 -2
  45. data/_includes/components/nav-export.html +2 -2
  46. data/_includes/components/nav-overview.html +2 -2
  47. data/_includes/components/page-feedback.html +45 -30
  48. data/_includes/components/page-views-init.html +1 -1
  49. data/_includes/components/post-card.html +22 -22
  50. data/_includes/components/post-type-badge.html +2 -2
  51. data/_includes/components/powered-by.html +2 -2
  52. data/_includes/components/preview-image.html +28 -3
  53. data/_includes/components/quick-index.html +2 -2
  54. data/_includes/components/search-modal.html +27 -2
  55. data/_includes/components/searchbar.html +2 -2
  56. data/_includes/components/svg-background.html +2 -2
  57. data/_includes/components/theme-customizer.html +2 -2
  58. data/_includes/components/theme-info.html +6 -6
  59. data/_includes/components/theme-preview-gallery.html +23 -23
  60. data/_includes/content/giscus.html +2 -2
  61. data/_includes/content/intro.html +15 -8
  62. data/_includes/content/jsonld-faq.html +2 -2
  63. data/_includes/content/jsonld-software.html +2 -2
  64. data/_includes/content/seo.html +12 -4
  65. data/_includes/content/sitemap.html +247 -290
  66. data/_includes/content/toc.html +183 -183
  67. data/_includes/core/branding.html +13 -20
  68. data/_includes/core/console-capture.html +32 -74
  69. data/_includes/core/favicon.html +49 -7
  70. data/_includes/core/footer-fabs.html +17 -3
  71. data/_includes/core/footer.html +31 -18
  72. data/_includes/core/head.html +128 -92
  73. data/_includes/core/header.html +85 -54
  74. data/_includes/core/tokens-inline.html +16 -1
  75. data/_includes/docs/bootstrap-docs.html +8 -8
  76. data/_includes/landing/landing-install-cards.html +2 -2
  77. data/_includes/landing/landing-quick-links.html +1 -1
  78. data/_includes/navigation/admin-nav.html +2 -2
  79. data/_includes/navigation/nav-tree.html +8 -8
  80. data/_includes/navigation/navbar.html +21 -18
  81. data/_includes/navigation/section-sidebar.html +16 -16
  82. data/_includes/navigation/sidebar-config.html +36 -2
  83. data/_includes/navigation/sidebar-left.html +15 -15
  84. data/_includes/navigation/sidebar-right.html +6 -6
  85. data/_includes/obsidian/full-graph.html +2 -2
  86. data/_includes/setup/claude-session.html +72 -0
  87. data/_includes/setup/prereq-checklist.html +90 -0
  88. data/_includes/setup/wizard.html +910 -291
  89. data/_includes/stats/stats-categories.html +8 -8
  90. data/_includes/stats/stats-header.html +14 -14
  91. data/_includes/stats/stats-metrics.html +12 -12
  92. data/_includes/stats/stats-no-data.html +12 -12
  93. data/_includes/stats/stats-overview.html +6 -6
  94. data/_includes/stats/stats-tags.html +8 -8
  95. data/_layouts/404.html +38 -24
  96. data/_layouts/admin.html +22 -22
  97. data/_layouts/article.html +54 -37
  98. data/_layouts/author.html +20 -20
  99. data/_layouts/authors.html +2 -2
  100. data/_layouts/book-abc.html +12 -12
  101. data/_layouts/book-story.html +15 -15
  102. data/_layouts/book.html +12 -12
  103. data/_layouts/collection.html +33 -33
  104. data/_layouts/cookbook.html +12 -12
  105. data/_layouts/default.html +27 -24
  106. data/_layouts/home.html +36 -24
  107. data/_layouts/index.html +10 -10
  108. data/_layouts/landing.html +17 -17
  109. data/_layouts/news.html +44 -44
  110. data/_layouts/note.html +40 -39
  111. data/_layouts/notebook.html +36 -35
  112. data/_layouts/recipe.html +24 -24
  113. data/_layouts/root.html +95 -55
  114. data/_layouts/section.html +23 -23
  115. data/_layouts/setup.html +3 -3
  116. data/_layouts/sitemap-collection.html +49 -49
  117. data/_layouts/stats.html +40 -40
  118. data/_layouts/tag.html +12 -12
  119. data/_layouts/welcome.html +21 -21
  120. data/_sass/components/_cookie-banner.scss +48 -0
  121. data/_sass/components/_mermaid.scss +375 -0
  122. data/_sass/components/_setup-wizard.scss +588 -41
  123. data/_sass/components/_ui-enhancements.scss +11 -0
  124. data/_sass/core/_navbar.scss +147 -100
  125. data/_sass/core/_sidebar-extras.scss +2 -14
  126. data/_sass/core/code-copy.scss +27 -8
  127. data/_sass/layouts/_navbar-extras.scss +14 -4
  128. data/assets/css/extension-points-demo.css +27 -0
  129. data/assets/css/main.scss +1 -0
  130. data/assets/data/wiki-index.json +19 -0
  131. data/assets/js/ai-chat.js +47 -5
  132. data/assets/js/auto-hide-nav.js +53 -13
  133. data/assets/js/code-copy.js +72 -1
  134. data/assets/js/extension-points-demo.js +48 -0
  135. data/assets/js/fleet-feedback-capture.js +124 -0
  136. data/assets/js/fleet-feedback.js +853 -0
  137. data/assets/js/mermaid-diagrams.js +1373 -0
  138. data/assets/js/modules/navigation/config.js +9 -6
  139. data/assets/js/modules/navigation/scroll-spy.js +315 -80
  140. data/assets/js/modules/theme/appearance.js +8 -2
  141. data/assets/js/obsidian-local-graph.js +27 -5
  142. data/assets/js/obsidian-wiki-links.js +8 -3
  143. data/assets/js/page-feedback.js +125 -192
  144. data/assets/js/search-modal.js +26 -0
  145. data/assets/js/setup-wizard.js +2119 -363
  146. data/assets/js/site-builder.js +1834 -0
  147. data/assets/js/ui-enhancements.js +11 -3
  148. data/scripts/README.md +15 -0
  149. data/scripts/ai/README.md +38 -0
  150. data/scripts/ai/api_call.rb +124 -0
  151. data/scripts/ai/usage.rb +314 -0
  152. data/scripts/ai/usage_report.rb +225 -0
  153. data/scripts/ci/test_visual_evidence_autogen.py +403 -0
  154. data/scripts/ci/visual_evidence_autogen.py +1070 -0
  155. data/scripts/content-review.rb +20 -1
  156. data/scripts/features/install-preview-generator +1 -1
  157. data/scripts/lib/README.md +12 -0
  158. data/scripts/lib/preview_generator.py +2 -2
  159. data/scripts/test/integration/mermaid +22 -8
  160. data/scripts/test/lib/run_tests.sh +1 -0
  161. data/scripts/test/lib/test_visual_evidence_autogen.sh +24 -0
  162. data/scripts/translate.rb +23 -1
  163. metadata +21 -2
@@ -3,8 +3,8 @@
3
3
  # Regenerated automatically during each release (scripts/bin/release).
4
4
  # Consumers use this file via scripts/bin/audit-consumer to detect drift.
5
5
 
6
- version: "1.29.0"
7
- generated_at: "2026-09-01T21:54:58Z"
6
+ version: "1.31.0"
7
+ generated_at: "2026-10-07T21:57:46Z"
8
8
 
9
9
  # Directories owned by this theme. A consumer file in any of these paths
10
10
  # that is not declared in the consumer's .theme-overrides.yml is flagged
@@ -58,47 +58,48 @@ config_schema:
58
58
 
59
59
  # Per-file SHA-256 checksums for every file in themable_paths.
60
60
  file_checksums:
61
- _layouts/404.html: "00fc8864c9042e4a6a5b2b1b7889ffeaa27cb70ae5a1f88dacfc1df8ae8731ba"
62
- _layouts/admin.html: "a2654266ca154c61f343f5cf0a919e3c4e37517df97690e979776f96bd05e385"
63
- _layouts/article.html: "91dbd5151886b9e5ea5edd9cd304d186fe00e6a5eaff5580588466a76112dc02"
64
- _layouts/author.html: "1bfff350b4c5fd53c63018a2a22015e398342cc456ff0075e9fcbc78d44d701c"
65
- _layouts/authors.html: "a71f21347f091f9dee3d6a3fe23ee2497608ce2c3aea460a563f1e1c0c4ca681"
66
- _layouts/book-abc.html: "4db8ba66ad8e29ad3e3f4ef5c6458a68ad442cb017854d5e20630bccb89e0895"
67
- _layouts/book-story.html: "8322452b691d22f1afc8f9540b37bb06736e9500ed0bf905cc6d825577ab3199"
68
- _layouts/book.html: "a289086003afd5646d4d7ae5833fe649898409d4c914981f6ddec45e6ca7364e"
69
- _layouts/collection.html: "65971e63500ce180418236fa9a37328bb4db704434bffd8fbcdfcce5aa548260"
70
- _layouts/cookbook.html: "39c478e3437014df3e14db6d27388a3fb8484f689d0acd32470dda6ec690e517"
71
- _layouts/default.html: "5cceebf207cf2be351f07b4a7764d18a89825b57bdd8d05a1af8cdd3a19f2bd9"
72
- _layouts/home.html: "a701a158fad1fa8bd8adcf51dd36fd6bc0d045662842743c7c3cde2e838d29a9"
73
- _layouts/index.html: "a1d426a155fd4c29520a5ede0cb2c83f283c0f34b491db104b1036ce55af3b20"
74
- _layouts/landing.html: "d69e071a9fe2fedfdd3762dfed8325596802db5d3fbec8a0ab9c78b6e4933377"
75
- _layouts/news.html: "1d6e7febae8db34bd57c40c51a698f51f688c66dc691bdcf1be24f8535cc3cf9"
76
- _layouts/note.html: "586167196285084935563ae2b427fa54c6a3f79da3dd6ebfaf0ee0b977cf834c"
77
- _layouts/notebook.html: "f83e7caa17b30c7a53ac3827baf6db13d7e3520814faf94f1084070d3138aff9"
78
- _layouts/recipe.html: "679e86fefe9ebfbf3dec7ef9def72b3bebfa81bebe0c38025e64f93bbc0f2d9b"
79
- _layouts/root.html: "f8cb459257588d9a8a5fb49ac2c62e2675c682c90029f31afb7295bcc0d978f6"
61
+ _layouts/404.html: "47ef2766b6e9785316b40f221f42dda56e3b6654b1fd7362e20a300c70f53e80"
62
+ _layouts/admin.html: "f8ea9d84e0947b6f7836c15bf715244e924192ce3a26f64a13d9d42c69281b37"
63
+ _layouts/article.html: "95ce1f0980aac1e1b5346a1ea12b630e8ede530d37f08a79e34be9103ab0b7e2"
64
+ _layouts/author.html: "3739ccdcae4e4f63920801470571a4a243766a35bf68d8256012a8d142df42ca"
65
+ _layouts/authors.html: "a0e1588c9e5a79abe95929aa6245ab64cdf04351e81e3d287d19f4fbd5548ac6"
66
+ _layouts/book-abc.html: "0eaa068f75c573f0db8501e10c7ac0f9a74d4a738060d7a469fee7c1095c558f"
67
+ _layouts/book-story.html: "40b918b62a24a49509481f2e1852eaf304be118420eac01a14bab74957ffdd9d"
68
+ _layouts/book.html: "ab256dbdf36e7e1ec07f06870f20dc47805de3b905747a453625642404540b0a"
69
+ _layouts/collection.html: "9da7ac3209eb2e3e0980cbc934878e31a01fc1fd4be3871fdf4880a2f68b02ff"
70
+ _layouts/cookbook.html: "f0ae3fcb1f07f3355fb5c876f2305873fb4a8cd457335dfd8f22e1856bc6bf56"
71
+ _layouts/default.html: "4292cd641057a70d654407eb67eef8d6921692f1cf40b237f364f8f237c26c13"
72
+ _layouts/home.html: "a67e0219abef4c78513c088004c39980e574d898c9dfeb5ad1522fd5edc292f8"
73
+ _layouts/index.html: "82b543be5a911a0d48bccb25be1ee514eed6e8299dc4ae20d7ce7e08778d4bc0"
74
+ _layouts/landing.html: "fbec896f0e75339a746bdb1a9a176ed66742d517c041a2bb89c3fd1f61512007"
75
+ _layouts/news.html: "b5ac31019ba82a75ad45bfbbe613d85c1de9f2cf8432230297c2423283af23b1"
76
+ _layouts/note.html: "58b97dd42bb72c4b8ff18305287bddab8abf70969e87977252c9ae012b6bea0b"
77
+ _layouts/notebook.html: "2f3d24ebdc079a7ebfc8e1b77b86328fd4ee1512ce2047ac52acb9e814fba146"
78
+ _layouts/recipe.html: "54b3c425fd198068fd15721c9828498aea440159105a9e5b38a1aaee62e87397"
79
+ _layouts/root.html: "cc7259c2bc8af60b613595fd5116849c95179853dc27c1384f849df66d67146d"
80
80
  _layouts/search.html: "b0b981d3233cab6f1ffec90c81a1340d251bd95a58bf2363d85bab5efe20ed95"
81
- _layouts/section.html: "9fcde90c93a44a30c0cd61111e698b2af5b5b455fe18448492e08e1213983e9b"
82
- _layouts/setup.html: "9559bdc40dabee07fc80571b8d09803977f904b0ce89da9d02cd2d2026b5557e"
83
- _layouts/sitemap-collection.html: "2e4b57c87e1fb946c1e661baeff8f36ee8cb8c5419f408ab082858133a176aa0"
84
- _layouts/stats.html: "f1f3c2449f37178913c1ab49ac9e7c400914cd503df9aeffd266a661c37b4d06"
85
- _layouts/tag.html: "dd5a7c1bd42eee9df768a337693143b015fa8391a0ee25683063365a9b9385be"
86
- _layouts/welcome.html: "482a859b119d57e78f049a0c9dd0bbb0f03dd57eb13c84f756cc65ea1c37a30b"
81
+ _layouts/section.html: "662f332dccfe29bb85c44f224ae318b64bfa130e5edd60b56d1caa442f4e2bb9"
82
+ _layouts/setup.html: "b3022e0766a8c288c0f2a618c013860a8cb7305b617b68727aff6bba924b7906"
83
+ _layouts/sitemap-collection.html: "de2e1a74d3261540e1b055b4adeb2b91081e20fe8d5f3dcdb7faa325f41ffd94"
84
+ _layouts/stats.html: "df42629997836865139ba79467d481dce042a40a51e4c9966631f5f97dba76c4"
85
+ _layouts/tag.html: "e642bfed8f3c79401e72532d46b4874e9f25bca3ea3b7abfc40c504b496829db"
86
+ _layouts/welcome.html: "85c129e313a37b6c720b319bb8c5aab12234e617d78b02cf9b8e45bde53e1f30"
87
87
  _includes/analytics/google-analytics.html: "d67b99397df941b9bee165866c97f92c3cf6f247f76281e2126638ae3dc8647f"
88
88
  _includes/analytics/google-tag-manager-body.html: "7e37766982dc0b21d14683fa1f64f12c2f2eb500423edf6fa6184b1617788236"
89
89
  _includes/analytics/google-tag-manager-head.html: "4f52a13ff60a5eb099d3cbdeb756e44d2eac3bed214a7293f755f9f5aaa7ad20"
90
- _includes/analytics/posthog.html: "880503633fe07530de7805d3355a0b170893ada127a3a0fcf633309eb70aff5e"
90
+ _includes/analytics/posthog.html: "869d09e36185a9dbbff68214fc800fa62e0a5c6100dff8619381cbce15017af6"
91
91
  _includes/components/abc-letter.html: "2a7765f39e0263ddb8ce7438dc159f25c6da6745c484a99c0b04b2a991dd8700"
92
- _includes/components/admin-links.html: "58a1bb1d19f16e3278bc6d62e2074bba363049a2e4d5401661d888e01dbdd91c"
93
- _includes/components/admin-tabs.html: "d56d6c46a5f1cef18d36b34c4cbf49dfc1ac434a9deab713f7973af343a72cd3"
94
- _includes/components/ai-chat.html: "f53473b2f9fc308173cb70c433465b41d8f83a87e5e466e4625b8e31492574dc"
95
- _includes/components/analytics-dashboard.html: "511f603f04b389feb26feb0f682b2609338eab6deb4031faf0a5476f1215b9ec"
92
+ _includes/components/admin-links.html: "71fba67a292265f4074d254e7a8d90daab39f7a510ee3530f42681bb6c41981a"
93
+ _includes/components/admin-tabs.html: "b75590a4c987440e35afeb96a62d569dc4f4c4ce5e91f966eacdef14ed28ddb0"
94
+ _includes/components/ai-chat.html: "8f47af244d1b846228d195b671605249835113a12c3db16194fae4ab7e7cc46a"
95
+ _includes/components/analytics-dashboard.html: "511d20bff9cc2c22e92b2a5e6f71292f9397dcb1180fa33f559f085de8a2a66c"
96
96
  _includes/components/author-avatar-url.html: "7c9499d7623c9f8eb478fee3028fcc0a29de51f4f10eea87a1db4f67cccb65c3"
97
- _includes/components/author-bio.html: "33acc281da83729583bdc3d09c9a19dff4ecb95003b0afd8e5b8fc734778be8b"
98
- _includes/components/author-card.html: "4af7ff1b401eac9279819b6c8e1ad92d868045f3eb997145af7c8e283d711add"
99
- _includes/components/author-eeat.html: "7e14a1c18575ee4a18781e2533bef01e6f473ed23b062aab820eb91a947e36c1"
100
- _includes/components/background-customizer.html: "4270087ea56145bf6e03cc2249c5d1bf7880213159529201497ec771037f0be4"
101
- _includes/components/background-settings.html: "c9a55c9c3c67096ecd9dbbde48b5b893cd57ea1d2dedae9b79a7ebdd568cf7ff"
97
+ _includes/components/author-bio.html: "6da96d8b4ddfc798e1fd350199e14e31d18649aa6cdde7351b8a629fc8c29abc"
98
+ _includes/components/author-card.html: "5a3d64b0e5249977da6081f61a0753529f3dae58c5bacd1d03dbd1d7be78afd8"
99
+ _includes/components/author-eeat.html: "0781fc9c2d70a72afeea915bcb457b33fc83eb5d8fae699e1857fbbe84abf53d"
100
+ _includes/components/background-customizer.html: "e7c08df9456d09d96d0fb744ef3cb257905a4ef45ebcda9a4123c1ead6dfb28e"
101
+ _includes/components/background-image.html: "745f8bb3c8fa0dcef0c5f687c015384bebeb60cd08029f924071bdcb09192231"
102
+ _includes/components/background-settings.html: "b16dba76bf7a00533cb8f0782aea6005912bcf302837709fbc9d95ef39dfa087"
102
103
  _includes/components/book-card.html: "6b746548a9aa14de9e575ffc4e8ae874db4bb94e8e8064716d4953f26d1a4fef"
103
104
  _includes/components/book-nav.html: "9a6a85bbca4b16a7f50e50b4ec74d35b955f2095c4b56e714842041d17e92247"
104
105
  _includes/components/book-plate.html: "a0644c38aa3967fe7d138fc7fd272dbeb8501102f642270a2b6ba39bdd86d76c"
@@ -106,35 +107,35 @@ file_checksums:
106
107
  _includes/components/bookshelf.html: "146422ca9028e771dd42de27cddeecac55fb81c62387e18c2979c51f0cd95ef8"
107
108
  _includes/components/callout.html: "7376f4c85e6b2a7ac2c61d6b36c0b71b6605d1aaf6e91f28b3b92035b3fb45fb"
108
109
  _includes/components/card-grid.html: "669b596f6c87a932e4b3d676acfd7681059ab8eb878046c215c4bf1067265e5f"
109
- _includes/components/collection-manager.html: "4a8cd72d3ec99335e3f32c2e8dab02c973d22bcfee111b53ee142d1a0bfb3e24"
110
- _includes/components/component-showcase.html: "94a40283c822b3e06394a580b5c6a2dc3e51c3c4b9fa9447d1822d6ca5850efb"
111
- _includes/components/config-editor.html: "1c665a7a0464d56342f2bb3e62380917294700cf927368f926d0f405eb37989b"
112
- _includes/components/config-viewer.html: "cda236f25c2779bbeefec0c3899f53c51df9277787cf3d6a00d332592e706795"
113
- _includes/components/cookie-consent.html: "4cc72f191b88114ca3d4cb6eef6529c53fc25f057b9fbf5b23b692fc0d9ea586"
114
- _includes/components/cta-button.html: "5fcd983c25d3d6fcf2528bbd63708bbe80e30e53da108b1bea47f1ce5ea7f29d"
110
+ _includes/components/collection-manager.html: "5d430ff4f5a13e6fb72c4952fa89720448733cd2dd348b29f3b9565fa247388c"
111
+ _includes/components/component-showcase.html: "d36a006832bf0991d0a2540829bc9bad68b0af6aab13cf6e283d8f19e9e71b31"
112
+ _includes/components/config-editor.html: "61c96ec4891966983839e4fcc68c77e5989dbc9d72c806706091b378b7f48b84"
113
+ _includes/components/config-viewer.html: "dd88d0e8a311370c2a8c9605230940223db44c129b1d1adebc81915ef565b957"
114
+ _includes/components/cookie-consent.html: "e8ea786e3420bd796da666b6d9aed5ec6c98aff13879f017b700ca23e557e103"
115
+ _includes/components/cta-button.html: "a4352d9d4b43e0cb3c8fcf2c70569ec1a46029ab733a063a3e16be8bdc6c7501"
115
116
  _includes/components/data-card.html: "c46604f61bffab476bb943f4a631320077cb47b6a58a12e14aea7bc5118f80ac"
116
- _includes/components/dev-shortcuts.html: "a55f5e476654e9d4de5f87478cc2f8deb6ed988bfcb918df360dfd9e1bfa45b6"
117
- _includes/components/env-dashboard.html: "ee2b1245fa7bdff74c619469647cca5d34270a6f56e4c0871253ba2517ebdd2e"
117
+ _includes/components/dev-shortcuts.html: "32d430d109474d6136969b7f9ea1dc8b07386856e14a5829e22ac2c9102aa6f2"
118
+ _includes/components/env-dashboard.html: "2d632388497c6b55e5a0e94ed130c13fa268c6e56b2560c4809ce19e1903effd"
118
119
  _includes/components/env-detect.html: "c3e52616ee4c6482abc30ec0bb4097ec84c6aa4621b4f88268eebd547d149f95"
119
- _includes/components/env-switcher.html: "5533426321368720c064fa4613057dc0f88f1cf630ef905913f229b4c4a97fe8"
120
- _includes/components/feature-card.html: "6693e9db814f05e0df1da9b052f57ab5d5dc8d96c03b6d9c1185c24992dba469"
121
- _includes/components/halfmoon.html: "8cacbcfefb85dc1cc6adffc0f25aaf077a9c52a6e7d969eacd4cc98aaef3e0f3"
122
- _includes/components/info-section.html: "63290133b601b6f240f009c18c970306e28e29c07cd57c8e02a384569becfb3b"
123
- _includes/components/js-cdn.html: "e76d55615d1c88810c743cde673982daa5ed2aeaf24e8d0193e3a17914a42bec"
124
- _includes/components/language-toggle.html: "67b42b65dd120e4d0f4581003568e369bcbf42dc251ee7db2b6188593c151f33"
125
- _includes/components/mermaid.html: "c95ddd0da6e839487d12d0b7ea823e6c689a73e3ddf908b556c4dc34401fc935"
126
- _includes/components/nanobar.html: "458f04ee7b5ee7b3766bcd3ca9b20680f8523a27bd7ec20bf1fd4fc037fd04ef"
127
- _includes/components/nav-editor.html: "8eb74b46990378a361a458b515b5c582c8e4493af8311d23cca3905f2d5665bc"
128
- _includes/components/nav-export.html: "744e26d974d7e4c6069298b244bd538c581c78414cdd95446576d352ded45513"
129
- _includes/components/nav-overview.html: "9aca2af20d754f8e80dbe10f8bc90713dbe4106f61d3a31cd1add73bc7d23807"
130
- _includes/components/page-feedback.html: "22444a5fb65dfbd1536f5b3aa1da5169a3cb6e3bad1b6eec7aa3e59f0988b186"
131
- _includes/components/page-views-init.html: "a4199b3c57c1d5b9c0952f6aded51526d364c6f5a4eb7652e9f25d86e0cbbecc"
120
+ _includes/components/env-switcher.html: "cd1c73101b663079fbf473148dec07c816f8b952afa752a17839759a78e9ab5d"
121
+ _includes/components/feature-card.html: "e90ad47a5c347d52e43325ed717df9aaf4bac71e885439e9476aca0427b8712b"
122
+ _includes/components/halfmoon.html: "ab78c5c0e5e1c7ebd6a91bd95307fc6c25a54a98ad932c41d2b97570aa8143a0"
123
+ _includes/components/info-section.html: "39b2d89723513614fc3579c6b524376cbbf854a3b4f62fa4c68a44e56dcda1a0"
124
+ _includes/components/js-cdn.html: "bdbcea871586a63800e544750806facc191d8702b70291577999680699a69519"
125
+ _includes/components/language-toggle.html: "1259f824c4e0055ae087ec6ea3593f8f6cf9b43da84a3a95fa9c5b5a6b50f464"
126
+ _includes/components/mermaid.html: "df21aadd1bef7b40a6f714b975fddd439d0722481259dc9af27998aa51a1775a"
127
+ _includes/components/nanobar.html: "a35128d8376d1dff44c34e42aceefc927c14f44f6f263102ef9f5d4c8a20db84"
128
+ _includes/components/nav-editor.html: "51dde98e848c44cf464ea16308d965a3424706008119fab14fd181ddbf5067c0"
129
+ _includes/components/nav-export.html: "11d56e16f29a6d51ce6816e87de348019eb56bb820fa23a184c4e1639da3fac0"
130
+ _includes/components/nav-overview.html: "8625169918a8e43fd3a5dc2b8c08e9cbaa78fc5e6be6a9b1ca418f7084ccadfb"
131
+ _includes/components/page-feedback.html: "93476492d278da6e403a2231dd5054dced94d1a0a2ec0eed30f5e94e09bdc862"
132
+ _includes/components/page-views-init.html: "07495e4c3343e5dbfb84ebfd04d25ac7340de34f41f8dce8394a6db2d157afee"
132
133
  _includes/components/page-views.html: "b5654482c7ecffc95f9d0afad1b707a402e0e82f8ee474d39c108894175b7d9b"
133
- _includes/components/post-card.html: "24575b48da4b5d17b5b62c3715e02ed69601f020c515950bb3fe6fdb82287d74"
134
- _includes/components/post-type-badge.html: "9519d042ce31a6ad599e41d8fee07cdebdf62a3392b4dba72b94f9d9137aebd5"
135
- _includes/components/powered-by.html: "eb9b4d86ba677ca3ceab920f912e91304e60ab3b5f9e0c07e19403f3ae440989"
136
- _includes/components/preview-image.html: "42084f470e56b0857023e3505f1e954a8dfb128c76f049963ffbb681943b919d"
137
- _includes/components/quick-index.html: "4c2a42475f7d2404c401534dac8da63cd7746a96a85b02edb771a4bbf28254a7"
134
+ _includes/components/post-card.html: "d93a021a9c2e979bf3d7d741281ce4a15ec115c2b8b6a5a1bcc40e9a187959c2"
135
+ _includes/components/post-type-badge.html: "4cb5f296c25b5340445ec9b52954644280877f004654a43ae78337d12745f517"
136
+ _includes/components/powered-by.html: "d31ddf99fe16d9f946fa2fc98957544033bc41f8345c7401cbc5d018866c9194"
137
+ _includes/components/preview-image.html: "80c024a6f18dd4f623cbcde758fd66d28c7a4bbdb19a0cb53fa1999d99d654ea"
138
+ _includes/components/quick-index.html: "19603453455fbf759ada8534dcac6df41ffbbf1122bc7f62b6b3748da604f43c"
138
139
  _includes/components/recipe-card.html: "c5600da464577d76baa377bf23c56fd13bca08c5455d22018301e9b9d07318cb"
139
140
  _includes/components/recipe-duration.html: "623709e34d29df7dbdc8226e1fa6f5c079048e1c8fe1c7d7e94a51ee5b5fb730"
140
141
  _includes/components/recipe-grams.html: "f551531f8c60da581e8a4c2cdea7470ad898f1966559b489fce7d6090dbc2139"
@@ -147,82 +148,85 @@ file_checksums:
147
148
  _includes/components/recipe-scaler.html: "ec10a3d47505c2549ca367b8c05a701e6513832c1f88a4dbcd9c6773b65fe478"
148
149
  _includes/components/recipe-steps.html: "6af94900ad22da42f59356a369df7464f2e9bf60a444a52b95e17ce77b49e890"
149
150
  _includes/components/recipe-temp.html: "88366b16dff3fa1c7136f13ffa9ceb35c17feacf82e5f524cc116386f2436e9f"
150
- _includes/components/search-modal.html: "dbfb983e2cd05110c32fb1c5901636aa1815ea43371f0db39feb37ca7a12eb27"
151
- _includes/components/searchbar.html: "43d1ad146c74391e72bede455918661df2da401af9111a17359f8c1093229a0c"
151
+ _includes/components/search-modal.html: "0d72b3bbc693ec4e70557546570fefe26605e94e35d89e5fc985a2beb119e953"
152
+ _includes/components/searchbar.html: "345d5a9661e71c1a8a8f25f2737b93a063e14e46db473a9bb2c43ecb18b4228c"
152
153
  _includes/components/section.html: "36e8124186614fa7727c6f1b6973227eb01a76cf0d71fd45855227d6d972b73e"
153
154
  _includes/components/setup-banner-inner.html: "c677fe294899147eb6076900e07db84317bd908858dcef99c448feaab98d622b"
154
155
  _includes/components/setup-banner.html: "b6b5ecb784a1ee4cf269e513e9df7eedc34ebe9199d07647992a45ffb875eb44"
155
156
  _includes/components/setup-check.html: "41f7cd13bb4b4f5bca6dd716c6d08f6e34f201fcd4e82ce2887d3d0fd84947be"
156
157
  _includes/components/shortcuts-modal.html: "0156dbafc0670c9d3b7ced7b9fbb42fb6c8947e0fc3b6efeb065242bd2a36084"
157
- _includes/components/svg-background.html: "261fe1b1551cee1aaf81a449abc5f271320a90530a43e7f01a1b8601c9c819e0"
158
+ _includes/components/svg-background.html: "f955a254db2f9f24c82ffa6beb487c4889a19a106ff7dd5d8938a1ad05effb56"
158
159
  _includes/components/svg.html: "79d4ffbd9fd721f019fe0758c2cef54912599a19ec4ee794ccd7ec46e26c7e4d"
159
160
  _includes/components/theme-controls-bar.html: "53fe86978d1c9a13853fca0502c356b559640f67e11334fe27b180a6fd31d425"
160
- _includes/components/theme-customizer.html: "aa614ea01b81c949324b68c0360943c568f4991137b2dfffe4a33066a584c882"
161
- _includes/components/theme-info.html: "48b8f003fdd705927e06ac444184bf07e21c8be33b7a58603d06edf2e72bc84a"
162
- _includes/components/theme-preview-gallery.html: "51353bcaa604ad50181c82dc11cd2c136a9c47b9735a52e0a462647acb8c2d64"
161
+ _includes/components/theme-customizer.html: "115030770a897e813a42108aa40794617fc5bc34fc39f41e77ed200f96d61cab"
162
+ _includes/components/theme-info.html: "45121f886e48214106391fb89ac4c11ed5618b3730e41f21d1002ae325999851"
163
+ _includes/components/theme-preview-gallery.html: "8a2f2c86f12ae141f77943c4beb36f06b20f423ce0e6669d53c6e82562edad65"
163
164
  _includes/components/translation-notice.html: "01e5d23801d454641b49f1a1efe83cc09089decdb61da14045f158f1b097e819"
164
165
  _includes/components/zer0-env-var.html: "d11f3a578319f48f763b0e8639230e71b9a6e9301453c73c9907814f086fc03e"
165
166
  _includes/content/backlinks.html: "6b18741876a3923606b60f60b3f366c3f60d49924d03a2b86c80df41f2e8130a"
166
- _includes/content/giscus.html: "8f9d3e8a681ee5de687d1d6335f98993c8d3f5d5e1d33ed0b4cc891c8ae51188"
167
- _includes/content/intro.html: "71c789c687e306c6088ccc69c4206abd54f2e171af921025967c344e905cd30b"
168
- _includes/content/jsonld-faq.html: "4f8c931bdb127a3c8a3b526d4109399aca9b52eb49118236aa5a2eab5103b099"
169
- _includes/content/jsonld-software.html: "672d7fb267018143bc4e773202d2afc9501fc19c7607a1c7758e4f99f0b075e3"
170
- _includes/content/seo.html: "7e99a746b0be9309051c736c4d22cae708d7ec120daf71fd9a7843195ef651f2"
171
- _includes/content/sitemap.html: "5fba76f1438c7299f7d1f3a69fa4a4b8cb0824b0cb7edda9ce2bfac40b65ae45"
172
- _includes/content/toc.html: "30997de1adfe5bfc8b570a048aa3957277fe1e8c79c7758c152199f61c16862e"
167
+ _includes/content/giscus.html: "8c49d8a22caef89a3132ba9da5434ddecf33b615f051eee1af7441df0bfef686"
168
+ _includes/content/intro.html: "6777503c9c5f547012673379c0492db219e40898c24268312c2d0478208e34c0"
169
+ _includes/content/jsonld-faq.html: "9e4001c9ccebb91ac1b2e51a8a7833e611bd70ae59fee7c599a88597b079a55c"
170
+ _includes/content/jsonld-software.html: "41624ca1a61687a91878e4147cb6e1fc172ace09bf2d9688e5f1da16cdaecf06"
171
+ _includes/content/seo.html: "05a6c4bb5aa9357facd041b85eb3ffc3b1ab0c4fabe7cbfa87f9905618718d5f"
172
+ _includes/content/sitemap.html: "d2504f4573d1978134d54751f63939f13a10efe0b5996267ccf2a6e3d13df589"
173
+ _includes/content/toc.html: "b42a00a641db03b4936d4d754a2e14fcf9517c2b8e0257ceba8a6fe2e2003e40"
173
174
  _includes/content/transclude.html: "da0714fb23034e1499920fa7fe7f6ef58c4b98eeea40319d6f10361db99ea754"
174
- _includes/core/branding.html: "49ebbae4336872b510a5407e94eca00d3f55c1a2a333d3c59d0bd83616ac51d6"
175
+ _includes/core/branding.html: "3e5d00bc427eb12585f77f98990e59f6dae8643eddfa395c7ac365b3d7cc680c"
175
176
  _includes/core/color-mode-init.html: "de31274204b6c5dea7e953f94e6663890a47286728484ee937b723100bf899ca"
176
- _includes/core/console-capture.html: "63c53e38e2107742bff5d41bf52d10da04bb0ff5a928cb755e55d9d13959cc87"
177
- _includes/core/favicon.html: "fd848118fc7d0db9aa707cf58025ee1fcc47fa068adfe8d9976f25a1add55c4a"
178
- _includes/core/footer-fabs.html: "19e1b7e7ac0ef1783587a30e64851a2293b3a8c91fdf7a4dacfbbec30d65d976"
179
- _includes/core/footer.html: "facd3053028db2590b334498224d9fdfd4088420fce8f2c2b3fb907634917f19"
180
- _includes/core/head.html: "9f7388aafac5099b5db959f522feda06875d9b4a1349ffd5cb54b520232f3beb"
181
- _includes/core/header.html: "eb492648243831ea0084c48a14755f26b8b7ccbb181018b32297d95cf755bbb9"
177
+ _includes/core/console-capture.html: "f9ca43e114faa48f6e76928b75b8baf580b6adb7efabf206a3b319938eabf019"
178
+ _includes/core/favicon.html: "9ba9fc5b55f319c4af0404058eb5a3893eba52fe46cc48438037debe4baef458"
179
+ _includes/core/footer-fabs.html: "4c46914fc53f3c40220501a34ffe20bb296d9f8ddeeec21e959b024f9a30e8a7"
180
+ _includes/core/footer.html: "c41a421da9ae7df4116d9f0d544de0991d6fd612312986d68c5b7da17003adab"
181
+ _includes/core/head.html: "4a96a374e01afe5e41437edce7767c811564a90b6e0858d5aada8c68b19f17fc"
182
+ _includes/core/header.html: "10e4112f6d6c6f7a6c76a35e03aed48183eebfa7dc4887c02927eb8eb487f105"
182
183
  _includes/core/hreflang.html: "876c44ae392aace73680fb042b8cf7d2d1c2b3143dc755c4dd4c2eb5091356d1"
183
184
  _includes/core/i18n.html: "e856ab288f48a5f5f71941a8f47f7dde538deb64d513b57bdd7f4c1b1b2cd6b0"
184
- _includes/core/tokens-inline.html: "a406ea837bbb14437c674c9c73fc1c458863e66fdb3f44309aa2feeab9dfb83a"
185
+ _includes/core/tokens-inline.html: "d5388ac882d6e39e8e415e3739c80ef84fd4e79e3b86c0da068fa992a4a08da0"
185
186
  _includes/custom/body-end.html: "28dc02ba671178a8f673ea844b00a8750e30a5d949d7a8e2b26b83e156ac4ae0"
186
187
  _includes/custom/body-start.html: "62984bd5bcc8014be50b2fdc115b7e2f8e20462d73547616e4f9031f5dee0869"
187
188
  _includes/custom/footer.html: "d33cbad68c6038a795debf5ba182481f3b40f1c390a13a7a865ad70f04f3c9f5"
188
189
  _includes/custom/head.html: "e489954edd33f45bae71ff6fa2d56a91d822044a7558fb5653a7f39639fe25df"
189
- _includes/docs/bootstrap-docs.html: "90b3aa72f3de5e24203ea486293670b663473e9805cf38e1b52f549c600c1e4f"
190
- _includes/landing/landing-install-cards.html: "60ad61b0b60dd8811cbc3a3cf0a7b5ecb67de690b0949de4c4ceac6d02ab446b"
191
- _includes/landing/landing-quick-links.html: "8dbd2763524281180b140f386952c7c1a542d2fd23a1bdc7c7a4a0b16c2ae80f"
192
- _includes/navigation/admin-nav.html: "7fd0129d78e2d7e99bf922b229150f9eae01cea35550c68ce194899fdb9e5155"
190
+ _includes/docs/bootstrap-docs.html: "bf0f20ee77357070336042954bde420d4a4e9a3d036eed9a1a75d169aa4d8a8e"
191
+ _includes/landing/landing-install-cards.html: "8c8c4afdd042dc860f0db1fac74aa23afaf7b21c9f520498032c7ee775449bab"
192
+ _includes/landing/landing-quick-links.html: "6c36fc1539f050f595429794b4307bc906048fc0ab5006d96a58435f38ecf4bb"
193
+ _includes/navigation/admin-nav.html: "2455faf00a07829715e649ad8f8e9d1864f6c29d4c371076c9574057eba07b2e"
193
194
  _includes/navigation/breadcrumbs.html: "d13fd0fb490eb88b0dc7c3585f7578effa619f07f155f1a7a64ac77191bd1377"
194
195
  _includes/navigation/local-graph-fab.html: "ab647224f631c8e21631850408d057527d2300c0f9215ffeecd42a5f22f8cde6"
195
196
  _includes/navigation/local-graph.html: "14703bf11e1ce7b6cdd6261c81ff6a324ec614dcffb763e500f328b9be4b9728"
196
- _includes/navigation/nav-tree.html: "906c51994b84438cd8597cc25ebcea70fce2bb5257c7e66ee6b2dd54c980653c"
197
+ _includes/navigation/nav-tree.html: "d3002ad767eab6f27d9f252545f7564afc470b827ad67b7fb27fab90df9d124d"
197
198
  _includes/navigation/nav_list.html: "3450b282840fb5a82e0ab01d636e3b38e0bdbcc4233cca3e2f2a80fc7c71e3c5"
198
199
  _includes/navigation/navbar-mobile-quicklinks.html: "a2c23bbc41f8b27eae1a869893f1e7ecf881f12e34164ab7f8dc4a178011a45e"
199
- _includes/navigation/navbar.html: "4dc35176959d6691a34419055eae761a987ae83463e7d695fbde636c7cc011dc"
200
- _includes/navigation/section-sidebar.html: "71f4b47a28d143f6133afb31a6d7cab2363830674565d36da8cedd3e8d3744ca"
200
+ _includes/navigation/navbar.html: "2b2d4446c6be4ed5003cf482a116458858af919f61521d8f89cf1f70adadea68"
201
+ _includes/navigation/section-sidebar.html: "d77e8328f818a161449263d8293876a53fa0261747949901cf2e19ff6ac2c2b2"
201
202
  _includes/navigation/sidebar-categories.html: "42217519bc109e030b8f6e2578783efbc13838176e0eeba7cc1450641eb2f641"
202
- _includes/navigation/sidebar-config.html: "ceaa630dc996632db21a19959e357e8ce9462214d50815985e2fa0fd08c62317"
203
+ _includes/navigation/sidebar-config.html: "40e8bf838a3f819ba65ddad8bd004aeb01a9abc5c5d35a6894ffb18aa798ce24"
203
204
  _includes/navigation/sidebar-folders.html: "d6c84e0c62293790efdfb82db4765b113ad332938dba3167d52def12a3d9c0e2"
204
- _includes/navigation/sidebar-left.html: "31b979b0c88941aefb5cdd9c0270fbec3f6defab96730258b26dd926fd7d9336"
205
+ _includes/navigation/sidebar-left.html: "bbcd48973d6997d38884de6a24f191c8044f71f60d3cdf91d6fe548e65fd52ea"
205
206
  _includes/navigation/sidebar-nav.html: "82219b4dab2877b92e9b408d6977a71c992171ab4858058108cc330ab7f709d6"
206
207
  _includes/navigation/sidebar-pagetree.html: "f99ff90cf55a745c5b0a1e7fa7d2987e2eb010dd32721c9eac02792638f4b5ab"
207
- _includes/navigation/sidebar-right.html: "cc284b9ec0533b2fbb76fc7dc5fd461f8aa708ce16d63d9f60c2ac52403e8388"
208
+ _includes/navigation/sidebar-right.html: "5d156e3fc431b3f267e8b2bf90b66f1d55e86a7336c2b435c7dbca667a10a6e7"
208
209
  _includes/navigation/toc-fab.html: "be18ae16f8edf50aaaa84aada225aa7baf1057788de2ec9c0c39d6268030603b"
209
210
  _includes/navigation/unified-drawer.html: "199ff796377d540bdb58155b73d5c32fb0c225af71d4a72e56bddd7cfa777c5b"
210
- _includes/obsidian/full-graph.html: "1ec7fa4813518664c581f124deae5931f9d7691d5599c841cafa38bcff3565cf"
211
+ _includes/obsidian/full-graph.html: "9508c7010849191a8be4c993032b2f8f865fd6530de30897219524fd7e50b227"
211
212
  _includes/search-data.json: "1824d7a8ed778cdab23c502098cfce7dc687c18cede989294dbc989bfb15187e"
212
- _includes/setup/wizard.html: "ba6cf0d490895270e1b2a08fc564e91ed3e2a4c51baa9ac79ff9a6f1f8d703ec"
213
- _includes/stats/stats-categories.html: "444a6f241a95b750310eaf076b9da4e03a1d637c72f6ed2a5dcc83791ca2def6"
214
- _includes/stats/stats-header.html: "9f5f6b83443ad9c649e2004cd998e4729f57f3ca726ee88d0c4ae10b9a2d6319"
215
- _includes/stats/stats-metrics.html: "57d269f098e58302c8212c01c7b1c37548f05d44035ae8ca9b2ed2c1ce14a472"
216
- _includes/stats/stats-no-data.html: "70a885302b3dc9edd0d8c3e3964491ca3928c57b4de747c633474157331f43d4"
217
- _includes/stats/stats-overview.html: "e6fb14d691ec18b4f244c0b62ff3fde18edf75fa4a7a02eb67552cf463f3a45c"
218
- _includes/stats/stats-tags.html: "0fe65ccd862f395b069b413ea0dc6a82007da679ecee9c84a8048476e55b694a"
213
+ _includes/setup/claude-session.html: "cc7459d6c3ecb846cddabf039ddf5e90afa54429a8dea7ed27f3574fe0a9c7e5"
214
+ _includes/setup/prereq-checklist.html: "f6af6ac1d32837399cdb223593f3024db5aab13a4987e179e1e711863625d05f"
215
+ _includes/setup/wizard.html: "e3c94b8bf27789cd8e9992018ec7f4caa94628189d281acd8a85d565d7a51594"
216
+ _includes/stats/stats-categories.html: "f9edb65068c846a973b27f2a07b582473e6ac0b0221793408fa0191082fd693d"
217
+ _includes/stats/stats-header.html: "4f965b4a3f97d4eab8b2bb003558f7a05a99fd6a2f21e6a527e0ae30b6344ee5"
218
+ _includes/stats/stats-metrics.html: "53066bb49d3070d842971e5ced2a394eba54f8aea80e35820ab41edfc8c979be"
219
+ _includes/stats/stats-no-data.html: "3ab03a289d88f0de3dfe0d05c4dff8f47cf43fab60d0f5c51fa2a563e6c2d698"
220
+ _includes/stats/stats-overview.html: "6130e7beb215fac00fe0e094ec671ba1219894d32ec370aa7fdb9099168b7200"
221
+ _includes/stats/stats-tags.html: "09d38e06b2d4cf7f0a2e29fddf0a520abcc96244691fa34cc01a55cf990d1960"
219
222
  _sass/components/_author.scss: "2b037d13e159073755cb07e9a5eda2d70dbdcf7420b2e52951d4c0538a617938"
220
223
  _sass/components/_back-to-top.scss: "d1b8a948cd4e2c4772b12c77e2a812d63df400f54a16301053e223410d47cc7e"
221
224
  _sass/components/_book.scss: "dd822c0d0cf84bb919d5b889a19cd75af4dc3603bd142e2b01c953c6b8e159f0"
222
225
  _sass/components/_callout.scss: "a17bf67c19c90ad791255c39c69c9796406c9feba40fa0ef62eeabcc1a5d8778"
223
226
  _sass/components/_content-tables.scss: "463fe822b6c885a3d4ee7ed94dca54c81001a2f346c61f1495f1334b89af12bc"
224
- _sass/components/_cookie-banner.scss: "8871eb995ac6389cda7f8fde5536899a551ffaa72ae67dff2c892ec7e2e056c2"
227
+ _sass/components/_cookie-banner.scss: "c2e0f314e5a65b91e5aa9af778d482e6f7888c08434ca3a41c76f5877edf03f7"
225
228
  _sass/components/_footer.scss: "aeda30d678adf29cfb9a052fe0faba2cdaf00f289fe3017cab309b5cfb74fb99"
229
+ _sass/components/_mermaid.scss: "02de7801b8c82b160c312ac97cf0870e36fa7899cd1d698a46b6488ef669ac23"
226
230
  _sass/components/_notes-index.scss: "7abb34307cba043e3100a0c4311b9eb279b7dfdd42ea3a44631d7b6eda47b9fe"
227
231
  _sass/components/_notes.scss: "7d6b8be561e342acfa03c2d22def876fd330049e8fc18423e1e8b463f6f5ea99"
228
232
  _sass/components/_page-feedback.scss: "0f6d0fdaba9de0034b81857fdfdf09d6493f24f2f5e2a8fbc1d37c81628d9f28"
@@ -230,27 +234,27 @@ file_checksums:
230
234
  _sass/components/_post-navigation.scss: "4d0a6d4a177d382297be352d0105658c30beac78ed4aef098b4ebdd835f8ae72"
231
235
  _sass/components/_recipe.scss: "f2d698fed00e0f789914ff3ba681d11ec82e0b28cd852ba1779a30a2cf0b7408"
232
236
  _sass/components/_search-modal.scss: "3460f554bfcb411bdd3476b9678661b896b9441368fbcf717ff375a0f6116043"
233
- _sass/components/_setup-wizard.scss: "58c411116624df527592a3e1070fca28b825a1dd54a266eb463577357d23a877"
237
+ _sass/components/_setup-wizard.scss: "57a4d3b4aa49c9cc02226b8716eacc2bdca46a2456867887d30dece18603543b"
234
238
  _sass/components/_skeleton.scss: "581407adc0e987d06d1a2a34cae36643cb94e7ab678b14d0d587e048e3e142bf"
235
239
  _sass/components/_theme-preview.scss: "eefdc6853e7fd3ff4ba9354e002261d13b608c021f5ce01c20f7cd10d553f6f4"
236
- _sass/components/_ui-enhancements.scss: "d6ad4941702434301c90285f587a59b206a669d302b59f278dfd0eff0a822386"
240
+ _sass/components/_ui-enhancements.scss: "1d1a2e32c232b9e015dfe5927bcbe1378cb58b650e6d0d159f193d85bba509c9"
237
241
  _sass/core/_docs-code-examples.scss: "422d704a7009a07115beede2fb4f925131859075b40d5aa10d0d73ca0ebca371"
238
242
  _sass/core/_docs-layout.scss: "adb29a60417ec2d13dd93501e6072d93ec021281de9711ed44fa76f4587def6f"
239
243
  _sass/core/_nav-tree.scss: "b696b2c5fd91dd5180010c59b38e5242c3b7a7258e889fc3c1ca16c2a53310c2"
240
- _sass/core/_navbar.scss: "7f3cdfafbac57a7ed40904e2244608852acae4fc384d0b33d61d72d30a5af9a6"
244
+ _sass/core/_navbar.scss: "52f447c560da18954932675290b2d39360a9c5be6f9fae8c0d3b62ef2ac11b28"
241
245
  _sass/core/_obsidian.scss: "557582682f3b37f6cbb3bac36ef2a90390d71604ef172262b5742d0c1aeba55b"
242
246
  _sass/core/_offcanvas-panels.scss: "f4c9e1046923ce036108424c7a9eeae92a54a4e95b31274283b6abf170fc846c"
243
247
  _sass/core/_sidebar-categories.scss: "7d75034b075f78dc3c604ccd190e25f98989a8162339ad9e837df82d57870eec"
244
- _sass/core/_sidebar-extras.scss: "24c7987e5c2ececfe20125eec43e62aa15f10a06af5df616d32d4009032a0415"
248
+ _sass/core/_sidebar-extras.scss: "346c757420504280a51cdf1f18577b8e29c7697bac7c1b8fe1edce67619a77f3"
245
249
  _sass/core/_syntax.scss: "f8612542c7adfb0bbc3e74920478a906825b429c1f46b7797b116b0d871a09be"
246
250
  _sass/core/_theme.scss: "343f8ff86fffcf87b8865325748aae48e7c9f70c6462f7e40063631593c3fabd"
247
251
  _sass/core/_toc.scss: "6193edabaf384f520827ab1175a8db1f8afff8346b24290d1eb2c5aa982589c6"
248
252
  _sass/core/_variables.scss: "d51e2890ed7feed30c73a8915500cb39b6bc4a63863731220518e7b73ab3ba55"
249
- _sass/core/code-copy.scss: "4ce91892327c6d5e8574e8f3f230f9886194dd5e712a7ec5816e8afed09f8ba5"
253
+ _sass/core/code-copy.scss: "23c2298598e589c5f065eb13435fda8326edf739e716198fc33b8523134a8683"
250
254
  _sass/custom.scss: "32ad90b7934dbfd9a865e0fab37acdf48ffd496c3b9af220e38e47d413ce6395"
251
255
  _sass/layouts/_global-chrome.scss: "d181cc70973d5623f4c92e9543e05d3217efe40321a63e765604a17df09debc5"
252
256
  _sass/layouts/_landing.scss: "0364dd6673b36fe9c9500cc9b71162114312c35a4289af8f9c2a6f7cfcfc9cc3"
253
- _sass/layouts/_navbar-extras.scss: "fce077d514c162d50c2dbeedafe0a452f521c5dc4cb5d9a032b9b9f947bc47bd"
257
+ _sass/layouts/_navbar-extras.scss: "28349a7245838011e2632f10bac62a3645c824997a8c660e3c4fcc0c63fa8687"
254
258
  _sass/layouts/_section.scss: "34c6b7cb677c5e09504ad8ee8bfd8b77579e9b39654cc498bfd090885d349c7a"
255
259
  _sass/notebooks.scss: "7e0d3568b8a56d84adcccdc6ad193c9b9507024c4c1660501556c94f614aec6a"
256
260
  _sass/theme/_background-mixins.scss: "cb5d97eb77ec88cf510926416f2c68895daa26936a4ba1ce4ea87d4c72e8c694"
@@ -272,57 +276,63 @@ file_checksums:
272
276
  _sass/utilities/_layout.scss: "3f12b385c2b14c603e7a4e055bee862c9635c2c16f40bca0d709851a0dc03efb"
273
277
  _sass/utilities/_motion.scss: "21441bdb990d961acbe2101ee361fc6b7338ffd815a1c0f0a84bf516d74440fe"
274
278
  assets/css/custom.css: "5b74a5e7282f09e17bb8105c144bcfd779efd29b4438f4eeb52ce7126a09d55f"
275
- assets/css/main.scss: "4d5eb711ac20d2557f4c812256c37ec71ca051f5f77ac15dbc6d058458dd469e"
279
+ assets/css/extension-points-demo.css: "ec3762db165670a0d028a24474fdd646214b3b5e4e8d3b9ac6a319f63d20fc1e"
280
+ assets/css/main.scss: "19caaffa9b960d9ddc501c7bde1eb23cb476a4660f98167e9bc7cb0774c7d6db"
276
281
  assets/css/stats.css: "3ac66f83fd3322a2fe98dbd5bc2d3ddc9a72071040699070478b90b12ac201c0"
277
282
  assets/css/theme-npm-entry.scss: "efb7b2ba4f419ad37d7a0b9cc93452d5ae9edc554e5bd03b9f2efb447c767079"
278
283
  assets/css/vendor/.gitkeep: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
279
- assets/js/ai-chat.js: "7829c89bdb05111de894caf4aaaac846f68b7b3d34c9811b9d43b3162eb6b57c"
284
+ assets/js/ai-chat.js: "7521e4ec5a0db443a7ab1431878272aa594026ddecccf22e9c9d3db15464c593"
280
285
  assets/js/author-profile.js: "859502082032cb21a0ac9d972e69907fd5db9f5aaccca0a30f9b5a4c9e573262"
281
- assets/js/auto-hide-nav.js: "1d7efe2f342566c6ce8fd14b3ca10f98478bfdbbb61ecffa1a87a8532681303e"
286
+ assets/js/auto-hide-nav.js: "d63190049f90b206614a111ec664f3cd2f1c5698c0948f34c2173e28d15151bf"
282
287
  assets/js/back-to-top.js: "1d9b300881e4e80b3106e80c01804b6c34fbe3e89589fd399868431f65f7e5e2"
283
288
  assets/js/background-customizer.js: "eaed475eba55a8832ac41515260507bb7b6a202914b0f032117c13cb467ada7f"
284
289
  assets/js/cheetsheet.js: "79b33c7f404ac25b445b36da3bb5afd528389858ea811ac8d59d10007db1d5e6"
285
- assets/js/code-copy.js: "6f0ec270f41ed4f1bae74110c1db16ef3fb4a60e667bec4ab8f48946ec63f9e3"
290
+ assets/js/code-copy.js: "1fe5d4f3199df1b2f9f493e83b84920292028b8810adc1ab46fa0e69eaccc4aa"
286
291
  assets/js/config-utility.js: "a69f5dfcdf72464b0303ce3532a96a32b52825e903fd8fb7baab8cd2c8e5f319"
287
292
  assets/js/docs.min.js: "11a7ba4860a3e7688dc4b65aded12825219512d5baafa532fea7986909be4725"
293
+ assets/js/extension-points-demo.js: "e86712b6157d47c4e8760799fe896ea3b2f560bf5cd108745c2475a29b819edc"
294
+ assets/js/fleet-feedback-capture.js: "f51b99aea37b9a41b00bfa9acc071b4e871999359e82d1e4b358af0eef743892"
295
+ assets/js/fleet-feedback.js: "61b5aa0a49c6465fbab1f1f34e3ac1f0a3d627e418e554bf2ea1366b92fd124a"
288
296
  assets/js/halfmoon.js: "472650069d16004a9635edcefa1e60e0771e20ec5de9464b7bcf5220d20604d1"
289
- assets/js/modules/navigation/config.js: "fe81ac7ceabc19db7326e058acc520ab24a690d4f0bba875d1adc90729832840"
297
+ assets/js/mermaid-diagrams.js: "c04d934109af0a4653ad30cb1d22913cea982e430cdf384f9f692b296352cd23"
298
+ assets/js/modules/navigation/config.js: "226f341b4d0c7ef2b6a4eb98f5ab1ba9d626a9a24a9c66d889f1b3da3e0ad9f5"
290
299
  assets/js/modules/navigation/focus.js: "cd73b2bf9d6701a35f075a6304ebf92173c4b89eb021ce8df594e27e173528ca"
291
300
  assets/js/modules/navigation/gestures.js: "9fded02fe6d3ce429793e5b10e9a59317c5d9bccf81076d88718ae2eb07716ae"
292
301
  assets/js/modules/navigation/index.js: "a0d9f81341266f5007d2a6530233f56363f262fe9c29aad3ed6cb3b72bd0c469"
293
302
  assets/js/modules/navigation/keyboard.js: "25fb5659e7717c8d3425ea3c6a79fe3d6893677a78976c1fdd6c773cd3a26887"
294
303
  assets/js/modules/navigation/navbar.js: "f80320d273526a8352b963f5a6c18c3da99368aaac3cc653e59fc52db2b40bb8"
295
- assets/js/modules/navigation/scroll-spy.js: "711baeee00c03f16fa419ebd68b5014a5278c3d491aeadc190f1ed04a8c800d9"
304
+ assets/js/modules/navigation/scroll-spy.js: "e835a3a47b03df2593e0325f7b8c442d07980d42cd8b4a5034ec69356a6c17db"
296
305
  assets/js/modules/navigation/sidebar-state.js: "d9f1a8e7bee3e3ab00e9658e2f0c9ab51f0f15ecb68129b1650120983e5c6d62"
297
306
  assets/js/modules/navigation/sidebar-visibility.js: "e7e4396181013bd2c3324e04b4eeb48f3d5ba743bb7a8e7db9505bed0003fb22"
298
307
  assets/js/modules/navigation/smooth-scroll.js: "3e1b11718ebe4dbe78386140a3afee1d66d9326b72f156472ea41daea35a349c"
299
308
  assets/js/modules/navigation/toc-visibility.js: "b04dc5499c3800114b3ce511cdb269c5e8628b7915d62f4415366b68e2d7f2f0"
300
- assets/js/modules/theme/appearance.js: "7ce4560deb8eab5bf831ea53db72bfa7d00c4a5f8c9eacf6eed9e778eb8e5822"
309
+ assets/js/modules/theme/appearance.js: "0961a8989a2d4077f5fbc710b4f46dc84ee28d23d6920460a25b3683c0a76204"
301
310
  assets/js/myScript.js: "1f4605e35b3db425beb6bbfd92613bd770d167fab4296b1e8cb2a74415a864bb"
302
311
  assets/js/nanobar-init.js: "8221641c6ec9e29ba46cc434d667e4d3510ee6efb9bed08312f4c173efd39713"
303
312
  assets/js/nanobar.min.js: "0ea600560d8c3b31d51228bfa17430af7bebd99db3f07dfbeeb667c92327cac7"
304
313
  assets/js/nav-editor.js: "4baa58537bdd0685341f20b4b0abbc22b313bf9ddc74c3b9e01fc8bc0e3585da"
305
314
  assets/js/navigation.js: "3442bcd0ebd2b11dc066ffd8faabc30cc4c5541089f06000fe91c95018939b50"
306
315
  assets/js/obsidian-graph.js: "94847c3e50c760478c8762913bfbd85e73a229ef33aaaab68b0361c3ea239408"
307
- assets/js/obsidian-local-graph.js: "2a1bc1397c7488416d726fec79f44f049ba1d066f15488f00ec46d585f6cea28"
308
- assets/js/obsidian-wiki-links.js: "6af3e8b8a464a59c4123ba8b81c3b93d036b9444bc83b23d522e83c295c756ff"
309
- assets/js/page-feedback.js: "022d9208d139d9bc57675f148a77e6c60a09a6c270272645beab2d29482a3e14"
316
+ assets/js/obsidian-local-graph.js: "8b70d8b2e0f85056451e16ef758d94cde3b245013f3792a53f4099dab9aa1a58"
317
+ assets/js/obsidian-wiki-links.js: "fb3f7d142008110b95dc234ff910041e99618744345f000e2a03280319a36dc1"
318
+ assets/js/page-feedback.js: "98fbed1134f3b2642d45e1ea27e1e4032ea84ca76ecc0542c6cc3314636f6ee4"
310
319
  assets/js/page-views.js: "27961f139f2b6656251ec3a1745beade1f96d2f36718f78cc533beb520919cb6"
311
320
  assets/js/palette-generator.js: "e8056a72ccbe5107112011fedc78d41335a2c4a6143c2d01fa2f21321817d9e2"
312
321
  assets/js/particles-source.js: "372df50c0e7df97ecbb467efa1a2d4643af67d8b56461538b1eb431a8979d720"
313
322
  assets/js/particles.js: "48234a606a6dbbe9420112aebaf78a78f935bb85e5d258f2904f64c57a54d0ae"
314
323
  assets/js/posts-pagination.js: "ed4b98bd1c958766ce604175bbef0681f7bc70d6b9bb306907f2ac676baf36f8"
315
324
  assets/js/recipe-scaler.js: "b05aa0cd0fafeadbf4454c4cacf1463f994e263a1f4a79a1d177f35a560a1e6e"
316
- assets/js/search-modal.js: "a179888162974435c4fa30300be575a1725cb8b27abdf345973a2bbb62558a50"
317
- assets/js/setup-wizard.js: "a54088ea7fcf7e5236638edbff215089ca59fa60e3a19128fb4fe7dd46b99581"
325
+ assets/js/search-modal.js: "f94efe1fde116d2cfd163d7eb5882b43405f83bfd3f605af28c7cb786460d08a"
326
+ assets/js/setup-wizard.js: "0ef2dcce4d93e753326999c7360dedda7b7d5b05cec2a52350b0110d0e583d0a"
318
327
  assets/js/share-actions.js: "810a326d8aa33633854364d91caddfff1c769eaa7d437a746f96a752c2e2fdae"
319
328
  assets/js/side-bar-folders.js: "133606c23a03b9370308811e0a39187f4dd43b487628f8d875ac631afa28598a"
329
+ assets/js/site-builder.js: "d133bc799bf84094f748f99f44b7ed166c4095d69d6cd28dd98b9fc3cc435ada"
320
330
  assets/js/skin-editor.js: "71823df456c5dde7be9c3a7a48fba0ba2657384398dadedc92edd763be486c85"
321
331
  assets/js/stats.js: "afb4e876bf9b429847bd925316cb7240f6a1fd2fb916ec04c390f841b97d94cb"
322
332
  assets/js/table-copy.js: "12d5e3759b4ec3535c15ebaa905a5933ab794d8d6ef5e6ae4eb3926c60508324"
323
333
  assets/js/theme-customizer.js: "5de2e5662c77f441a37aac3dbab361f0fad679aca7b427927b9502604169fcd9"
324
334
  assets/js/theme-preview.js: "4287d68dea13e3838474a7eebc5cfc0de70b137728ecaee1b40a44d11075faa4"
325
- assets/js/ui-enhancements.js: "3bd08a3f798ccf6cbe774a6ab1ebc055782abe121efce6a096b9acc32c963527"
335
+ assets/js/ui-enhancements.js: "26c54d95726401b6703f3579e6aeb8104a9dbb61c066987fa0f391769a18776f"
326
336
  assets/js/ui-helpers.js: "4ad76491b80fae67309ad917d38b2064433e7008094ed8739215ef77f133b0bd"
327
337
  assets/images/authors/bamr87.png: "1d092f150912fae8338634e9d57eb8a1310f111315051b662620828ed59d2a4e"
328
338
  assets/images/authors/cassandra.svg: "d46ed03eadb939b149dd91a3262111a246c25fce0b879d9a60d880ea7bd446a6"
data/_data/ui-text.yml CHANGED
@@ -26,6 +26,7 @@ en: &DEFAULT_EN
26
26
  breadcrumb_home_label : "Home"
27
27
  breadcrumb_separator : "/"
28
28
  menu_label : "Toggle menu"
29
+ nav_menu_toggle_label : "Menu"
29
30
  search_label : "Toggle search"
30
31
  toc_label : "On this page"
31
32
  ext_link_label : "Direct link"
@@ -119,6 +120,24 @@ en: &DEFAULT_EN
119
120
  lang_untranslated_note : "Marked languages are not yet translated — those links open the original."
120
121
  machine_translation_notice : "This page was translated automatically from the English original."
121
122
  machine_translation_view_source : "View the original"
123
+ # Mermaid diagram figures (ZER0-013) — toolbar + states built by
124
+ # assets/js/mermaid-diagrams.js; read through components/mermaid.html, which
125
+ # carries a literal `| default:` for each (see the language-menu note above).
126
+ diagram_label : "Diagram"
127
+ diagram_tools_label : "Diagram tools"
128
+ diagram_zoom_in : "Zoom in"
129
+ diagram_zoom_out : "Zoom out"
130
+ diagram_zoom_reset : "Reset zoom"
131
+ diagram_fullscreen : "View fullscreen"
132
+ diagram_fullscreen_close : "Close fullscreen view"
133
+ diagram_copy_source : "Copy diagram source"
134
+ diagram_copied : "Copied"
135
+ diagram_copy_failed : "Copy failed"
136
+ diagram_download : "Download as SVG"
137
+ diagram_error_title : "This diagram could not be rendered"
138
+ diagram_error_hint : "Check the syntax in the Mermaid Live Editor. The source is shown below so nothing is lost."
139
+ diagram_source_label : "Diagram source"
140
+ diagram_loading : "Loading diagram"
122
141
 
123
142
  en-US:
124
143
  <<: *DEFAULT_EN
data/_includes/README.md CHANGED
@@ -9,7 +9,7 @@ This directory has been reorganized for better maintainability and clarity. File
9
9
  Essential layout components that form the foundation of the site:
10
10
 
11
11
  - `head.html` - HTML document head with meta tags, scripts, and styles
12
- - `favicon.html` - Favicon / browser-identity tags (icon links, apple-touch, manifest, theme-color) driven by the optional `favicon:` config block
12
+ - `favicon.html` - Favicon / browser-identity tags (icon links, apple-touch, manifest, scheme-aware theme-color) driven by the optional `favicon:` config block; the theme-color tags are emitted even with no config
13
13
  - `header.html` - Main site header with navigation
14
14
  - `footer.html` - Site footer (if exists)
15
15
  - `branding.html` - Site branding and title display
@@ -55,9 +55,11 @@ Reusable UI components and widgets:
55
55
  - `svg.html` - SVG icon definitions
56
56
  - `js-cdn.html` - CDN JavaScript libraries
57
57
  - `preview-image.html` - Consistent preview image rendering with lazy loading
58
+ - `background-image.html` - Cover art painted as a CSS background, announced correctly: `role="img"` + `aria-label` for a real image, `aria-hidden` when decorative. Sibling to `preview-image.html` (which covers the `<img>`-in-flow case)
58
59
  - `post-card.html` - Reusable post card component for listings
59
60
  - `page-views.html` - Inline "N views" badge for a page (hidden until a count is known)
60
61
  - `page-views-init.html` - Page-view counter bootstrap: injects `site.page_views` config and loads `assets/js/page-views.js` (included once from `core/head.html`)
62
+ - `mermaid.html` - Mermaid loader for pages with `mermaid: true` (included from `core/head.html`): injects `site.mermaid` config + translated toolbar labels and loads `assets/js/mermaid-diagrams.js` (deferred), which injects the vendored bundle only when a diagram is present and nears the viewport. Every ```` ```mermaid ```` fence becomes a figure with a zoom / fullscreen / copy / download toolbar, an `accTitle` caption, token-derived colours, and an error card that keeps the source
61
63
  - `data-card.html` - One generic card rendered from a plain data hash (title/url/icon/badge/meta/buttons schema in its header)
62
64
  - `card-grid.html` - Responsive grid of `data-card`s from any data array — hub dashboards, fleet registries, service grids
63
65
  - `bookshelf.html` - Grid of every book in the `books` collection (home-page library)
@@ -101,6 +103,14 @@ Documentation and reference materials:
101
103
 
102
104
  - `bootstrap-docs.html` - Bootstrap documentation (moved from style.html)
103
105
 
106
+ ### `setup/` — the Site Builder
107
+
108
+ The guided, Claude-assisted setup wizard rendered at `/setup/` and on the `welcome` layout:
109
+
110
+ - `wizard.html` - Nine-step Site Builder (connect → prerequisites → identity → URLs → structure → appearance → voice → integrations → build) with a stepper, the step panes, a sticky side column and the JSON blocks both scripts read (`#siteBuilderData`, `#siteBuilderConfig`). Drives `assets/js/setup-wizard.js` (form, generators, drafts) and `assets/js/site-builder.js` (Claude session)
111
+ - `prereq-checklist.html` - Prerequisites step: one row per tool from `_data/site_builder.yml`, per-OS install + verify commands, manual "done" toggles, live check state from the dev proxy
112
+ - `claude-session.html` - The embedded Claude panel: connection badge, transcript, per-step suggested prompts, composer. Proxy-only; renders a connect prompt until the dev proxy answers
113
+
104
114
  ### `custom/` — consumer extension hooks
105
115
 
106
116
  Empty stubs the theme includes at fixed points in the page chrome. A consumer site creates a file at the same path to inject markup there — **no fork of `root.html`, `head.html`, or `footer.html` needed**, so theme updates keep flowing without merge drift:
@@ -1,5 +1,5 @@
1
1
  {% comment %} Feature: ZER0-006 {% endcomment %}
2
- <!--
2
+ {% comment %}
3
3
  ===================================================================
4
4
  POSTHOG ANALYTICS - Privacy-First Web Analytics Integration
5
5
  ===================================================================
@@ -35,7 +35,7 @@
35
35
  - Scroll depth analysis and reading engagement
36
36
  - Jekyll-specific interactions (TOC, sidebar, code blocks)
37
37
  ===================================================================
38
- -->
38
+ {% endcomment %}
39
39
 
40
40
  {% comment %}
41
41
  PostHog Analytics Integration for Zer0-Mistakes Jekyll Theme
@@ -100,8 +100,24 @@ Privacy: Respects Do Not Track and provides opt-out mechanisms
100
100
  (window.posthogConfig.respectGpc && window.navigator.globalPrivacyControl === true)) {
101
101
  console.log('PostHog: respecting browser privacy signal (DNT/GPC)');
102
102
  } else {
103
+ {% comment %} Deferred loading: the stub below is installed immediately, so
104
+ posthog.capture()/opt_in_capturing() calls (e.g. from the cookie
105
+ banner) queue as before, but the ~130 KB library (array.js, then
106
+ config.js/surveys.js) is only fetched after the window `load` event
107
+ and the next idle period. It used to be inserted while the page was
108
+ still parsing and competed with first paint on mobile. The snippet is
109
+ PostHog's official one; the only change is that its insertBefore()
110
+ runs through __phInject. {% endcomment %}
111
+ window.__phInject = function (insert) {
112
+ var run = function () {
113
+ if (window.requestIdleCallback) window.requestIdleCallback(insert, { timeout: 3000 });
114
+ else setTimeout(insert, 1);
115
+ };
116
+ if (document.readyState === 'complete') run();
117
+ else window.addEventListener('load', run, { once: true });
118
+ };
103
119
  {% comment %} PostHog Loading Script {% endcomment %}
104
- !function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init Rr Mr fi Or Ar ci Tr Cr capture Mi calculateEventProperties Lr register register_once register_for_session unregister unregister_for_session Hr getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty Ur jr createPersonProfile zr kr Br opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Dr debug M Nr getPageViewId captureTraceFeedback captureTraceMetric $r".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
120
+ !function(t,e){var o,n,p,r;e.__SV||(window.posthog && window.posthog.__loaded)||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",window.__phInject(function(){(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r)});var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init Rr Mr fi Or Ar ci Tr Cr capture Mi calculateEventProperties Lr register register_once register_for_session unregister unregister_for_session Hr getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSurveysLoaded onSessionId getSurveys getActiveMatchingSurveys renderSurvey displaySurvey canRenderSurvey canRenderSurveyAsync identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty Ur jr createPersonProfile zr kr Br opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing get_explicit_consent_status is_capturing clear_opt_in_out_capturing Dr debug M Nr getPageViewId captureTraceFeedback captureTraceMetric $r".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
105
121
 
106
122
  {% comment %} Initialize PostHog with configuration {% endcomment %}
107
123
  posthog.init(window.posthogConfig.apiKey, {
@@ -129,14 +145,17 @@ Privacy: Respects Do Not Track and provides opt-out mechanisms
129
145
  posthog.register({ '$geoip_disable': true });
130
146
  }
131
147
 
132
- {% comment %} Track Jekyll-specific page properties {% endcomment %}
148
+ {% comment %} Track Jekyll-specific page properties. Free-text values go
149
+ through `jsonify`: they used to be pasted between single quotes, so
150
+ an apostrophe in a title or description ("you're") was a
151
+ SyntaxError that stopped PostHog loading at all. {% endcomment %}
133
152
  posthog.register({
134
- 'site_title': '{{ site.title }}',
135
- 'site_description': '{{ site.description | strip_newlines | strip }}',
153
+ 'site_title': {{ site.title | jsonify }},
154
+ 'site_description': {{ site.description | strip_newlines | strip | jsonify }},
136
155
  'jekyll_version': '{{ jekyll.version }}',
137
- 'theme': '{{ site.remote_theme | default: site.theme }}',
138
- 'page_layout': '{{ page.layout }}',
139
- 'page_collection': '{{ page.collection }}',
156
+ 'theme': {{ site.remote_theme | default: site.theme | jsonify }},
157
+ 'page_layout': {{ page.layout | jsonify }},
158
+ 'page_collection': {{ page.collection | jsonify }},
140
159
  {% if page.categories %}
141
160
  'page_categories': {{ page.categories | jsonify }},
142
161
  {% endif %}
@@ -144,8 +163,8 @@ Privacy: Respects Do Not Track and provides opt-out mechanisms
144
163
  'page_tags': {{ page.tags | jsonify }},
145
164
  {% endif %}
146
165
  'page_url': window.location.pathname,
147
- 'page_title': '{{ page.title | strip_newlines | strip }}',
148
- 'page_author': '{{ page.author | default: site.author.name }}',
166
+ 'page_title': {{ page.title | strip_newlines | strip | jsonify }},
167
+ 'page_author': {{ page.author | default: site.author.name | jsonify }},
149
168
  {% if page.date %}
150
169
  'page_date': '{{ page.date | date: "%Y-%m-%d" }}',
151
170
  {% endif %}
@@ -79,7 +79,7 @@ If a component needs a token that doesn't exist yet, propose it in `_sass/tokens
79
79
  | `callout.html` | Highlighted info/note/warning/tip block, à la Bootstrap docs. |
80
80
  | `cta-button.html` | Themed call-to-action button with icon support. |
81
81
  | `feature-card.html` | Renders a single entry from `_data/features.yml`. |
82
- | `preview-image.html` | Lazy-loaded responsive image with assets-prefix handling. |
82
+ | `preview-image.html` | Responsive image with assets-prefix handling; lazy by default, optional `loading`/`fetchpriority`/`decoding` (pass `loading="eager" fetchpriority="high"` for an above-the-fold hero). |
83
83
  | `post-type-badge.html` | Visual badge for post types (featured, opinion, …). |
84
84
 
85
85
  ### Site chrome (rendered by layouts, not authors)
@@ -34,9 +34,9 @@
34
34
 
35
35
  {% if _cfg_page or _theme_page or _nav_page or _env_page %}
36
36
  <div class="mb-3">
37
- <h6 class="text-body-secondary small text-uppercase fw-semibold mb-2">
37
+ <h3 class="h6 text-body-secondary small text-uppercase fw-semibold mb-2">
38
38
  <i class="bi bi-speedometer2 me-1" aria-hidden="true"></i>Admin
39
- </h6>
39
+ </h3>
40
40
  <div class="list-group list-group-flush small">
41
41
  {% if _cfg_page %}
42
42
  <a href="{{ '/about/config/' | relative_url }}" class="list-group-item list-group-item-action d-flex align-items-center px-0">