@kamod-ch/preactpress 1.0.0 → 1.0.2

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 (521) hide show
  1. package/README.md +87 -49
  2. package/bin/preactpress.mjs +5 -5
  3. package/dist/client/app.d.ts +1 -1
  4. package/dist/client/app.d.ts.map +1 -1
  5. package/dist/client/app.js +34 -38
  6. package/dist/client/app.js.map +1 -1
  7. package/dist/client/entry-client.js +11 -12
  8. package/dist/client/entry-client.js.map +1 -1
  9. package/dist/client/entry-ssr.d.ts +2 -2
  10. package/dist/client/entry-ssr.d.ts.map +1 -1
  11. package/dist/client/entry-ssr.js +16 -16
  12. package/dist/client/entry-ssr.js.map +1 -1
  13. package/dist/client/index.d.ts +3 -2
  14. package/dist/client/index.d.ts.map +1 -1
  15. package/dist/client/index.js +2 -1
  16. package/dist/client/index.js.map +1 -1
  17. package/dist/client/loadPage.d.ts +1 -1
  18. package/dist/client/loadPage.d.ts.map +1 -1
  19. package/dist/client/loadPage.js +12 -12
  20. package/dist/client/loadPage.js.map +1 -1
  21. package/dist/client/prefetchLinks.js +4 -4
  22. package/dist/client/prefetchLinks.js.map +1 -1
  23. package/dist/client/theme-default/AlgoliaSearch.d.ts +3 -3
  24. package/dist/client/theme-default/AlgoliaSearch.d.ts.map +1 -1
  25. package/dist/client/theme-default/AlgoliaSearch.js +15 -15
  26. package/dist/client/theme-default/AlgoliaSearch.js.map +1 -1
  27. package/dist/client/theme-default/Features.d.ts +2 -2
  28. package/dist/client/theme-default/Features.d.ts.map +1 -1
  29. package/dist/client/theme-default/Features.js +10 -8
  30. package/dist/client/theme-default/Features.js.map +1 -1
  31. package/dist/client/theme-default/Hero.d.ts +2 -2
  32. package/dist/client/theme-default/Hero.d.ts.map +1 -1
  33. package/dist/client/theme-default/Hero.js +9 -7
  34. package/dist/client/theme-default/Hero.js.map +1 -1
  35. package/dist/client/theme-default/Layout.d.ts +3 -3
  36. package/dist/client/theme-default/Layout.d.ts.map +1 -1
  37. package/dist/client/theme-default/Layout.js +56 -99
  38. package/dist/client/theme-default/Layout.js.map +1 -1
  39. package/dist/client/theme-default/Logo.d.ts +2 -2
  40. package/dist/client/theme-default/Logo.d.ts.map +1 -1
  41. package/dist/client/theme-default/Logo.js +8 -8
  42. package/dist/client/theme-default/Logo.js.map +1 -1
  43. package/dist/client/theme-default/NavLinks.d.ts +2 -2
  44. package/dist/client/theme-default/NavLinks.d.ts.map +1 -1
  45. package/dist/client/theme-default/NavLinks.js +3 -3
  46. package/dist/client/theme-default/NavLinks.js.map +1 -1
  47. package/dist/client/theme-default/SidebarNav.d.ts +2 -2
  48. package/dist/client/theme-default/SidebarNav.d.ts.map +1 -1
  49. package/dist/client/theme-default/SidebarNav.js +3 -3
  50. package/dist/client/theme-default/SidebarNav.js.map +1 -1
  51. package/dist/client/theme-default/SocialLinks.d.ts +2 -2
  52. package/dist/client/theme-default/SocialLinks.d.ts.map +1 -1
  53. package/dist/client/theme-default/SocialLinks.js +1 -1
  54. package/dist/client/theme-default/SocialLinks.js.map +1 -1
  55. package/dist/client/theme-default/ThemeToggle.d.ts +2 -3
  56. package/dist/client/theme-default/ThemeToggle.d.ts.map +1 -1
  57. package/dist/client/theme-default/ThemeToggle.js +2 -30
  58. package/dist/client/theme-default/ThemeToggle.js.map +1 -1
  59. package/dist/client/theme-default/index.d.ts +1 -1
  60. package/dist/client/theme-default/index.d.ts.map +1 -1
  61. package/dist/client/theme-default/index.js +1 -1
  62. package/dist/client/theme-default/index.js.map +1 -1
  63. package/dist/client/theme-utils.d.ts +24 -0
  64. package/dist/client/theme-utils.d.ts.map +1 -0
  65. package/dist/client/theme-utils.js +107 -0
  66. package/dist/client/theme-utils.js.map +1 -0
  67. package/dist/client/types.d.ts +5 -5
  68. package/dist/client/types.d.ts.map +1 -1
  69. package/dist/client/usePageHead.d.ts +2 -2
  70. package/dist/client/usePageHead.d.ts.map +1 -1
  71. package/dist/client/usePageHead.js +61 -56
  72. package/dist/client/usePageHead.js.map +1 -1
  73. package/dist/client/useSiteSearch.d.ts.map +1 -1
  74. package/dist/client/useSiteSearch.js +8 -8
  75. package/dist/client/useSiteSearch.js.map +1 -1
  76. package/dist/node/build.d.ts +1 -1
  77. package/dist/node/build.d.ts.map +1 -1
  78. package/dist/node/build.js +105 -96
  79. package/dist/node/build.js.map +1 -1
  80. package/dist/node/buildCache.d.ts.map +1 -1
  81. package/dist/node/buildCache.js +7 -7
  82. package/dist/node/buildCache.js.map +1 -1
  83. package/dist/node/check.d.ts +1 -1
  84. package/dist/node/check.d.ts.map +1 -1
  85. package/dist/node/check.js +52 -52
  86. package/dist/node/check.js.map +1 -1
  87. package/dist/node/cli.js +61 -64
  88. package/dist/node/cli.js.map +1 -1
  89. package/dist/node/config-helpers.d.ts +4 -4
  90. package/dist/node/config-helpers.d.ts.map +1 -1
  91. package/dist/node/config-helpers.js +1 -1
  92. package/dist/node/config-helpers.js.map +1 -1
  93. package/dist/node/config.d.ts +4 -4
  94. package/dist/node/config.d.ts.map +1 -1
  95. package/dist/node/config.js +37 -40
  96. package/dist/node/config.js.map +1 -1
  97. package/dist/node/content.d.ts +4 -4
  98. package/dist/node/content.d.ts.map +1 -1
  99. package/dist/node/content.js +28 -28
  100. package/dist/node/content.js.map +1 -1
  101. package/dist/node/createContentLoader.d.ts +1 -1
  102. package/dist/node/createContentLoader.d.ts.map +1 -1
  103. package/dist/node/createContentLoader.js +3 -3
  104. package/dist/node/createContentLoader.js.map +1 -1
  105. package/dist/node/devCss.d.ts +1 -1
  106. package/dist/node/devCss.d.ts.map +1 -1
  107. package/dist/node/devCss.js +5 -6
  108. package/dist/node/devCss.js.map +1 -1
  109. package/dist/node/devSsr.d.ts +3 -3
  110. package/dist/node/devSsr.d.ts.map +1 -1
  111. package/dist/node/devSsr.js +32 -32
  112. package/dist/node/devSsr.js.map +1 -1
  113. package/dist/node/dynamicRoutes.d.ts +2 -2
  114. package/dist/node/dynamicRoutes.d.ts.map +1 -1
  115. package/dist/node/dynamicRoutes.js +24 -24
  116. package/dist/node/dynamicRoutes.js.map +1 -1
  117. package/dist/node/favicon.d.ts +2 -2
  118. package/dist/node/favicon.d.ts.map +1 -1
  119. package/dist/node/favicon.js +26 -24
  120. package/dist/node/favicon.js.map +1 -1
  121. package/dist/node/feed.d.ts +2 -2
  122. package/dist/node/feed.d.ts.map +1 -1
  123. package/dist/node/feed.js +18 -16
  124. package/dist/node/feed.js.map +1 -1
  125. package/dist/node/hooks.d.ts +2 -2
  126. package/dist/node/hooks.d.ts.map +1 -1
  127. package/dist/node/hooks.js +1 -1
  128. package/dist/node/hooks.js.map +1 -1
  129. package/dist/node/html.d.ts +8 -8
  130. package/dist/node/html.d.ts.map +1 -1
  131. package/dist/node/html.js +75 -64
  132. package/dist/node/html.js.map +1 -1
  133. package/dist/node/index.d.ts +11 -11
  134. package/dist/node/index.d.ts.map +1 -1
  135. package/dist/node/index.js +8 -8
  136. package/dist/node/index.js.map +1 -1
  137. package/dist/node/init.d.ts +2 -0
  138. package/dist/node/init.d.ts.map +1 -1
  139. package/dist/node/init.js +59 -27
  140. package/dist/node/init.js.map +1 -1
  141. package/dist/node/lastUpdated.d.ts +2 -2
  142. package/dist/node/lastUpdated.d.ts.map +1 -1
  143. package/dist/node/lastUpdated.js +7 -4
  144. package/dist/node/lastUpdated.js.map +1 -1
  145. package/dist/node/loadSiteModule.js +2 -2
  146. package/dist/node/loadSiteModule.js.map +1 -1
  147. package/dist/node/markdown.d.ts +2 -2
  148. package/dist/node/markdown.d.ts.map +1 -1
  149. package/dist/node/markdown.js +110 -110
  150. package/dist/node/markdown.js.map +1 -1
  151. package/dist/node/markdownHeadings.d.ts +1 -1
  152. package/dist/node/markdownHeadings.d.ts.map +1 -1
  153. package/dist/node/markdownHeadings.js +11 -11
  154. package/dist/node/markdownHeadings.js.map +1 -1
  155. package/dist/node/markdownInclude.d.ts.map +1 -1
  156. package/dist/node/markdownInclude.js +11 -11
  157. package/dist/node/markdownInclude.js.map +1 -1
  158. package/dist/node/markdownSnippets.d.ts.map +1 -1
  159. package/dist/node/markdownSnippets.js +34 -34
  160. package/dist/node/markdownSnippets.js.map +1 -1
  161. package/dist/node/mdx.d.ts +1 -1
  162. package/dist/node/mdx.d.ts.map +1 -1
  163. package/dist/node/mdx.js +4 -4
  164. package/dist/node/mdx.js.map +1 -1
  165. package/dist/node/packageRoot.d.ts.map +1 -1
  166. package/dist/node/packageRoot.js +4 -4
  167. package/dist/node/packageRoot.js.map +1 -1
  168. package/dist/node/pageDataLoaders.d.ts +2 -2
  169. package/dist/node/pageDataLoaders.d.ts.map +1 -1
  170. package/dist/node/pageDataLoaders.js +24 -20
  171. package/dist/node/pageDataLoaders.js.map +1 -1
  172. package/dist/node/paths.d.ts.map +1 -1
  173. package/dist/node/paths.js +4 -4
  174. package/dist/node/paths.js.map +1 -1
  175. package/dist/node/plugin.d.ts +3 -3
  176. package/dist/node/plugin.d.ts.map +1 -1
  177. package/dist/node/plugin.js +66 -66
  178. package/dist/node/plugin.js.map +1 -1
  179. package/dist/node/resolveDeps.js +10 -10
  180. package/dist/node/resolveDeps.js.map +1 -1
  181. package/dist/node/serve.d.ts.map +1 -1
  182. package/dist/node/serve.js +13 -15
  183. package/dist/node/serve.js.map +1 -1
  184. package/dist/node/server.d.ts +3 -3
  185. package/dist/node/server.d.ts.map +1 -1
  186. package/dist/node/server.js +28 -25
  187. package/dist/node/server.js.map +1 -1
  188. package/dist/node/siteConfig.d.ts +12 -12
  189. package/dist/node/siteConfig.d.ts.map +1 -1
  190. package/dist/node/tagIndex.d.ts +5 -5
  191. package/dist/node/tagIndex.d.ts.map +1 -1
  192. package/dist/node/tagIndex.js +10 -10
  193. package/dist/node/tagIndex.js.map +1 -1
  194. package/dist/shared/contentChunk.d.ts.map +1 -1
  195. package/dist/shared/contentChunk.js +6 -6
  196. package/dist/shared/contentChunk.js.map +1 -1
  197. package/dist/shared/contentSchema.d.ts.map +1 -1
  198. package/dist/shared/contentSchema.js +11 -11
  199. package/dist/shared/contentSchema.js.map +1 -1
  200. package/dist/shared/deadLinks.d.ts.map +1 -1
  201. package/dist/shared/deadLinks.js +6 -6
  202. package/dist/shared/deadLinks.js.map +1 -1
  203. package/dist/shared/escapeHtml.js +4 -4
  204. package/dist/shared/escapeHtml.js.map +1 -1
  205. package/dist/shared/index.d.ts +14 -14
  206. package/dist/shared/index.d.ts.map +1 -1
  207. package/dist/shared/index.js +14 -14
  208. package/dist/shared/index.js.map +1 -1
  209. package/dist/shared/locale.d.ts +1 -1
  210. package/dist/shared/locale.d.ts.map +1 -1
  211. package/dist/shared/locale.js +10 -10
  212. package/dist/shared/locale.js.map +1 -1
  213. package/dist/shared/pageChrome.d.ts +4 -4
  214. package/dist/shared/pageChrome.d.ts.map +1 -1
  215. package/dist/shared/pageChrome.js +21 -21
  216. package/dist/shared/pageChrome.js.map +1 -1
  217. package/dist/shared/pageHead.d.ts +1 -1
  218. package/dist/shared/pageHead.d.ts.map +1 -1
  219. package/dist/shared/pageHead.js +4 -4
  220. package/dist/shared/pageHead.js.map +1 -1
  221. package/dist/shared/pageMeta.d.ts +5 -5
  222. package/dist/shared/pageMeta.d.ts.map +1 -1
  223. package/dist/shared/pageMeta.js +15 -17
  224. package/dist/shared/pageMeta.js.map +1 -1
  225. package/dist/shared/rewrites.d.ts +1 -1
  226. package/dist/shared/rewrites.d.ts.map +1 -1
  227. package/dist/shared/rewrites.js +2 -2
  228. package/dist/shared/rewrites.js.map +1 -1
  229. package/dist/shared/route.js +5 -5
  230. package/dist/shared/route.js.map +1 -1
  231. package/dist/shared/search.d.ts +3 -3
  232. package/dist/shared/search.d.ts.map +1 -1
  233. package/dist/shared/search.js +14 -14
  234. package/dist/shared/search.js.map +1 -1
  235. package/dist/shared/sidebar.d.ts +1 -1
  236. package/dist/shared/sidebar.d.ts.map +1 -1
  237. package/dist/shared/sidebar.js +4 -4
  238. package/dist/shared/sidebar.js.map +1 -1
  239. package/dist/shared/slug.d.ts +1 -1
  240. package/dist/shared/slug.d.ts.map +1 -1
  241. package/dist/shared/slug.js +5 -5
  242. package/dist/shared/slug.js.map +1 -1
  243. package/dist/shared/socialIcons.d.ts.map +1 -1
  244. package/dist/shared/socialIcons.js +4 -4
  245. package/dist/shared/socialIcons.js.map +1 -1
  246. package/dist/shared/tags.js +8 -8
  247. package/dist/shared/tags.js.map +1 -1
  248. package/dist/shared/theme.d.ts +1 -1
  249. package/dist/shared/theme.d.ts.map +1 -1
  250. package/dist/shared/theme.js +16 -10
  251. package/dist/shared/theme.js.map +1 -1
  252. package/dist/shared/themeLabels.d.ts +1 -1
  253. package/dist/shared/themeLabels.d.ts.map +1 -1
  254. package/dist/shared/themeLabels.js +26 -26
  255. package/dist/shared/themeLabels.js.map +1 -1
  256. package/dist/shared/url.d.ts.map +1 -1
  257. package/dist/shared/url.js +3 -3
  258. package/dist/shared/url.js.map +1 -1
  259. package/package.json +33 -9
  260. package/src/client/app.tsx +89 -92
  261. package/src/client/entry-client.tsx +17 -19
  262. package/src/client/entry-ssr.tsx +33 -33
  263. package/src/client/index.ts +16 -2
  264. package/src/client/loadPage.ts +37 -38
  265. package/src/client/prefetchLinks.ts +30 -30
  266. package/src/client/theme-default/AlgoliaSearch.tsx +46 -46
  267. package/src/client/theme-default/Features.tsx +27 -21
  268. package/src/client/theme-default/Hero.tsx +22 -18
  269. package/src/client/theme-default/Layout.tsx +189 -244
  270. package/src/client/theme-default/Logo.tsx +30 -40
  271. package/src/client/theme-default/NavLinks.tsx +21 -21
  272. package/src/client/theme-default/SidebarNav.tsx +29 -29
  273. package/src/client/theme-default/SocialLinks.tsx +11 -11
  274. package/src/client/theme-default/ThemeToggle.tsx +2 -78
  275. package/src/client/theme-default/index.ts +1 -1
  276. package/src/client/theme-default/styles.css +30 -21
  277. package/src/client/theme-utils.tsx +184 -0
  278. package/src/client/types.ts +30 -24
  279. package/src/client/usePageHead.ts +128 -128
  280. package/src/client/useSiteSearch.ts +34 -34
  281. package/src/client/virtual.d.ts +76 -76
  282. package/src/shared/contentChunk.ts +6 -6
  283. package/src/shared/contentSchema.ts +52 -49
  284. package/src/shared/deadLinks.ts +16 -16
  285. package/src/shared/escapeHtml.ts +5 -5
  286. package/src/shared/index.ts +21 -25
  287. package/src/shared/locale.ts +46 -46
  288. package/src/shared/pageChrome.ts +123 -123
  289. package/src/shared/pageHead.ts +16 -16
  290. package/src/shared/pageMeta.ts +79 -79
  291. package/src/shared/rewrites.ts +14 -16
  292. package/src/shared/route.ts +7 -7
  293. package/src/shared/search.ts +52 -52
  294. package/src/shared/sidebar.ts +28 -28
  295. package/src/shared/slug.ts +13 -13
  296. package/src/shared/socialIcons.ts +12 -14
  297. package/src/shared/tags.ts +20 -20
  298. package/src/shared/theme.ts +22 -13
  299. package/src/shared/themeLabels.ts +45 -45
  300. package/src/shared/url.ts +6 -10
  301. package/templates/default/.preactpress/config.ts +17 -17
  302. package/templates/default/README.md +16 -16
  303. package/templates/default/guide/first-five-minutes.md +21 -21
  304. package/templates/default/index.html +1 -1
  305. package/templates/default/index.md +9 -9
  306. package/templates/default/package.json +1 -1
  307. package/templates/default/pnpm-lock.yaml +5 -5
  308. package/templates/docs/.preactpress/config.ts +76 -56
  309. package/templates/docs/README.md +6 -6
  310. package/templates/docs/components/BenefitsGrid.tsx +45 -0
  311. package/templates/docs/components/CliBlock.tsx +38 -0
  312. package/templates/docs/components/ComparisonTable.tsx +60 -0
  313. package/templates/docs/components/CopyableCommand.tsx +86 -0
  314. package/templates/docs/components/Counter.tsx +7 -5
  315. package/templates/docs/components/MarketingHero.tsx +63 -0
  316. package/templates/docs/components/MdxDemo.tsx +96 -0
  317. package/templates/docs/components/References.tsx +62 -0
  318. package/templates/docs/components/TemplateGallery.tsx +46 -0
  319. package/templates/docs/components/marketing.css +992 -0
  320. package/templates/docs/examples/algolia-docsearch.md +33 -0
  321. package/templates/docs/examples/content-loader.data.ts +11 -0
  322. package/templates/docs/examples/content-loader.md +29 -0
  323. package/templates/docs/examples/dynamic-routes.md +16 -0
  324. package/templates/docs/examples/static-assets.md +13 -0
  325. package/templates/docs/guide/advanced.md +4 -4
  326. package/templates/docs/guide/commands.md +10 -10
  327. package/templates/docs/guide/configuration.md +43 -43
  328. package/templates/docs/guide/creating-pages.md +60 -39
  329. package/templates/docs/guide/custom-themes.md +9 -9
  330. package/templates/docs/guide/deploy.md +29 -29
  331. package/templates/docs/guide/first-five-minutes.md +22 -22
  332. package/templates/docs/guide/getting-started.md +29 -31
  333. package/templates/docs/guide/markdown-and-mdx.md +1 -1
  334. package/templates/docs/guide/routing.md +40 -40
  335. package/templates/docs/guide/what-is-preactpress.md +18 -18
  336. package/templates/docs/index.html +1 -1
  337. package/templates/docs/index.mdx +25 -0
  338. package/templates/docs/interactive.mdx +1 -1
  339. package/templates/docs/markdown-examples.md +73 -21
  340. package/templates/docs/package.json +1 -1
  341. package/templates/docs/packages/[pkg].md +15 -0
  342. package/templates/docs/packages/[pkg].paths.ts +20 -0
  343. package/templates/docs/parts/include-body.md +1 -0
  344. package/templates/docs/pnpm-lock.yaml +5 -5
  345. package/templates/docs/public/preactpress-example.txt +1 -0
  346. package/templates/docs/snippets/greet.ts +1 -1
  347. package/templates/hono/.preactpress/config.ts +65 -65
  348. package/templates/hono/.preactpress/theme/CodeSnippet.tsx +15 -15
  349. package/templates/hono/.preactpress/theme/FeatureGrid.tsx +7 -7
  350. package/templates/hono/.preactpress/theme/Hero.tsx +13 -13
  351. package/templates/hono/.preactpress/theme/Layout.tsx +122 -164
  352. package/templates/hono/.preactpress/theme/Logo.tsx +6 -6
  353. package/templates/hono/.preactpress/theme/ThemeToggle.tsx +3 -70
  354. package/templates/hono/.preactpress/theme/hono.css +31 -14
  355. package/templates/hono/README.md +17 -15
  356. package/templates/hono/components/Counter.tsx +7 -5
  357. package/templates/hono/de/guide/configuration.md +18 -20
  358. package/templates/hono/de/guide/deploy.md +29 -29
  359. package/templates/hono/de/guide/first-five-minutes.md +21 -21
  360. package/templates/hono/de/guide/getting-started.md +29 -29
  361. package/templates/hono/de/guide/routing.md +26 -25
  362. package/templates/hono/de/guide/seiten-erstellen.md +39 -39
  363. package/templates/hono/de/guide/what-is-preactpress.md +18 -18
  364. package/templates/hono/de/index.mdx +20 -17
  365. package/templates/hono/de/interactive.mdx +1 -1
  366. package/templates/hono/de/markdown-examples.md +6 -6
  367. package/templates/hono/de/parts/include-body.md +1 -0
  368. package/templates/hono/de/snippets/greet.ts +1 -1
  369. package/templates/hono/guide/configuration.md +25 -25
  370. package/templates/hono/guide/creating-pages.md +39 -39
  371. package/templates/hono/guide/deploy.md +29 -29
  372. package/templates/hono/guide/first-five-minutes.md +21 -21
  373. package/templates/hono/guide/getting-started.md +29 -29
  374. package/templates/hono/guide/routing.md +40 -40
  375. package/templates/hono/guide/what-is-preactpress.md +18 -18
  376. package/templates/hono/index.html +1 -1
  377. package/templates/hono/index.mdx +21 -17
  378. package/templates/hono/interactive.mdx +1 -1
  379. package/templates/hono/markdown-examples.md +6 -6
  380. package/templates/hono/package.json +1 -1
  381. package/templates/hono/parts/include-body.md +1 -0
  382. package/templates/hono/pnpm-lock.yaml +5 -5
  383. package/templates/hono/snippets/greet.ts +1 -1
  384. package/templates/magazine/.preactpress/config.ts +19 -19
  385. package/templates/magazine/.preactpress/theme/Layout.tsx +69 -172
  386. package/templates/magazine/.preactpress/theme/TeaserGrid.tsx +14 -14
  387. package/templates/magazine/.preactpress/theme/ThemeToggle.tsx +4 -70
  388. package/templates/magazine/.preactpress/theme/magazine.css +13 -8
  389. package/templates/magazine/README.md +30 -0
  390. package/templates/magazine/article-markets.md +2 -2
  391. package/templates/magazine/article-tech.mdx +10 -10
  392. package/templates/magazine/index.data.ts +9 -9
  393. package/templates/magazine/index.html +5 -1
  394. package/templates/magazine/index.mdx +1 -1
  395. package/templates/magazine/package.json +1 -1
  396. package/templates/magazine/pnpm-lock.yaml +2917 -0
  397. package/templates/docs/about.md +0 -10
  398. package/templates/docs/dist/404.html +0 -29
  399. package/templates/docs/dist/about/index.html +0 -32
  400. package/templates/docs/dist/assets/esm-DzlBxN5p.js +0 -110
  401. package/templates/docs/dist/assets/interactive-64o6YwrR.js +0 -9
  402. package/templates/docs/dist/assets/interactive-BedCloEw.js +0 -9
  403. package/templates/docs/dist/assets/main-BVLeh8GO.js +0 -1
  404. package/templates/docs/dist/assets/main-CreUBb3N.js +0 -1
  405. package/templates/docs/dist/assets/main-oodK-zZy.css +0 -2
  406. package/templates/docs/dist/de/guide/getting-started/index.html +0 -36
  407. package/templates/docs/dist/de/guide/what-is-preactpress/index.html +0 -38
  408. package/templates/docs/dist/de/index.html +0 -29
  409. package/templates/docs/dist/favicon-32.png +0 -0
  410. package/templates/docs/dist/favicon.png +0 -0
  411. package/templates/docs/dist/favicon.svg +0 -28
  412. package/templates/docs/dist/guide/advanced/index.html +0 -53
  413. package/templates/docs/dist/guide/commands/index.html +0 -89
  414. package/templates/docs/dist/guide/configuration/index.html +0 -196
  415. package/templates/docs/dist/guide/creating-pages/index.html +0 -234
  416. package/templates/docs/dist/guide/custom-themes/index.html +0 -52
  417. package/templates/docs/dist/guide/default-theme/index.html +0 -53
  418. package/templates/docs/dist/guide/deploy/index.html +0 -195
  419. package/templates/docs/dist/guide/first-five-minutes/index.html +0 -99
  420. package/templates/docs/dist/guide/getting-started/index.html +0 -173
  421. package/templates/docs/dist/guide/markdown-and-mdx/index.html +0 -59
  422. package/templates/docs/dist/guide/routing/index.html +0 -192
  423. package/templates/docs/dist/guide/what-is-preactpress/index.html +0 -141
  424. package/templates/docs/dist/index.html +0 -30
  425. package/templates/docs/dist/interactive/index.html +0 -37
  426. package/templates/docs/dist/markdown-examples/index.html +0 -231
  427. package/templates/docs/dist/preactpress-content/404.json +0 -8
  428. package/templates/docs/dist/preactpress-content/_index.json +0 -50
  429. package/templates/docs/dist/preactpress-content/about.json +0 -15
  430. package/templates/docs/dist/preactpress-content/de.json +0 -45
  431. package/templates/docs/dist/preactpress-content/de__guide__getting-started.json +0 -26
  432. package/templates/docs/dist/preactpress-content/de__guide__what-is-preactpress.json +0 -21
  433. package/templates/docs/dist/preactpress-content/guide__advanced.json +0 -46
  434. package/templates/docs/dist/preactpress-content/guide__commands.json +0 -26
  435. package/templates/docs/dist/preactpress-content/guide__configuration.json +0 -51
  436. package/templates/docs/dist/preactpress-content/guide__creating-pages.json +0 -71
  437. package/templates/docs/dist/preactpress-content/guide__custom-themes.json +0 -15
  438. package/templates/docs/dist/preactpress-content/guide__default-theme.json +0 -36
  439. package/templates/docs/dist/preactpress-content/guide__deploy.json +0 -56
  440. package/templates/docs/dist/preactpress-content/guide__first-five-minutes.json +0 -36
  441. package/templates/docs/dist/preactpress-content/guide__getting-started.json +0 -51
  442. package/templates/docs/dist/preactpress-content/guide__markdown-and-mdx.json +0 -31
  443. package/templates/docs/dist/preactpress-content/guide__routing.json +0 -71
  444. package/templates/docs/dist/preactpress-content/guide__what-is-preactpress.json +0 -51
  445. package/templates/docs/dist/preactpress-content/markdown-examples.json +0 -71
  446. package/templates/docs/dist/preactpress-content/tags__markdown.json +0 -16
  447. package/templates/docs/dist/preactpress-search.json +0 -166
  448. package/templates/docs/dist/preactpress-theme.js +0 -1
  449. package/templates/docs/dist/tags/markdown/index.html +0 -32
  450. package/templates/docs/index.md +0 -28
  451. package/templates/hono/dist/404.html +0 -29
  452. package/templates/hono/dist/README/index.html +0 -104
  453. package/templates/hono/dist/about/index.html +0 -32
  454. package/templates/hono/dist/assets/Counter-CCEByS-J.js +0 -1
  455. package/templates/hono/dist/assets/Hero--o6WMNvm.js +0 -2
  456. package/templates/hono/dist/assets/de-D5r6Ye70.js +0 -10
  457. package/templates/hono/dist/assets/hono-BXWYYdyv.js +0 -10
  458. package/templates/hono/dist/assets/interactive-Bxo-WBpC.js +0 -9
  459. package/templates/hono/dist/assets/interactive-BznI4IQ3.js +0 -9
  460. package/templates/hono/dist/assets/main-Bqi-VFEk.js +0 -2
  461. package/templates/hono/dist/assets/main-DIIN7FO0.css +0 -1
  462. package/templates/hono/dist/de/about/index.html +0 -32
  463. package/templates/hono/dist/de/guide/commands/index.html +0 -41
  464. package/templates/hono/dist/de/guide/configuration/index.html +0 -105
  465. package/templates/hono/dist/de/guide/deploy/index.html +0 -195
  466. package/templates/hono/dist/de/guide/first-five-minutes/index.html +0 -99
  467. package/templates/hono/dist/de/guide/getting-started/index.html +0 -173
  468. package/templates/hono/dist/de/guide/routing/index.html +0 -165
  469. package/templates/hono/dist/de/guide/seiten-erstellen/index.html +0 -234
  470. package/templates/hono/dist/de/guide/what-is-preactpress/index.html +0 -141
  471. package/templates/hono/dist/de/index.html +0 -30
  472. package/templates/hono/dist/de/interactive/index.html +0 -37
  473. package/templates/hono/dist/de/markdown-examples/index.html +0 -97
  474. package/templates/hono/dist/de/parts/include-body/index.html +0 -36
  475. package/templates/hono/dist/de/tags/markdown/index.html +0 -32
  476. package/templates/hono/dist/favicon-32.png +0 -0
  477. package/templates/hono/dist/favicon.png +0 -0
  478. package/templates/hono/dist/favicon.svg +0 -28
  479. package/templates/hono/dist/guide/commands/index.html +0 -41
  480. package/templates/hono/dist/guide/configuration/index.html +0 -158
  481. package/templates/hono/dist/guide/creating-pages/index.html +0 -234
  482. package/templates/hono/dist/guide/deploy/index.html +0 -195
  483. package/templates/hono/dist/guide/first-five-minutes/index.html +0 -99
  484. package/templates/hono/dist/guide/getting-started/index.html +0 -173
  485. package/templates/hono/dist/guide/routing/index.html +0 -165
  486. package/templates/hono/dist/guide/what-is-preactpress/index.html +0 -141
  487. package/templates/hono/dist/index.html +0 -30
  488. package/templates/hono/dist/interactive/index.html +0 -37
  489. package/templates/hono/dist/markdown-examples/index.html +0 -105
  490. package/templates/hono/dist/partials/shared-note/index.html +0 -30
  491. package/templates/hono/dist/parts/include-body/index.html +0 -36
  492. package/templates/hono/dist/preactpress-content/404.json +0 -8
  493. package/templates/hono/dist/preactpress-content/README.json +0 -26
  494. package/templates/hono/dist/preactpress-content/about.json +0 -15
  495. package/templates/hono/dist/preactpress-content/de__about.json +0 -15
  496. package/templates/hono/dist/preactpress-content/de__guide__commands.json +0 -36
  497. package/templates/hono/dist/preactpress-content/de__guide__configuration.json +0 -41
  498. package/templates/hono/dist/preactpress-content/de__guide__deploy.json +0 -56
  499. package/templates/hono/dist/preactpress-content/de__guide__first-five-minutes.json +0 -36
  500. package/templates/hono/dist/preactpress-content/de__guide__getting-started.json +0 -51
  501. package/templates/hono/dist/preactpress-content/de__guide__routing.json +0 -61
  502. package/templates/hono/dist/preactpress-content/de__guide__seiten-erstellen.json +0 -71
  503. package/templates/hono/dist/preactpress-content/de__guide__what-is-preactpress.json +0 -51
  504. package/templates/hono/dist/preactpress-content/de__markdown-examples.json +0 -131
  505. package/templates/hono/dist/preactpress-content/de__parts__include-body.json +0 -16
  506. package/templates/hono/dist/preactpress-content/de__tags__markdown.json +0 -16
  507. package/templates/hono/dist/preactpress-content/guide__commands.json +0 -36
  508. package/templates/hono/dist/preactpress-content/guide__configuration.json +0 -51
  509. package/templates/hono/dist/preactpress-content/guide__creating-pages.json +0 -71
  510. package/templates/hono/dist/preactpress-content/guide__deploy.json +0 -56
  511. package/templates/hono/dist/preactpress-content/guide__first-five-minutes.json +0 -36
  512. package/templates/hono/dist/preactpress-content/guide__getting-started.json +0 -51
  513. package/templates/hono/dist/preactpress-content/guide__routing.json +0 -61
  514. package/templates/hono/dist/preactpress-content/guide__what-is-preactpress.json +0 -51
  515. package/templates/hono/dist/preactpress-content/markdown-examples.json +0 -141
  516. package/templates/hono/dist/preactpress-content/partials__shared-note.json +0 -10
  517. package/templates/hono/dist/preactpress-content/parts__include-body.json +0 -16
  518. package/templates/hono/dist/preactpress-content/tags__markdown.json +0 -16
  519. package/templates/hono/dist/preactpress-search.json +0 -242
  520. package/templates/hono/dist/preactpress-theme.js +0 -1
  521. package/templates/hono/dist/tags/markdown/index.html +0 -32
@@ -1,61 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "Routing",
5
- "description": "Understand how PreactPress maps files to URLs"
6
- },
7
- "html": "<h1 id=\"routing\" class=\"pp-heading\">Routing<a class=\"pp-heading-anchor\" href=\"#routing\" aria-label=\"Link to this section\">#</a></h1>\n<p>PreactPress uses file-based routing. Every <code>.md</code> and <code>.mdx</code> file under <code>srcDir</code> becomes a route, and production builds write each route as static HTML.</p>\n<h2 id=\"file-based-routing\" class=\"pp-heading\">File-based routing<a class=\"pp-heading-anchor\" href=\"#file-based-routing\" aria-label=\"Link to this section\">#</a></h2>\n<p>Given this structure:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>.</span></span>\n<span class=\"line\"><span>├── index.md</span></span>\n<span class=\"line\"><span>├── about.md</span></span>\n<span class=\"line\"><span>├── guide/</span></span>\n<span class=\"line\"><span>│ ├── index.md</span></span>\n<span class=\"line\"><span>│ └── getting-started.md</span></span>\n<span class=\"line\"><span>└── interactive.mdx</span></span></code></pre><p>PreactPress creates these routes:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>index.md -> /</span></span>\n<span class=\"line\"><span>about.md -> /about</span></span>\n<span class=\"line\"><span>guide/index.md -> /guide</span></span>\n<span class=\"line\"><span>guide/getting-started.md -> /guide/getting-started</span></span>\n<span class=\"line\"><span>interactive.mdx -> /interactive</span></span></code></pre><p>During production builds, routes are written as directory indexes:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>/ -> dist/index.html</span></span>\n<span class=\"line\"><span>/about -> dist/about/index.html</span></span>\n<span class=\"line\"><span>/guide/getting-started -> dist/guide/getting-started/index.html</span></span></code></pre><p>By default (<code>cleanUrls: true</code>), builds emit directory indexes so hosts can serve extensionless URLs.</p>\n<h2 id=\"project-root-and-source-directory\" class=\"pp-heading\">Project root and source directory<a class=\"pp-heading-anchor\" href=\"#project-root-and-source-directory\" aria-label=\"Link to this section\">#</a></h2>\n<p>The project root is where PreactPress looks for <code>.preactpress/config.ts</code>.</p>\n<p>By default, source files also live in the project root:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>.</span></span>\n<span class=\"line\"><span>├── .preactpress/</span></span>\n<span class=\"line\"><span>│ └── config.ts</span></span>\n<span class=\"line\"><span>├── index.md</span></span>\n<span class=\"line\"><span>└── guide/</span></span>\n<span class=\"line\"><span> └── getting-started.md</span></span></code></pre><p>You can move content into a nested source directory with <code>srcDir</code>:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> srcDir: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'docs'</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>That produces this shape:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>.</span></span>\n<span class=\"line\"><span>├── .preactpress/</span></span>\n<span class=\"line\"><span>│ └── config.ts</span></span>\n<span class=\"line\"><span>└── docs/</span></span>\n<span class=\"line\"><span> ├── index.md</span></span>\n<span class=\"line\"><span> └── guide/</span></span>\n<span class=\"line\"><span> └── getting-started.md</span></span></code></pre><p>The resulting routes stay the same:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>docs/index.md -> /</span></span>\n<span class=\"line\"><span>docs/guide/getting-started.md -> /guide/getting-started</span></span></code></pre><h2 id=\"linking-between-pages\" class=\"pp-heading\">Linking between pages<a class=\"pp-heading-anchor\" href=\"#linking-between-pages\" aria-label=\"Link to this section\">#</a></h2>\n<p>Use absolute or relative links. The recommended style is to omit file extensions:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[</span><span style=\"color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\">Getting Started</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">](</span><span style=\"color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\">/guide/getting-started</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[</span><span style=\"color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\">Routing</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">](</span><span style=\"color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\">./routing</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[</span><span style=\"color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\">Home</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">](</span><span style=\"color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\">../</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)</span></span></code></pre><p>Avoid linking directly to generated HTML or source Markdown:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">&#x3C;!-- Avoid --></span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[</span><span style=\"color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\">Getting Started</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">](</span><span style=\"color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\">/guide/getting-started.md</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[</span><span style=\"color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\">Getting Started</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">](</span><span style=\"color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\">/guide/getting-started.html</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)</span></span></code></pre><p><code>preactpress check</code> validates local Markdown links that use <code>.md</code>, <code>.mdx</code>, or <code>.html</code> extensions and reports missing pages.</p>\n<h2 id=\"locale-routes\" class=\"pp-heading\">Locale routes<a class=\"pp-heading-anchor\" href=\"#locale-routes\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress supports VitePress-style locale folders. Keep the default language at the root and put translations in locale folders:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>index.md -> /</span></span>\n<span class=\"line\"><span>guide/getting-started.md -> /guide/getting-started</span></span>\n<span class=\"line\"><span>de/index.md -> /de</span></span>\n<span class=\"line\"><span>de/guide/getting-started.md -> /de/guide/getting-started</span></span></code></pre><p>Configure locale labels, language codes, and locale-specific nav in <code>.preactpress/config.ts</code>:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> locales: {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> root: {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> label: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'English'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> lang: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'en'</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> de: {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> label: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Deutsch'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> lang: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'de'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> link: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/de/'</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>The default theme shows a language switcher when multiple locales are configured.</p>\n<h2 id=\"tag-routes\" class=\"pp-heading\">Tag routes<a class=\"pp-heading-anchor\" href=\"#tag-routes\" aria-label=\"Link to this section\">#</a></h2>\n<p>Pages can define tags in frontmatter:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">---</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">title</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">Release notes</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">tags</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: [</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">release</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">changelog</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">]</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">---</span></span></code></pre><p>Each tag receives an index page:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>release -> /tags/release</span></span>\n<span class=\"line\"><span>changelog -> /tags/changelog</span></span></code></pre><p>For localized content, tag pages are scoped to the locale:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>de/guide/intro.md with tag \"Markdown\" -> /de/tags/markdown</span></span></code></pre><p>If a real Markdown or MDX page exists at the same route as a generated tag index, the real page wins.</p>\n<h2 id=\"base-path\" class=\"pp-heading\">Base path<a class=\"pp-heading-anchor\" href=\"#base-path\" aria-label=\"Link to this section\">#</a></h2>\n<p>Use <code>site.base</code> when the site is served from a subpath, for example GitHub Pages project sites:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> site: {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> base: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/my-repo/'</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>You can also override it for one build:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> exec</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> preactpress</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> build</span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --base</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> /my-repo/</span></span></code></pre><h2 id=\"route-rewrites\" class=\"pp-heading\">Route rewrites<a class=\"pp-heading-anchor\" href=\"#route-rewrites\" aria-label=\"Link to this section\">#</a></h2>\n<p>Map a public URL to existing content without duplicating files:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> rewrites: {</span></span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> '/docs'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/guide'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> '/getting-started'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/guide/intro'</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>Keys are the routes visitors use; values must point at routes that already exist from your Markdown files. <code>preactpress check</code> validates rewrite sources and collisions.</p>\n<h2 id=\"clean-urls-and-hosting\" class=\"pp-heading\">Clean URLs and hosting<a class=\"pp-heading-anchor\" href=\"#clean-urls-and-hosting\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th><code>cleanUrls</code></th>\n<th>Output for <code>/about</code></th>\n<th>Typical host</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>true</code> (default)</td>\n<td><code>dist/about/index.html</code></td>\n<td>Netlify, Vercel, Cloudflare Pages, GitHub Pages</td>\n</tr>\n<tr>\n<td><code>false</code></td>\n<td><code>dist/about.html</code></td>\n<td>Static buckets without directory index support</td>\n</tr>\n</tbody>\n</table>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> cleanUrls: </span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">false</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>Most modern static hosts work with the default. Set <code>cleanUrls: false</code> only when your host cannot resolve <code>/about</code> to <code>about/index.html</code>.</p>\n<h2 id=\"current-limitations\" class=\"pp-heading\">Current limitations<a class=\"pp-heading-anchor\" href=\"#current-limitations\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress intentionally keeps routing small. Compared with VitePress, it does not currently include:</p>\n<table>\n<thead>\n<tr>\n<th>Feature</th>\n<th>Status</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Dynamic routes such as <code>[pkg].paths.ts</code></td>\n<td>Not supported</td>\n</tr>\n<tr>\n<td>Pattern-based rewrites with params</td>\n<td>Not supported</td>\n</tr>\n</tbody>\n</table>\n<p>If your site needs many generated pages from external data, generate Markdown or MDX files before running <code>preactpress build</code>.</p>\n",
8
- "title": "Routing",
9
- "description": "Understand how PreactPress maps files to URLs",
10
- "tags": [],
11
- "pageType": "website",
12
- "headings": [
13
- {
14
- "id": "file-based-routing",
15
- "text": "File-based routing",
16
- "level": 2
17
- },
18
- {
19
- "id": "project-root-and-source-directory",
20
- "text": "Project root and source directory",
21
- "level": 2
22
- },
23
- {
24
- "id": "linking-between-pages",
25
- "text": "Linking between pages",
26
- "level": 2
27
- },
28
- {
29
- "id": "locale-routes",
30
- "text": "Locale routes",
31
- "level": 2
32
- },
33
- {
34
- "id": "tag-routes",
35
- "text": "Tag routes",
36
- "level": 2
37
- },
38
- {
39
- "id": "base-path",
40
- "text": "Base path",
41
- "level": 2
42
- },
43
- {
44
- "id": "route-rewrites",
45
- "text": "Route rewrites",
46
- "level": 2
47
- },
48
- {
49
- "id": "clean-urls-and-hosting",
50
- "text": "Clean URLs and hosting",
51
- "level": 2
52
- },
53
- {
54
- "id": "current-limitations",
55
- "text": "Current limitations",
56
- "level": 2
57
- }
58
- ],
59
- "relativePath": "guide/routing.md",
60
- "lastUpdated": "2026-06-05T06:28:08.578Z"
61
- }
@@ -1,51 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "What is PreactPress?",
5
- "description": "Learn what PreactPress is and when to use it"
6
- },
7
- "html": "<h1 id=\"what-is-preactpress\" class=\"pp-heading\">What is PreactPress?<a class=\"pp-heading-anchor\" href=\"#what-is-preactpress\" aria-label=\"Link to this section\">#</a></h1>\n<p>PreactPress is a static site generator for fast, content-focused websites. You write pages in Markdown or MDX, configure navigation and theme options in <code>.preactpress/config.ts</code>, and PreactPress generates static HTML that can be deployed to any static host.</p>\n<p>It is built with <a href=\"https://vite.dev/\" target=\"_blank\" rel=\"noopener noreferrer\">Vite</a> and <a href=\"https://preactjs.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Preact</a>. The workflow is inspired by VitePress, but the component model is Preact instead of Vue.</p>\n<h2 id=\"use-cases\" class=\"pp-heading\">Use cases<a class=\"pp-heading-anchor\" href=\"#use-cases\" aria-label=\"Link to this section\">#</a></h2>\n<h3 id=\"documentation\" class=\"pp-heading\">Documentation<a class=\"pp-heading-anchor\" href=\"#documentation\" aria-label=\"Link to this section\">#</a></h3>\n<p>PreactPress ships with a small default theme for technical documentation. It includes navigation, sidebar groups, outline links, search, last-updated metadata, and Markdown rendering out of the box.</p>\n<p>Use it when your docs live naturally as files:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span>index.md</span></span>\n<span class=\"line\"><span>guide/getting-started.md</span></span>\n<span class=\"line\"><span>guide/routing.md</span></span>\n<span class=\"line\"><span>reference/api.md</span></span></code></pre><p>Every Markdown or MDX file becomes a page, so documentation grows by adding files and linking them from the sidebar.</p>\n<h3 id=\"blogs-portfolios-and-marketing-sites\" class=\"pp-heading\">Blogs, portfolios, and marketing sites<a class=\"pp-heading-anchor\" href=\"#blogs-portfolios-and-marketing-sites\" aria-label=\"Link to this section\">#</a></h3>\n<p>PreactPress can also power blogs, portfolios, and small marketing sites. Markdown handles content, MDX brings in interactive Preact components, and custom themes let you replace the default documentation shell.</p>\n<p>The separate <code>preactpress-examples</code> project includes a custom-theme example that shows a magazine-style layout with article teasers and tag pages.</p>\n<h2 id=\"developer-experience\" class=\"pp-heading\">Developer experience<a class=\"pp-heading-anchor\" href=\"#developer-experience\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress focuses on keeping content work simple:</p>\n<table>\n<thead>\n<tr>\n<th>Feature</th>\n<th>What it gives you</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Vite dev server</td>\n<td>Fast startup and hot updates while editing content</td>\n</tr>\n<tr>\n<td>Markdown frontmatter</td>\n<td>Page titles, descriptions, tags, draft status, and social metadata</td>\n</tr>\n<tr>\n<td>MDX</td>\n<td>Preact components inside content pages</td>\n</tr>\n<tr>\n<td>Default theme</td>\n<td>Nav, sidebar, outline, search, footer, locale switcher</td>\n</tr>\n<tr>\n<td><code>preactpress check</code></td>\n<td>Config, route, and link validation before release</td>\n</tr>\n</tbody>\n</table>\n<p>For regular content, use <code>.md</code>. When a page needs interactivity, use <code>.mdx</code> and import a Preact component:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">import Counter from './components/Counter.tsx'</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold\">## Demo</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&#x3C;Counter initial={3} /></span></span></code></pre><h2 id=\"performance\" class=\"pp-heading\">Performance<a class=\"pp-heading-anchor\" href=\"#performance\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress produces static HTML for every route during the production build. The first visit receives HTML that already contains the page content, which is good for loading speed and SEO.</p>\n<p>After hydration, client-side navigation takes over. Markdown pages are loaded as small JSON payloads from <code>preactpress-content/*.json</code>, so large sites do not need to ship every Markdown body in the initial JavaScript bundle.</p>\n<p>The production output is static files only:</p>\n<table>\n<thead>\n<tr>\n<th>Output</th>\n<th>Purpose</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>index.html</code>, <code>*/index.html</code></td>\n<td>One HTML file per route</td>\n</tr>\n<tr>\n<td><code>assets/*</code></td>\n<td>Hashed JavaScript and CSS from Vite</td>\n</tr>\n<tr>\n<td><code>preactpress-search.json</code></td>\n<td>Search data for the default theme</td>\n</tr>\n<tr>\n<td><code>preactpress-content/*.json</code></td>\n<td>Lazy-loaded Markdown page payloads</td>\n</tr>\n<tr>\n<td><code>404.html</code></td>\n<td>Not-found page</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"what-about-vitepress\" class=\"pp-heading\">What about VitePress?<a class=\"pp-heading-anchor\" href=\"#what-about-vitepress\" aria-label=\"Link to this section\">#</a></h2>\n<p>If you know VitePress, PreactPress should feel familiar: both use Vite, file-based Markdown routing, a default docs theme, and static output.</p>\n<p>The main difference is the UI stack. VitePress uses Vue. PreactPress uses Preact and MDX, so interactive content and custom themes are written as Preact components.</p>\n<p>PreactPress is also static-only in production. You build the site once, upload the output directory, and serve it from Netlify, Vercel, Cloudflare Pages, GitHub Pages, S3, Nginx, or another static host.</p>\n<h2 id=\"next-steps\" class=\"pp-heading\">Next steps<a class=\"pp-heading-anchor\" href=\"#next-steps\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th>Page</th>\n<th>Why</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"/guide/getting-started\">Getting Started</a></td>\n<td>Install PreactPress and understand the starter structure</td>\n</tr>\n<tr>\n<td><a href=\"/guide/routing\">Routing</a></td>\n<td>Learn how files become URLs</td>\n</tr>\n<tr>\n<td><a href=\"/guide/deploy\">Deploy</a></td>\n<td>Build and publish a static site</td>\n</tr>\n</tbody>\n</table>\n",
8
- "title": "What is PreactPress?",
9
- "description": "Learn what PreactPress is and when to use it",
10
- "tags": [],
11
- "pageType": "website",
12
- "headings": [
13
- {
14
- "id": "use-cases",
15
- "text": "Use cases",
16
- "level": 2
17
- },
18
- {
19
- "id": "documentation",
20
- "text": "Documentation",
21
- "level": 3
22
- },
23
- {
24
- "id": "blogs-portfolios-and-marketing-sites",
25
- "text": "Blogs, portfolios, and marketing sites",
26
- "level": 3
27
- },
28
- {
29
- "id": "developer-experience",
30
- "text": "Developer experience",
31
- "level": 2
32
- },
33
- {
34
- "id": "performance",
35
- "text": "Performance",
36
- "level": 2
37
- },
38
- {
39
- "id": "what-about-vitepress",
40
- "text": "What about VitePress?",
41
- "level": 2
42
- },
43
- {
44
- "id": "next-steps",
45
- "text": "Next steps",
46
- "level": 2
47
- }
48
- ],
49
- "relativePath": "guide/what-is-preactpress.md",
50
- "lastUpdated": "2026-06-04T07:32:52.322Z"
51
- }
@@ -1,141 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "Markdown examples",
5
- "description": "Common authoring snippets",
6
- "tags": [
7
- "markdown"
8
- ]
9
- },
10
- "html": "<h2 id=\"code\" class=\"pp-heading\">Code<a class=\"pp-heading-anchor\" href=\"#code\" aria-label=\"Link to this section\">#</a></h2>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> function</span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\"> greet</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(</span><span style=\"color:#E36209;--shiki-dark:#FFAB70\">name</span><span style=\"color:#D73A49;--shiki-dark:#F97583\">:</span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\"> string</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">) {</span></span>\n<span class=\"line highlighted\"><span style=\"color:#D73A49;--shiki-dark:#F97583\"> return</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> `Hello, ${</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">name</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}!`</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>Highlight a single line with fence meta (<code>{2}</code>) or inline notation:</p>\n<pre class=\"shiki shiki-themes github-light github-dark has-highlighted\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> function</span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\"> greet</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(</span><span style=\"color:#E36209;--shiki-dark:#FFAB70\">name</span><span style=\"color:#D73A49;--shiki-dark:#F97583\">:</span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\"> string</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">) {</span></span>\n<span class=\"line highlighted\"><span style=\"color:#D73A49;--shiki-dark:#F97583\"> return</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> `Hello, ${</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">name</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}!`</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>Inline code like <code>themeConfig.outline</code> uses the same theme tokens as code blocks.</p>\n<h2 id=\"snippet-import\" class=\"pp-heading\">Snippet import<a class=\"pp-heading-anchor\" href=\"#snippet-import\" aria-label=\"Link to this section\">#</a></h2>\n<p>Reuse source files instead of duplicating code:</p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> function</span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\"> greet</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(</span><span style=\"color:#E36209;--shiki-dark:#FFAB70\">name</span><span style=\"color:#D73A49;--shiki-dark:#F97583\">:</span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\"> string</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">) {</span></span>\n<span class=\"line highlighted\"><span style=\"color:#D73A49;--shiki-dark:#F97583\"> return</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> `Hello, ${</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">name</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">}!`</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}</span></span></code></pre><p>The <code>@/</code> prefix resolves from the site content root (<code>srcDir</code>).</p>\n<h2 id=\"links\" class=\"pp-heading\">Links<a class=\"pp-heading-anchor\" href=\"#links\" aria-label=\"Link to this section\">#</a></h2>\n<p><a href=\"/\">Home</a> · <a href=\"https://preactjs.com\" target=\"_blank\" rel=\"noopener noreferrer\">External link</a></p>\n<h2 id=\"tables\" class=\"pp-heading\">Tables<a class=\"pp-heading-anchor\" href=\"#tables\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th>Syntax</th>\n<th>Result</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code># Title</code></td>\n<td>Heading</td>\n</tr>\n<tr>\n<td><code>---</code> frontmatter</td>\n<td>Page metadata</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"quotes\" class=\"pp-heading\">Quotes<a class=\"pp-heading-anchor\" href=\"#quotes\" aria-label=\"Link to this section\">#</a></h2>\n<blockquote>\n<p>Use blockquotes for callouts, notes, or short contextual hints.</p>\n</blockquote>\n<h2 id=\"containers\" class=\"pp-heading\">Containers<a class=\"pp-heading-anchor\" href=\"#containers\" aria-label=\"Link to this section\">#</a></h2>\n<div class=\"pp-container pp-container-tip\"><p class=\"pp-container-title\">TIP</p><div class=\"pp-container-body\"><p><code>::: tip</code>, <code>::: warning</code>, <code>::: danger</code>, <code>::: info</code>, and <code>::: details</code> work like VitePress custom containers.</p>\n</div></div><div class=\"pp-container pp-container-warning\"><p class=\"pp-container-title\">Optional title</p><div class=\"pp-container-body\"><p>You can pass a custom title after the container type.</p>\n</div></div><details class=\"pp-container pp-container-details\"><summary>Learn more</summary><div class=\"pp-container-body\"><p>Details blocks render as native <code>&lt;details&gt;</code> elements.</p>\n</div></details><h2 id=\"gfm-alerts\" class=\"pp-heading\">GFM alerts<a class=\"pp-heading-anchor\" href=\"#gfm-alerts\" aria-label=\"Link to this section\">#</a></h2>\n<p>GitHub-flavored alert syntax renders with the same styling as custom containers:</p>\n<div class=\"pp-container pp-container-note\"><p class=\"pp-container-title\">NOTE</p><div class=\"pp-container-body\"><p>Useful information that readers should know.</p>\n</div></div><div class=\"pp-container pp-container-tip\"><p class=\"pp-container-title\">TIP</p><div class=\"pp-container-body\"><p>Optional advice for doing things more easily.</p>\n</div></div><div class=\"pp-container pp-container-warning\"><p class=\"pp-container-title\">WARNING</p><div class=\"pp-container-body\"><p>Critical content that needs immediate attention.</p>\n</div></div><h2 id=\"custom-heading-ids\" class=\"pp-heading\">Custom heading IDs<a class=\"pp-heading-anchor\" href=\"#custom-heading-ids\" aria-label=\"Link to this section\">#</a></h2>\n<h2 id=\"stable-id\" class=\"pp-heading\">Stable links<a class=\"pp-heading-anchor\" href=\"#stable-id\" aria-label=\"Link to this section\">#</a></h2>\n<p>Append <code>{#id}</code> to any heading to control its anchor.</p>\n<h2 id=\"emoji\" class=\"pp-heading\">Emoji<a class=\"pp-heading-anchor\" href=\"#emoji\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress supports <code>:tada:</code> and <code>:rocket:</code> shortcodes out of the box.</p>\n<h2 id=\"inline-table-of-contents\" class=\"pp-heading\">Inline table of contents<a class=\"pp-heading-anchor\" href=\"#inline-table-of-contents\" aria-label=\"Link to this section\">#</a></h2>\n<nav class=\"pp-inline-toc\" aria-label=\"Table of contents\"><a class=\"pp-inline-toc-link level-2\" href=\"#code\">Code</a><a class=\"pp-inline-toc-link level-2\" href=\"#snippet-import\">Snippet import</a><a class=\"pp-inline-toc-link level-2\" href=\"#links\">Links</a><a class=\"pp-inline-toc-link level-2\" href=\"#tables\">Tables</a><a class=\"pp-inline-toc-link level-2\" href=\"#quotes\">Quotes</a><a class=\"pp-inline-toc-link level-2\" href=\"#containers\">Containers</a><a class=\"pp-inline-toc-link level-2\" href=\"#gfm-alerts\">GFM alerts</a><a class=\"pp-inline-toc-link level-2\" href=\"#custom-heading-ids\">Custom heading IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#stable-id\">Stable links</a><a class=\"pp-inline-toc-link level-2\" href=\"#emoji\">Emoji</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-table-of-contents\">Inline table of contents</a><a class=\"pp-inline-toc-link level-2\" href=\"#second-section\">Second section</a><a class=\"pp-inline-toc-link level-3\" href=\"#sub-section\">Sub section</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-groups\">Code groups</a><a class=\"pp-inline-toc-link level-2\" href=\"#markdown-inclusion\">Markdown inclusion</a><a class=\"pp-inline-toc-link level-2\" href=\"#included-body\">Included body</a><a class=\"pp-inline-toc-link level-2\" href=\"#heading-ids\">Heading IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#custom-anchor\">Custom anchors</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-table-of-contents-2\">Inline table of contents</a><a class=\"pp-inline-toc-link level-3\" href=\"#first-section\">First section</a><a class=\"pp-inline-toc-link level-3\" href=\"#second-section-2\">Second section</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-groups-2\">Code groups</a><a class=\"pp-inline-toc-link level-2\" href=\"#markdown-includes\">Markdown includes</a><a class=\"pp-inline-toc-link level-2\" href=\"#emoji-and-math\">Emoji and math</a></nav><h2 id=\"second-section\" class=\"pp-heading\">Second section<a class=\"pp-heading-anchor\" href=\"#second-section\" aria-label=\"Link to this section\">#</a></h2>\n<p>Content below the inline TOC.</p>\n<h3 id=\"sub-section\" class=\"pp-heading\">Sub section<a class=\"pp-heading-anchor\" href=\"#sub-section\" aria-label=\"Link to this section\">#</a></h3>\n<p>Nested heading for the outline.</p>\n<h2 id=\"code-groups\" class=\"pp-heading\">Code groups<a class=\"pp-heading-anchor\" href=\"#code-groups\" aria-label=\"Link to this section\">#</a></h2>\n<div class=\"pp-code-group\"><input type=\"radio\" name=\"pp-cg-1\" id=\"pp-cg-1-0\" class=\"pp-code-group-input\" checked><label for=\"pp-cg-1-0\" class=\"pp-code-group-tab\">config.js</label><input type=\"radio\" name=\"pp-cg-1\" id=\"pp-cg-1-1\" class=\"pp-code-group-input\"><label for=\"pp-cg-1-1\" class=\"pp-code-group-tab\">config.ts</label><div class=\"pp-code-group-blocks\"><div class=\"pp-code-group-block\"><pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { lang: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'js'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }</span></span></code></pre></div><div class=\"pp-code-group-block\"><pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">export</span><span style=\"color:#D73A49;--shiki-dark:#F97583\"> default</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { lang: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'ts'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }</span></span></code></pre></div></div></div><h2 id=\"markdown-inclusion\" class=\"pp-heading\">Markdown inclusion<a class=\"pp-heading-anchor\" href=\"#markdown-inclusion\" aria-label=\"Link to this section\">#</a></h2>\n<h2 id=\"included-body\" class=\"pp-heading\">Included body<a class=\"pp-heading-anchor\" href=\"#included-body\" aria-label=\"Link to this section\">#</a></h2>\n<h2 id=\"heading-ids\" class=\"pp-heading\">Heading IDs<a class=\"pp-heading-anchor\" href=\"#heading-ids\" aria-label=\"Link to this section\">#</a></h2>\n<h2 id=\"custom-anchor\" class=\"pp-heading\">Custom anchors<a class=\"pp-heading-anchor\" href=\"#custom-anchor\" aria-label=\"Link to this section\">#</a></h2>\n<p>Add <code>{#your-id}</code> to any heading to control the fragment URL.</p>\n<h2 id=\"inline-table-of-contents-2\" class=\"pp-heading\">Inline table of contents<a class=\"pp-heading-anchor\" href=\"#inline-table-of-contents-2\" aria-label=\"Link to this section\">#</a></h2>\n<nav class=\"pp-inline-toc\" aria-label=\"Table of contents\"><a class=\"pp-inline-toc-link level-2\" href=\"#code\">Code</a><a class=\"pp-inline-toc-link level-2\" href=\"#snippet-import\">Snippet import</a><a class=\"pp-inline-toc-link level-2\" href=\"#links\">Links</a><a class=\"pp-inline-toc-link level-2\" href=\"#tables\">Tables</a><a class=\"pp-inline-toc-link level-2\" href=\"#quotes\">Quotes</a><a class=\"pp-inline-toc-link level-2\" href=\"#containers\">Containers</a><a class=\"pp-inline-toc-link level-2\" href=\"#gfm-alerts\">GFM alerts</a><a class=\"pp-inline-toc-link level-2\" href=\"#custom-heading-ids\">Custom heading IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#stable-id\">Stable links</a><a class=\"pp-inline-toc-link level-2\" href=\"#emoji\">Emoji</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-table-of-contents\">Inline table of contents</a><a class=\"pp-inline-toc-link level-2\" href=\"#second-section\">Second section</a><a class=\"pp-inline-toc-link level-3\" href=\"#sub-section\">Sub section</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-groups\">Code groups</a><a class=\"pp-inline-toc-link level-2\" href=\"#markdown-inclusion\">Markdown inclusion</a><a class=\"pp-inline-toc-link level-2\" href=\"#included-body\">Included body</a><a class=\"pp-inline-toc-link level-2\" href=\"#heading-ids\">Heading IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#custom-anchor\">Custom anchors</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-table-of-contents-2\">Inline table of contents</a><a class=\"pp-inline-toc-link level-3\" href=\"#first-section\">First section</a><a class=\"pp-inline-toc-link level-3\" href=\"#second-section-2\">Second section</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-groups-2\">Code groups</a><a class=\"pp-inline-toc-link level-2\" href=\"#markdown-includes\">Markdown includes</a><a class=\"pp-inline-toc-link level-2\" href=\"#emoji-and-math\">Emoji and math</a></nav><h3 id=\"first-section\" class=\"pp-heading\">First section<a class=\"pp-heading-anchor\" href=\"#first-section\" aria-label=\"Link to this section\">#</a></h3>\n<p>Content for the first section.</p>\n<h3 id=\"second-section-2\" class=\"pp-heading\">Second section<a class=\"pp-heading-anchor\" href=\"#second-section-2\" aria-label=\"Link to this section\">#</a></h3>\n<p>Content for the second section.</p>\n<h2 id=\"code-groups-2\" class=\"pp-heading\">Code groups<a class=\"pp-heading-anchor\" href=\"#code-groups-2\" aria-label=\"Link to this section\">#</a></h2>\n<div class=\"pp-code-group\"><input type=\"radio\" name=\"pp-cg-2\" id=\"pp-cg-2-0\" class=\"pp-code-group-input\" checked><label for=\"pp-cg-2-0\" class=\"pp-code-group-tab\">npm</label><input type=\"radio\" name=\"pp-cg-2\" id=\"pp-cg-2-1\" class=\"pp-code-group-input\"><label for=\"pp-cg-2-1\" class=\"pp-code-group-tab\">pnpm</label><div class=\"pp-code-group-blocks\"><div class=\"pp-code-group-block\"><pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">npm</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> install</span></span></code></pre></div><div class=\"pp-code-group-block\"><pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> install</span></span></code></pre></div></div></div><h2 id=\"markdown-includes\" class=\"pp-heading\">Markdown includes<a class=\"pp-heading-anchor\" href=\"#markdown-includes\" aria-label=\"Link to this section\">#</a></h2>\n<p>Reuse shared fragments with HTML comments:</p>\n<div class=\"pp-container pp-container-tip\"><p class=\"pp-container-title\">Shared fragment</p><div class=\"pp-container-body\"><p>This note is pulled in via <code>&lt;!-- include cycle detected: /home/watzak/master/kamod/preactpress/templates/hono/partials/shared-note.md --&gt;</code>.</p>\n</div></div><h2 id=\"emoji-and-math\" class=\"pp-heading\">Emoji and math<a class=\"pp-heading-anchor\" href=\"#emoji-and-math\" aria-label=\"Link to this section\">#</a></h2>\n<p>Enable in config: <code>markdown: { emoji: true, math: true }</code>.</p>\n<p>:tada: becomes a party popper when emoji is on.</p>\n<p>Inline math: $E = mc^2$</p>\n",
11
- "title": "Markdown examples",
12
- "description": "Common authoring snippets",
13
- "tags": [
14
- "markdown"
15
- ],
16
- "pageType": "website",
17
- "headings": [
18
- {
19
- "id": "code",
20
- "text": "Code",
21
- "level": 2
22
- },
23
- {
24
- "id": "snippet-import",
25
- "text": "Snippet import",
26
- "level": 2
27
- },
28
- {
29
- "id": "links",
30
- "text": "Links",
31
- "level": 2
32
- },
33
- {
34
- "id": "tables",
35
- "text": "Tables",
36
- "level": 2
37
- },
38
- {
39
- "id": "quotes",
40
- "text": "Quotes",
41
- "level": 2
42
- },
43
- {
44
- "id": "containers",
45
- "text": "Containers",
46
- "level": 2
47
- },
48
- {
49
- "id": "gfm-alerts",
50
- "text": "GFM alerts",
51
- "level": 2
52
- },
53
- {
54
- "id": "custom-heading-ids",
55
- "text": "Custom heading IDs",
56
- "level": 2
57
- },
58
- {
59
- "id": "stable-id",
60
- "text": "Stable links",
61
- "level": 2
62
- },
63
- {
64
- "id": "emoji",
65
- "text": "Emoji",
66
- "level": 2
67
- },
68
- {
69
- "id": "inline-table-of-contents",
70
- "text": "Inline table of contents",
71
- "level": 2
72
- },
73
- {
74
- "id": "second-section",
75
- "text": "Second section",
76
- "level": 2
77
- },
78
- {
79
- "id": "sub-section",
80
- "text": "Sub section",
81
- "level": 3
82
- },
83
- {
84
- "id": "code-groups",
85
- "text": "Code groups",
86
- "level": 2
87
- },
88
- {
89
- "id": "markdown-inclusion",
90
- "text": "Markdown inclusion",
91
- "level": 2
92
- },
93
- {
94
- "id": "included-body",
95
- "text": "Included body",
96
- "level": 2
97
- },
98
- {
99
- "id": "heading-ids",
100
- "text": "Heading IDs",
101
- "level": 2
102
- },
103
- {
104
- "id": "custom-anchor",
105
- "text": "Custom anchors",
106
- "level": 2
107
- },
108
- {
109
- "id": "inline-table-of-contents-2",
110
- "text": "Inline table of contents",
111
- "level": 2
112
- },
113
- {
114
- "id": "first-section",
115
- "text": "First section",
116
- "level": 3
117
- },
118
- {
119
- "id": "second-section-2",
120
- "text": "Second section",
121
- "level": 3
122
- },
123
- {
124
- "id": "code-groups-2",
125
- "text": "Code groups",
126
- "level": 2
127
- },
128
- {
129
- "id": "markdown-includes",
130
- "text": "Markdown includes",
131
- "level": 2
132
- },
133
- {
134
- "id": "emoji-and-math",
135
- "text": "Emoji and math",
136
- "level": 2
137
- }
138
- ],
139
- "relativePath": "markdown-examples.md",
140
- "lastUpdated": "2026-06-05T06:17:55.859Z"
141
- }
@@ -1,10 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {},
4
- "html": "<div class=\"pp-container pp-container-tip\"><p class=\"pp-container-title\">Shared fragment</p><div class=\"pp-container-body\"><p>This note is pulled in via <code>::: tip Shared fragment This note is pulled in via </code>&lt;!-- include cycle detected: /home/watzak/master/kamod/preactpress/templates/hono/partials/shared-note.md --&gt;<code>. :::</code>.</p>\n</div></div>",
5
- "tags": [],
6
- "pageType": "website",
7
- "headings": [],
8
- "relativePath": "partials/shared-note.md",
9
- "lastUpdated": "2026-06-05T06:17:39.711Z"
10
- }
@@ -1,16 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {},
4
- "html": "<p>Line one — skipped.\nLine two — skipped.\nLine three — skipped.\nLine four — skipped.</p>\n<h2 id=\"included-body\" class=\"pp-heading\">Included body<a class=\"pp-heading-anchor\" href=\"#included-body\" aria-label=\"Link to this section\">#</a></h2>\n<p>This paragraph is pulled in via <code>&lt;!-- include not found: /home/watzak/master/kamod/preactpress/templates/hono/parts/… --&gt;</code>.</p>\n<p>Line seven — skipped.</p>\n",
5
- "tags": [],
6
- "pageType": "website",
7
- "headings": [
8
- {
9
- "id": "included-body",
10
- "text": "Included body",
11
- "level": 2
12
- }
13
- ],
14
- "relativePath": "parts/include-body.md",
15
- "lastUpdated": "2026-06-05T06:17:56.203Z"
16
- }
@@ -1,16 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "tagIndex": true,
5
- "tag": "markdown",
6
- "tagSlug": "markdown"
7
- },
8
- "html": "<article class=\"pp-tag-index\"><h1 class=\"pp-heading\" id=\"tag-markdown\">Pages tagged: markdown</h1><p class=\"pp-tag-index-count\">1 page(s).</p><ul class=\"pp-tag-index-list\">\n <li><a href=\"/markdown-examples\">Markdown examples</a></li>\n</ul></article>",
9
- "title": "Tag: markdown",
10
- "description": "Pages tagged “markdown”",
11
- "tags": [
12
- "markdown"
13
- ],
14
- "pageType": "website",
15
- "headings": []
16
- }