@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": "Verstehe, wie PreactPress Dateien auf URLs abbildet"
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 nutzt dateibasiertes Routing. Jede <code>.md</code>- und <code>.mdx</code>-Datei unter <code>srcDir</code> wird zu einer Route, und Produktionsbuilds schreiben jede Route als statisches HTML.</p>\n<h2 id=\"dateibasiertes-routing\" class=\"pp-heading\">Dateibasiertes Routing<a class=\"pp-heading-anchor\" href=\"#dateibasiertes-routing\" aria-label=\"Link to this section\">#</a></h2>\n<p>Bei dieser Struktur:</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>erzeugt PreactPress diese Routen:</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>Beim Produktionsbuild werden Routen als Verzeichnis-Indizes geschrieben:</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>Standardmäßig (<code>cleanUrls: true</code>) schreibt der Build Verzeichnis-Indizes, damit Hosts URLs ohne Dateiendung ausliefern können.</p>\n<h2 id=\"projektroot-und-quellverzeichnis\" class=\"pp-heading\">Projektroot und Quellverzeichnis<a class=\"pp-heading-anchor\" href=\"#projektroot-und-quellverzeichnis\" aria-label=\"Link to this section\">#</a></h2>\n<p>Der Projektroot ist der Ort, an dem PreactPress <code>.preactpress/config.ts</code> sucht.</p>\n<p>Standardmäßig liegen die Quelldateien ebenfalls im Projektroot:</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>Mit <code>srcDir</code> kannst du Inhalte in ein verschachteltes Quellverzeichnis legen:</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>Dann sieht die Struktur so aus:</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>Die resultierenden Routen bleiben gleich:</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=\"zwischen-seiten-verlinken\" class=\"pp-heading\">Zwischen Seiten verlinken<a class=\"pp-heading-anchor\" href=\"#zwischen-seiten-verlinken\" aria-label=\"Link to this section\">#</a></h2>\n<p>Du kannst absolute oder relative Links verwenden. Empfohlen ist, Dateiendungen wegzulassen:</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\">/de/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\">Start</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>Vermeide direkte Links auf generiertes HTML oder Markdown-Quelldateien:</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;!-- Vermeiden --></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\">/de/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\">/de/guide/getting-started.html</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)</span></span></code></pre><p><code>preactpress check</code> validiert lokale Markdown-Links mit <code>.md</code>-, <code>.mdx</code>- oder <code>.html</code>-Endung und meldet fehlende Seiten.</p>\n<h2 id=\"locale-routen\" class=\"pp-heading\">Locale-Routen<a class=\"pp-heading-anchor\" href=\"#locale-routen\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress unterstützt Locale-Ordner im VitePress-Stil. Die Standardsprache liegt im Root, Übersetzungen liegen in Locale-Ordnern:</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>Labels, Sprachcodes und lokale Navigation konfigurierst du 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>Das Standard-Theme zeigt einen Sprachumschalter, wenn mehrere Locales konfiguriert sind.</p>\n<h2 id=\"tag-routen\" class=\"pp-heading\">Tag-Routen<a class=\"pp-heading-anchor\" href=\"#tag-routen\" aria-label=\"Link to this section\">#</a></h2>\n<p>Seiten können Tags im Frontmatter definieren:</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>Jeder Tag erhält eine Index-Seite:</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>Bei lokalisierten Inhalten werden Tag-Seiten pro Locale erzeugt:</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 mit Tag \"Markdown\" -> /de/tags/markdown</span></span></code></pre><p>Wenn eine echte Markdown- oder MDX-Seite dieselbe Route wie ein generierter Tag-Index belegt, gewinnt die echte Seite.</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>Nutze <code>site.base</code>, wenn die Site unter einem Unterpfad ausgeliefert wird, zum Beispiel bei GitHub-Pages-Projektseiten:</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>Du kannst den Base Path auch für einen einzelnen Build überschreiben:</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>Öffentliche URLs auf bestehende Inhalte mappen, ohne Dateien zu duplizieren:</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 sind die Routen für Besucher; Values müssen auf Routen zeigen, die bereits aus Markdown-Dateien existieren. <code>preactpress check</code> validiert Quellen und Kollisionen.</p>\n<h2 id=\"clean-urls-und-hosting\" class=\"pp-heading\">Clean URLs und Hosting<a class=\"pp-heading-anchor\" href=\"#clean-urls-und-hosting\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th><code>cleanUrls</code></th>\n<th>Ausgabe für <code>/about</code></th>\n<th>Typischer Host</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>true</code> (Standard)</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>Statische Buckets ohne Directory-Index</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>Die meisten modernen Static Hosts funktionieren mit dem Standard. Setze <code>cleanUrls: false</code> nur, wenn dein Host <code>/about</code> nicht zu <code>about/index.html</code> auflösen kann.</p>\n<h2 id=\"aktuelle-grenzen\" class=\"pp-heading\">Aktuelle Grenzen<a class=\"pp-heading-anchor\" href=\"#aktuelle-grenzen\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress hält Routing bewusst klein. Im Vergleich zu VitePress enthält es aktuell nicht:</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>Dynamische Routen wie <code>[pkg].paths.ts</code></td>\n<td>Nicht unterstützt</td>\n</tr>\n<tr>\n<td>Pattern-basierte Rewrites mit Parametern</td>\n<td>Nicht unterstützt</td>\n</tr>\n</tbody>\n</table>\n<p>Wenn deine Site viele Seiten aus externen Daten erzeugen muss, generiere Markdown- oder MDX-Dateien vor <code>preactpress build</code>.</p>\n",
8
- "title": "Routing",
9
- "description": "Verstehe, wie PreactPress Dateien auf URLs abbildet",
10
- "tags": [],
11
- "pageType": "website",
12
- "headings": [
13
- {
14
- "id": "dateibasiertes-routing",
15
- "text": "Dateibasiertes Routing",
16
- "level": 2
17
- },
18
- {
19
- "id": "projektroot-und-quellverzeichnis",
20
- "text": "Projektroot und Quellverzeichnis",
21
- "level": 2
22
- },
23
- {
24
- "id": "zwischen-seiten-verlinken",
25
- "text": "Zwischen Seiten verlinken",
26
- "level": 2
27
- },
28
- {
29
- "id": "locale-routen",
30
- "text": "Locale-Routen",
31
- "level": 2
32
- },
33
- {
34
- "id": "tag-routen",
35
- "text": "Tag-Routen",
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-und-hosting",
50
- "text": "Clean URLs und Hosting",
51
- "level": 2
52
- },
53
- {
54
- "id": "aktuelle-grenzen",
55
- "text": "Aktuelle Grenzen",
56
- "level": 2
57
- }
58
- ],
59
- "relativePath": "de/guide/routing.md",
60
- "lastUpdated": "2026-06-05T06:28:18.706Z"
61
- }
@@ -1,71 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "Seiten erstellen",
5
- "description": "Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden"
6
- },
7
- "html": "<h1 id=\"seiten-erstellen\" class=\"pp-heading\">Seiten erstellen<a class=\"pp-heading-anchor\" href=\"#seiten-erstellen\" aria-label=\"Link to this section\">#</a></h1>\n<p>In PreactPress entstehen Seiten aus Dateien — es gibt keinen separaten Seiten-Editor oder CMS. Jede <code>.md</code>- oder <code>.mdx</code>-Datei unter dem Quellverzeichnis (<code>srcDir</code>, standardmäßig das Projektroot) wird automatisch zu einer öffentlichen URL.</p>\n<h2 id=\"kurz-berblick\" class=\"pp-heading\">Kurzüberblick<a class=\"pp-heading-anchor\" href=\"#kurz-berblick\" aria-label=\"Link to this section\">#</a></h2>\n<ol>\n<li>Eine neue Datei anlegen (z. B. <code>kontakt.md</code> oder <code>guide/neue-seite.md</code>).</li>\n<li>Optional Frontmatter mit <code>title</code>, <code>description</code> und <code>layout</code> ergänzen.</li>\n<li>Inhalt in Markdown oder MDX schreiben.</li>\n<li>Dev-Server lädt die Seite automatisch nach — kein Neustart nötig.</li>\n<li>Optional Eintrag in <code>nav</code> und <code>sidebar</code> in <code>.preactpress/config.ts</code> setzen.</li>\n</ol>\n<h2 id=\"schritt-f-r-schritt-eine-einfache-seite\" class=\"pp-heading\">Schritt für Schritt: eine einfache Seite<a class=\"pp-heading-anchor\" href=\"#schritt-f-r-schritt-eine-einfache-seite\" aria-label=\"Link to this section\">#</a></h2>\n<p>Lege im Projektroot (oder unter <code>srcDir</code>) eine Markdown-Datei an, z. B. <code>kontakt.md</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:#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\">Kontakt</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">description</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">So erreichst du uns</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">layout</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">page</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">---</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\"># Kontakt</span></span>\n<span class=\"line\"></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">Schreib uns an </span><span style=\"color:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold\">**hello@example.com**</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.</span></span></code></pre><p>Speichern — unter <code>pnpm run dev</code> ist die Seite sofort unter <strong>/kontakt</strong> erreichbar.</p>\n<blockquote>\n<p><strong>Hinweis</strong>\nDer Dateiname (ohne Endung) bestimmt den URL-Pfad. <code>kontakt.md</code> → <code>/kontakt</code>, nicht <code>/kontakt.md</code>.</p>\n</blockquote>\n<h2 id=\"wo-die-datei-liegt-welche-url\" class=\"pp-heading\">Wo die Datei liegt → welche URL<a class=\"pp-heading-anchor\" href=\"#wo-die-datei-liegt-welche-url\" aria-label=\"Link to this section\">#</a></h2>\n<p>PreactPress nutzt <strong>dateibasiertes Routing</strong>. Der Pfad relativ zu <code>srcDir</code> wird zur Route:</p>\n<table>\n<thead>\n<tr>\n<th>Datei</th>\n<th>URL</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>index.md</code></td>\n<td><code>/</code></td>\n</tr>\n<tr>\n<td><code>about.md</code></td>\n<td><code>/about</code></td>\n</tr>\n<tr>\n<td><code>guide/einfuehrung.md</code></td>\n<td><code>/guide/einfuehrung</code></td>\n</tr>\n<tr>\n<td><code>guide/index.md</code></td>\n<td><code>/guide</code></td>\n</tr>\n<tr>\n<td><code>news/2025/intro.md</code></td>\n<td><code>/news/2025/intro</code></td>\n</tr>\n<tr>\n<td><code>interactive.mdx</code></td>\n<td><code>/interactive</code></td>\n</tr>\n</tbody>\n</table>\n<p>Produktionsbuilds schreiben Verzeichnis-Indexe (<code>dist/about/index.html</code>), damit URLs ohne <code>.html</code> funktionieren.</p>\n<p>Ausführliche Details: <a href=\"/de/guide/routing\">Routing</a>.</p>\n<h2 id=\"quellverzeichnis-srcdir\" class=\"pp-heading\">Quellverzeichnis (<code>srcDir</code>)<a class=\"pp-heading-anchor\" href=\"#quellverzeichnis-srcdir\" aria-label=\"Link to this section\">#</a></h2>\n<p>Standardmäßig liegen Markdown-Dateien im Projektroot neben <code>.preactpress/</code>. Du kannst Inhalte in einen Unterordner legen:</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\">// .preactpress/config.ts</span></span>\n<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>Dann gehören alle Seiten nach <code>docs/</code> — z. B. <code>docs/index.md</code> → <code>/</code>, <code>docs/guide/foo.md</code> → <code>/guide/foo</code>. Die URLs bleiben gleich; nur der Speicherort der Dateien ändert sich.</p>\n<h2 id=\"frontmatter-optional-aber-empfohlen\" class=\"pp-heading\">Frontmatter (optional, aber empfohlen)<a class=\"pp-heading-anchor\" href=\"#frontmatter-optional-aber-empfohlen\" aria-label=\"Link to this section\">#</a></h2>\n<p>YAML am Dateianfang steuert Metadaten und Darstellung:</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\">Meine Seite</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">description</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">Kurztext für Suche, SEO und Social Previews</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">layout</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">doc</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">---</span></span></code></pre><table>\n<thead>\n<tr>\n<th>Feld</th>\n<th>Zweck</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>title</code></td>\n<td>Seitentitel (Navigation, <code>&lt;title&gt;</code>, Suche)</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>Zusammenfassung für SEO und Suche</td>\n</tr>\n<tr>\n<td><code>layout: doc</code></td>\n<td>Doku-Layout mit Sidebar, Gliederung und Vor/Zurück-Links</td>\n</tr>\n<tr>\n<td><code>layout: page</code></td>\n<td>Inhaltsseite ohne Sidebar und ohne Doku-Gliederung</td>\n</tr>\n<tr>\n<td><code>layout: home</code></td>\n<td>Startseiten-Layout mit optional <code>hero</code> und <code>features</code></td>\n</tr>\n<tr>\n<td><code>draft: true</code></td>\n<td>Seite wird aus Build, Sitemap und Suche ausgeschlossen</td>\n</tr>\n</tbody>\n</table>\n<p>Weitere Felder (<code>tags</code>, <code>sidebar: false</code>, <code>navbar: false</code>, …) stehen im README des npm-Pakets bzw. in der Referenz des Starters.</p>\n<h2 id=\"mdx-seiten-mit-komponenten\" class=\"pp-heading\">MDX-Seiten mit Komponenten<a class=\"pp-heading-anchor\" href=\"#mdx-seiten-mit-komponenten\" aria-label=\"Link to this section\">#</a></h2>\n<p>Brauchst du interaktive UI, nutze <code>.mdx</code> statt <code>.md</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:#032F62;--shiki-dark:#9ECBFF\">---</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\">Demo</span></span>\n<span class=\"line\"><span style=\"color:#22863A;--shiki-dark:#85E89D\">description</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">Interaktive Komponente</span></span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">---</span></span>\n<span class=\"line\"></span>\n<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\">## Zähler</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><p>Komponenten importierst du relativ zur MDX-Datei. Überschriften <code>##</code> und <code>###</code> erscheinen in der Seitengliederung (bei <code>layout: doc</code>).</p>\n<p>Beispiel im Starter: <a href=\"/de/interactive\">Interaktives MDX</a>.</p>\n<h2 id=\"in-die-navigation-einbinden\" class=\"pp-heading\">In die Navigation einbinden<a class=\"pp-heading-anchor\" href=\"#in-die-navigation-einbinden\" aria-label=\"Link to this section\">#</a></h2>\n<p>Neue Seiten erscheinen <strong>nicht automatisch</strong> in der Kopfzeile oder Sidebar. Trage sie in <code>.preactpress/config.ts</code> ein:</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\"> themeConfig: {</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> nav: [</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { text: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Start'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { text: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Kontakt'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/kontakt'</span><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\"> sidebar: [</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\"> text: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Anleitung'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">,</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> items: [</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { text: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Seiten erstellen'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/de/guide/seiten-erstellen'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },</span></span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { text: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Kontakt'</span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: </span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/kontakt'</span><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>\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>Bei mehrsprachigen Sites (<code>locales</code>) gehören <code>nav</code> und <code>sidebar</code> in die jeweilige Locale-Konfiguration — siehe <a href=\"/de/guide/getting-started\">Getting Started</a>.</p>\n<h2 id=\"bersetzte-seite-locale\" class=\"pp-heading\">Übersetzte Seite (Locale)<a class=\"pp-heading-anchor\" href=\"#bersetzte-seite-locale\" aria-label=\"Link to this section\">#</a></h2>\n<p>Mit konfigurierten Locales legst du Übersetzungen in Sprachordnern ab:</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>kontakt.md → /kontakt</span></span>\n<span class=\"line\"><span>de/kontakt.md → /de/kontakt</span></span></code></pre><p>Die deutsche Version ist eine <strong>eigene Datei</strong>, kein Alias der englischen Seite.</p>\n<h2 id=\"entw-rfe-und-pr-fung\" class=\"pp-heading\">Entwürfe und Prüfung<a class=\"pp-heading-anchor\" href=\"#entw-rfe-und-pr-fung\" aria-label=\"Link to this section\">#</a></h2>\n<ul>\n<li><strong><code>draft: true</code></strong> im Frontmatter: Seite nur lokal sichtbar im Dev-Modus, nicht im Produktionsbuild.</li>\n<li><strong><code>pnpm run check</code></strong>: prüft fehlende Links, unbekannte Layouts, Route-Kollisionen und warnt bei Entwürfen ohne Beschreibung.</li>\n</ul>\n<h2 id=\"typische-fehler\" class=\"pp-heading\">Typische Fehler<a class=\"pp-heading-anchor\" href=\"#typische-fehler\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th>Problem</th>\n<th>Lösung</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Seite 404</td>\n<td>Dateiendung <code>.md</code> / <code>.mdx</code>? Liegt die Datei unter <code>srcDir</code>? Dev-Server läuft?</td>\n</tr>\n<tr>\n<td>Link in Markdown funktioniert nicht</td>\n<td>Extension weglassen: <code>/guide/foo</code>, nicht <code>/guide/foo.md</code></td>\n</tr>\n<tr>\n<td>Doppelte URL</td>\n<td>Zwei Dateien dürfen nicht dieselbe Route erzeugen (z. B. <code>foo.md</code> und <code>foo/index.md</code>)</td>\n</tr>\n<tr>\n<td>Seite fehlt in der Navigation</td>\n<td><code>nav</code> / <code>sidebar</code> in der Config ergänzen</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"n-chste-schritte\" class=\"pp-heading\">Nächste Schritte<a class=\"pp-heading-anchor\" href=\"#n-chste-schritte\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th>Thema</th>\n<th>Link</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Erste Änderungen in 5 Minuten</td>\n<td><a href=\"/de/guide/first-five-minutes\">Die ersten 5 Minuten</a></td>\n</tr>\n<tr>\n<td>Routing, <code>srcDir</code>, Tags</td>\n<td><a href=\"/de/guide/routing\">Routing</a></td>\n</tr>\n<tr>\n<td>Markdown-Syntax</td>\n<td><a href=\"/de/markdown-examples\">Markdown-Beispiele</a></td>\n</tr>\n<tr>\n<td>Produktion bauen</td>\n<td><a href=\"/de/guide/deploy\">Deploy</a></td>\n</tr>\n</tbody>\n</table>\n",
8
- "title": "Seiten erstellen",
9
- "description": "Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden",
10
- "tags": [],
11
- "pageType": "website",
12
- "headings": [
13
- {
14
- "id": "kurz-berblick",
15
- "text": "Kurzüberblick",
16
- "level": 2
17
- },
18
- {
19
- "id": "schritt-f-r-schritt-eine-einfache-seite",
20
- "text": "Schritt für Schritt: eine einfache Seite",
21
- "level": 2
22
- },
23
- {
24
- "id": "wo-die-datei-liegt-welche-url",
25
- "text": "Wo die Datei liegt → welche URL",
26
- "level": 2
27
- },
28
- {
29
- "id": "quellverzeichnis-srcdir",
30
- "text": "Quellverzeichnis (srcDir)",
31
- "level": 2
32
- },
33
- {
34
- "id": "frontmatter-optional-aber-empfohlen",
35
- "text": "Frontmatter (optional, aber empfohlen)",
36
- "level": 2
37
- },
38
- {
39
- "id": "mdx-seiten-mit-komponenten",
40
- "text": "MDX-Seiten mit Komponenten",
41
- "level": 2
42
- },
43
- {
44
- "id": "in-die-navigation-einbinden",
45
- "text": "In die Navigation einbinden",
46
- "level": 2
47
- },
48
- {
49
- "id": "bersetzte-seite-locale",
50
- "text": "Übersetzte Seite (Locale)",
51
- "level": 2
52
- },
53
- {
54
- "id": "entw-rfe-und-pr-fung",
55
- "text": "Entwürfe und Prüfung",
56
- "level": 2
57
- },
58
- {
59
- "id": "typische-fehler",
60
- "text": "Typische Fehler",
61
- "level": 2
62
- },
63
- {
64
- "id": "n-chste-schritte",
65
- "text": "Nächste Schritte",
66
- "level": 2
67
- }
68
- ],
69
- "relativePath": "de/guide/seiten-erstellen.md",
70
- "lastUpdated": "2026-06-05T05:42:40.470Z"
71
- }
@@ -1,51 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "Was ist PreactPress?",
5
- "description": "Erfahre, was PreactPress ist und wann du es einsetzen kannst"
6
- },
7
- "html": "<h1 id=\"was-ist-preactpress\" class=\"pp-heading\">Was ist PreactPress?<a class=\"pp-heading-anchor\" href=\"#was-ist-preactpress\" aria-label=\"Link to this section\">#</a></h1>\n<p>PreactPress ist ein Static-Site-Generator für schnelle, inhaltsorientierte Websites. Du schreibst Seiten in Markdown oder MDX, konfigurierst Navigation und Theme-Optionen in <code>.preactpress/config.ts</code>, und PreactPress erzeugt statisches HTML für beliebige Static Hosts.</p>\n<p>Es basiert auf <a href=\"https://vite.dev/\" target=\"_blank\" rel=\"noopener noreferrer\">Vite</a> und <a href=\"https://preactjs.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Preact</a>. Der Workflow ist von VitePress inspiriert, aber das Komponentenmodell ist Preact statt Vue.</p>\n<h2 id=\"einsatzbereiche\" class=\"pp-heading\">Einsatzbereiche<a class=\"pp-heading-anchor\" href=\"#einsatzbereiche\" aria-label=\"Link to this section\">#</a></h2>\n<h3 id=\"dokumentation\" class=\"pp-heading\">Dokumentation<a class=\"pp-heading-anchor\" href=\"#dokumentation\" aria-label=\"Link to this section\">#</a></h3>\n<p>PreactPress bringt ein kleines Standard-Theme für technische Dokumentation mit. Es enthält Navigation, Sidebar-Gruppen, Outline-Links, Suche, Last-Updated-Metadaten und Markdown-Rendering.</p>\n<p>Es passt besonders gut, wenn deine Dokumentation natürlich als Dateien wächst:</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>Jede Markdown- oder MDX-Datei wird zu einer Seite. Neue Dokumentation entsteht also durch neue Dateien und Einträge in der Sidebar.</p>\n<h3 id=\"blogs-portfolios-und-marketing-seiten\" class=\"pp-heading\">Blogs, Portfolios und Marketing-Seiten<a class=\"pp-heading-anchor\" href=\"#blogs-portfolios-und-marketing-seiten\" aria-label=\"Link to this section\">#</a></h3>\n<p>PreactPress kann auch Blogs, Portfolios und kleine Marketing-Seiten erzeugen. Markdown trägt den Inhalt, MDX bringt interaktive Preact-Komponenten hinein, und eigene Themes ersetzen bei Bedarf das Standard-Doku-Layout.</p>\n<p>Im separaten Projekt <code>preactpress-examples</code> gibt es ein Custom-Theme-Beispiel mit Magazin-Layout, Artikel-Teasern und Tag-Seiten.</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 soll Content-Arbeit einfach halten:</p>\n<table>\n<thead>\n<tr>\n<th>Feature</th>\n<th>Nutzen</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Vite Dev-Server</td>\n<td>Schneller Start und Hot Updates beim Bearbeiten</td>\n</tr>\n<tr>\n<td>Markdown-Frontmatter</td>\n<td>Titel, Beschreibungen, Tags, Draft-Status und Social-Metadaten</td>\n</tr>\n<tr>\n<td>MDX</td>\n<td>Preact-Komponenten direkt in Inhaltsseiten</td>\n</tr>\n<tr>\n<td>Standard-Theme</td>\n<td>Nav, Sidebar, Outline, Suche, Footer, Sprachumschalter</td>\n</tr>\n<tr>\n<td><code>preactpress check</code></td>\n<td>Validierung von Config, Routen und Links vor dem Release</td>\n</tr>\n</tbody>\n</table>\n<p>Für normale Inhalte nimmst du <code>.md</code>. Wenn eine Seite Interaktivität braucht, nimmst du <code>.mdx</code> und importierst eine Preact-Komponente:</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 erzeugt beim Produktionsbuild statisches HTML für jede Route. Der erste Besuch erhält also HTML, das den Seiteninhalt bereits enthält. Das ist gut für Ladezeit und SEO.</p>\n<p>Nach der Hydration übernimmt die Client-Navigation. Markdown-Seiten werden als kleine JSON-Payloads aus <code>preactpress-content/*.json</code> geladen, sodass große Sites nicht jeden Markdown-Body im ersten JavaScript-Bundle ausliefern müssen.</p>\n<p>Der Produktionsbuild besteht nur aus statischen Dateien:</p>\n<table>\n<thead>\n<tr>\n<th>Ausgabe</th>\n<th>Zweck</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>index.html</code>, <code>*/index.html</code></td>\n<td>Eine HTML-Datei pro Route</td>\n</tr>\n<tr>\n<td><code>assets/*</code></td>\n<td>Gehashtes JavaScript und CSS von Vite</td>\n</tr>\n<tr>\n<td><code>preactpress-search.json</code></td>\n<td>Suchdaten für das Standard-Theme</td>\n</tr>\n<tr>\n<td><code>preactpress-content/*.json</code></td>\n<td>Lazy geladene Markdown-Payloads</td>\n</tr>\n<tr>\n<td><code>404.html</code></td>\n<td>Fehlerseite</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"was-ist-mit-vitepress\" class=\"pp-heading\">Was ist mit VitePress?<a class=\"pp-heading-anchor\" href=\"#was-ist-mit-vitepress\" aria-label=\"Link to this section\">#</a></h2>\n<p>Wenn du VitePress kennst, wird sich PreactPress vertraut anfühlen: Beide nutzen Vite, dateibasierte Markdown-Routen, ein Standard-Doku-Theme und statischen Output.</p>\n<p>Der wichtigste Unterschied ist der UI-Stack. VitePress nutzt Vue. PreactPress nutzt Preact und MDX, daher werden interaktive Inhalte und eigene Themes als Preact-Komponenten geschrieben.</p>\n<p>PreactPress ist in Produktion außerdem static-only. Du baust die Site einmal, lädst das Ausgabeverzeichnis hoch und hostest es auf Netlify, Vercel, Cloudflare Pages, GitHub Pages, S3, Nginx oder einem anderen Static Host.</p>\n<h2 id=\"n-chste-schritte\" class=\"pp-heading\">Nächste Schritte<a class=\"pp-heading-anchor\" href=\"#n-chste-schritte\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th>Seite</th>\n<th>Warum</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"/de/guide/getting-started\">Getting Started</a></td>\n<td>PreactPress installieren und die Starter-Struktur verstehen</td>\n</tr>\n<tr>\n<td><a href=\"/de/guide/routing\">Routing</a></td>\n<td>Lernen, wie Dateien zu URLs werden</td>\n</tr>\n<tr>\n<td><a href=\"/de/guide/deploy\">Deploy</a></td>\n<td>Eine statische Site bauen und veröffentlichen</td>\n</tr>\n</tbody>\n</table>\n",
8
- "title": "Was ist PreactPress?",
9
- "description": "Erfahre, was PreactPress ist und wann du es einsetzen kannst",
10
- "tags": [],
11
- "pageType": "website",
12
- "headings": [
13
- {
14
- "id": "einsatzbereiche",
15
- "text": "Einsatzbereiche",
16
- "level": 2
17
- },
18
- {
19
- "id": "dokumentation",
20
- "text": "Dokumentation",
21
- "level": 3
22
- },
23
- {
24
- "id": "blogs-portfolios-und-marketing-seiten",
25
- "text": "Blogs, Portfolios und Marketing-Seiten",
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": "was-ist-mit-vitepress",
40
- "text": "Was ist mit VitePress?",
41
- "level": 2
42
- },
43
- {
44
- "id": "n-chste-schritte",
45
- "text": "Nächste Schritte",
46
- "level": 2
47
- }
48
- ],
49
- "relativePath": "de/guide/what-is-preactpress.md",
50
- "lastUpdated": "2026-06-04T07:32:56.298Z"
51
- }
@@ -1,131 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "Markdown-Beispiele",
5
- "description": "Häufige 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\"> `Hallo, ${</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>Einzelne Zeilen kannst du per Fence-Meta (<code>{2}</code>) oder Inline-Notation markieren:</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\"> `Hallo, ${</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 wie <code>themeConfig.outline</code> verwendet dieselben Theme-Tokens wie Codeblöcke.</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>Wiederverwende Quelldateien statt Code zu duplizieren:</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>Das <code>@/</code>-Präfix wird relativ zum Content-Root (<code>srcDir</code>) aufgelöst.</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=\"/de\">Start</a> · <a href=\"https://preactjs.com\" target=\"_blank\" rel=\"noopener noreferrer\">Externer Link</a></p>\n<h2 id=\"tabellen\" class=\"pp-heading\">Tabellen<a class=\"pp-heading-anchor\" href=\"#tabellen\" aria-label=\"Link to this section\">#</a></h2>\n<table>\n<thead>\n<tr>\n<th>Syntax</th>\n<th>Ergebnis</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code># Titel</code></td>\n<td>Überschrift</td>\n</tr>\n<tr>\n<td><code>---</code> Frontmatter</td>\n<td>Seitenmetadaten</td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"zitate\" class=\"pp-heading\">Zitate<a class=\"pp-heading-anchor\" href=\"#zitate\" aria-label=\"Link to this section\">#</a></h2>\n<blockquote>\n<p>Nutze Blockquotes für Callouts, Hinweise oder kurze Kontextinformationen.</p>\n</blockquote>\n<h2 id=\"container\" class=\"pp-heading\">Container<a class=\"pp-heading-anchor\" href=\"#container\" 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> und <code>::: details</code> funktionieren wie bei VitePress.</p>\n</div></div><div class=\"pp-container pp-container-warning\"><p class=\"pp-container-title\">Eigener Titel</p><div class=\"pp-container-body\"><p>Optional kannst du nach dem Typ einen eigenen Titel angeben.</p>\n</div></div><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-Alert-Syntax wird wie die Custom Container gerendert:</p>\n<div class=\"pp-container pp-container-note\"><p class=\"pp-container-title\">NOTE</p><div class=\"pp-container-body\"><p>Nützliche Informationen für Leserinnen und Leser.</p>\n</div></div><div class=\"pp-container pp-container-tip\"><p class=\"pp-container-title\">TIP</p><div class=\"pp-container-body\"><p>Optionale Tipps für bessere Ergebnisse.</p>\n</div></div><div class=\"pp-container pp-container-warning\"><p class=\"pp-container-title\">WARNING</p><div class=\"pp-container-body\"><p>Kritische Inhalte, die sofortige Aufmerksamkeit brauchen.</p>\n</div></div><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=\"eigener-anker\" class=\"pp-heading\">Eigene Anker<a class=\"pp-heading-anchor\" href=\"#eigener-anker\" aria-label=\"Link to this section\">#</a></h2>\n<p>Mit <code>{#deine-id}</code> steuerst du die Fragment-URL.</p>\n<h2 id=\"inline-inhaltsverzeichnis\" class=\"pp-heading\">Inline-Inhaltsverzeichnis<a class=\"pp-heading-anchor\" href=\"#inline-inhaltsverzeichnis\" 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=\"#tabellen\">Tabellen</a><a class=\"pp-inline-toc-link level-2\" href=\"#zitate\">Zitate</a><a class=\"pp-inline-toc-link level-2\" href=\"#container\">Container</a><a class=\"pp-inline-toc-link level-2\" href=\"#gfm-alerts\">GFM-Alerts</a><a class=\"pp-inline-toc-link level-2\" href=\"#heading-ids\">Heading-IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#eigener-anker\">Eigene Anker</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-inhaltsverzeichnis\">Inline-Inhaltsverzeichnis</a><a class=\"pp-inline-toc-link level-3\" href=\"#erster-abschnitt\">Erster Abschnitt</a><a class=\"pp-inline-toc-link level-3\" href=\"#zweiter-abschnitt\">Zweiter Abschnitt</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-gruppen\">Code-Gruppen</a><a class=\"pp-inline-toc-link level-2\" href=\"#eigene-heading-ids\">Eigene Heading-IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#stabile-id\">Stabile Links</a><a class=\"pp-inline-toc-link level-2\" href=\"#emoji\">Emoji</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-inhaltsverzeichnis-2\">Inline-Inhaltsverzeichnis</a><a class=\"pp-inline-toc-link level-2\" href=\"#zweiter-abschnitt-2\">Zweiter Abschnitt</a><a class=\"pp-inline-toc-link level-3\" href=\"#unterabschnitt\">Unterabschnitt</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-gruppen-2\">Code-Gruppen</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></nav><h3 id=\"erster-abschnitt\" class=\"pp-heading\">Erster Abschnitt<a class=\"pp-heading-anchor\" href=\"#erster-abschnitt\" aria-label=\"Link to this section\">#</a></h3>\n<p>Inhalt des ersten Abschnitts.</p>\n<h3 id=\"zweiter-abschnitt\" class=\"pp-heading\">Zweiter Abschnitt<a class=\"pp-heading-anchor\" href=\"#zweiter-abschnitt\" aria-label=\"Link to this section\">#</a></h3>\n<p>Inhalt des zweiten Abschnitts.</p>\n<h2 id=\"code-gruppen\" class=\"pp-heading\">Code-Gruppen<a class=\"pp-heading-anchor\" href=\"#code-gruppen\" 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\">npm</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\">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=\"eigene-heading-ids\" class=\"pp-heading\">Eigene Heading-IDs<a class=\"pp-heading-anchor\" href=\"#eigene-heading-ids\" aria-label=\"Link to this section\">#</a></h2>\n<h2 id=\"stabile-id\" class=\"pp-heading\">Stabile Links<a class=\"pp-heading-anchor\" href=\"#stabile-id\" aria-label=\"Link to this section\">#</a></h2>\n<p>Hänge <code>{#id}</code> an eine Überschrift, um den Anker zu steuern.</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><code>:tada:</code> und <code>:rocket:</code> funktionieren standardmäßig.</p>\n<h2 id=\"inline-inhaltsverzeichnis-2\" class=\"pp-heading\">Inline-Inhaltsverzeichnis<a class=\"pp-heading-anchor\" href=\"#inline-inhaltsverzeichnis-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=\"#tabellen\">Tabellen</a><a class=\"pp-inline-toc-link level-2\" href=\"#zitate\">Zitate</a><a class=\"pp-inline-toc-link level-2\" href=\"#container\">Container</a><a class=\"pp-inline-toc-link level-2\" href=\"#gfm-alerts\">GFM-Alerts</a><a class=\"pp-inline-toc-link level-2\" href=\"#heading-ids\">Heading-IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#eigener-anker\">Eigene Anker</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-inhaltsverzeichnis\">Inline-Inhaltsverzeichnis</a><a class=\"pp-inline-toc-link level-3\" href=\"#erster-abschnitt\">Erster Abschnitt</a><a class=\"pp-inline-toc-link level-3\" href=\"#zweiter-abschnitt\">Zweiter Abschnitt</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-gruppen\">Code-Gruppen</a><a class=\"pp-inline-toc-link level-2\" href=\"#eigene-heading-ids\">Eigene Heading-IDs</a><a class=\"pp-inline-toc-link level-2\" href=\"#stabile-id\">Stabile Links</a><a class=\"pp-inline-toc-link level-2\" href=\"#emoji\">Emoji</a><a class=\"pp-inline-toc-link level-2\" href=\"#inline-inhaltsverzeichnis-2\">Inline-Inhaltsverzeichnis</a><a class=\"pp-inline-toc-link level-2\" href=\"#zweiter-abschnitt-2\">Zweiter Abschnitt</a><a class=\"pp-inline-toc-link level-3\" href=\"#unterabschnitt\">Unterabschnitt</a><a class=\"pp-inline-toc-link level-2\" href=\"#code-gruppen-2\">Code-Gruppen</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></nav><h2 id=\"zweiter-abschnitt-2\" class=\"pp-heading\">Zweiter Abschnitt<a class=\"pp-heading-anchor\" href=\"#zweiter-abschnitt-2\" aria-label=\"Link to this section\">#</a></h2>\n<p>Inhalt unter dem inline TOC.</p>\n<h3 id=\"unterabschnitt\" class=\"pp-heading\">Unterabschnitt<a class=\"pp-heading-anchor\" href=\"#unterabschnitt\" aria-label=\"Link to this section\">#</a></h3>\n<p>Verschachtelte Überschrift für die Gliederung.</p>\n<h2 id=\"code-gruppen-2\" class=\"pp-heading\">Code-Gruppen<a class=\"pp-heading-anchor\" href=\"#code-gruppen-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\">config.js</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\">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",
11
- "title": "Markdown-Beispiele",
12
- "description": "Häufige 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": "tabellen",
35
- "text": "Tabellen",
36
- "level": 2
37
- },
38
- {
39
- "id": "zitate",
40
- "text": "Zitate",
41
- "level": 2
42
- },
43
- {
44
- "id": "container",
45
- "text": "Container",
46
- "level": 2
47
- },
48
- {
49
- "id": "gfm-alerts",
50
- "text": "GFM-Alerts",
51
- "level": 2
52
- },
53
- {
54
- "id": "heading-ids",
55
- "text": "Heading-IDs",
56
- "level": 2
57
- },
58
- {
59
- "id": "eigener-anker",
60
- "text": "Eigene Anker",
61
- "level": 2
62
- },
63
- {
64
- "id": "inline-inhaltsverzeichnis",
65
- "text": "Inline-Inhaltsverzeichnis",
66
- "level": 2
67
- },
68
- {
69
- "id": "erster-abschnitt",
70
- "text": "Erster Abschnitt",
71
- "level": 3
72
- },
73
- {
74
- "id": "zweiter-abschnitt",
75
- "text": "Zweiter Abschnitt",
76
- "level": 3
77
- },
78
- {
79
- "id": "code-gruppen",
80
- "text": "Code-Gruppen",
81
- "level": 2
82
- },
83
- {
84
- "id": "eigene-heading-ids",
85
- "text": "Eigene Heading-IDs",
86
- "level": 2
87
- },
88
- {
89
- "id": "stabile-id",
90
- "text": "Stabile Links",
91
- "level": 2
92
- },
93
- {
94
- "id": "emoji",
95
- "text": "Emoji",
96
- "level": 2
97
- },
98
- {
99
- "id": "inline-inhaltsverzeichnis-2",
100
- "text": "Inline-Inhaltsverzeichnis",
101
- "level": 2
102
- },
103
- {
104
- "id": "zweiter-abschnitt-2",
105
- "text": "Zweiter Abschnitt",
106
- "level": 2
107
- },
108
- {
109
- "id": "unterabschnitt",
110
- "text": "Unterabschnitt",
111
- "level": 3
112
- },
113
- {
114
- "id": "code-gruppen-2",
115
- "text": "Code-Gruppen",
116
- "level": 2
117
- },
118
- {
119
- "id": "markdown-inclusion",
120
- "text": "Markdown-Inclusion",
121
- "level": 2
122
- },
123
- {
124
- "id": "included-body",
125
- "text": "Included body",
126
- "level": 2
127
- }
128
- ],
129
- "relativePath": "de/markdown-examples.md",
130
- "lastUpdated": "2026-06-05T06:18:01.992Z"
131
- }
@@ -1,16 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {},
4
- "html": "<p>Zeile eins — übersprungen.\nZeile zwei — übersprungen.\nZeile drei — übersprungen.\nZeile vier — übersprungen.</p>\n<h2 id=\"eingebetteter-inhalt\" class=\"pp-heading\">Eingebetteter Inhalt<a class=\"pp-heading-anchor\" href=\"#eingebetteter-inhalt\" aria-label=\"Link to this section\">#</a></h2>\n<p>Dieser Absatz wird per <code>&lt;!-- include not found: /home/watzak/master/kamod/preactpress/templates/hono/de/parts/… --&gt;</code> eingebunden.</p>\n<p>Zeile sieben — übersprungen.</p>\n",
5
- "tags": [],
6
- "pageType": "website",
7
- "headings": [
8
- {
9
- "id": "eingebetteter-inhalt",
10
- "text": "Eingebetteter Inhalt",
11
- "level": 2
12
- }
13
- ],
14
- "relativePath": "de/parts/include-body.md",
15
- "lastUpdated": "2026-06-05T06:17:57.331Z"
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=\"/de/markdown-examples\">Markdown-Beispiele</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
- }
@@ -1,36 +0,0 @@
1
- {
2
- "kind": "markdown",
3
- "meta": {
4
- "title": "Commands",
5
- "description": "PreactPress CLI reference for local development and production builds"
6
- },
7
- "html": "<p>PreactPress ships a small CLI. Run commands from your site root (where <code>.preactpress/config.ts</code> lives).</p>\n<h2 id=\"development\" class=\"pp-heading\">Development<a class=\"pp-heading-anchor\" href=\"#development\" 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:#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\"> dev</span></span></code></pre><p>Starts Vite with SSR, hot reload, and the same HTML head shape as production.</p>\n<h2 id=\"production\" class=\"pp-heading\">Production<a class=\"pp-heading-anchor\" href=\"#production\" 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:#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>\n<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\"> preview</span></span></code></pre><p><code>build</code> writes static HTML to <code>outDir</code> (default <code>dist/</code>). <code>preview</code> serves that folder locally — not for production hosting.</p>\n<h2 id=\"project-setup\" class=\"pp-heading\">Project setup<a class=\"pp-heading-anchor\" href=\"#project-setup\" 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:#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\"> init</span></span>\n<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\"> init</span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --template</span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> docs</span></span></code></pre><p>Scaffolds a new site. The <code>docs</code> template includes this guide, i18n examples, and reference pages.</p>\n<h2 id=\"validation\" class=\"pp-heading\">Validation<a class=\"pp-heading-anchor\" href=\"#validation\" 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:#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\"> check</span></span></code></pre><p>Validates config, route collisions, nav/sidebar links, internal Markdown links, and draft pages before you deploy.</p>\n<div class=\"pp-container pp-container-tip\"><p class=\"pp-container-title\">TIP</p><div class=\"pp-container-body\"><p>Add <code>check</code> to CI so broken sidebar links fail the pipeline before merge.</p>\n</div></div>",
8
- "title": "Commands",
9
- "description": "PreactPress CLI reference for local development and production builds",
10
- "tags": [],
11
- "pageType": "website",
12
- "headings": [
13
- {
14
- "id": "development",
15
- "text": "Development",
16
- "level": 2
17
- },
18
- {
19
- "id": "production",
20
- "text": "Production",
21
- "level": 2
22
- },
23
- {
24
- "id": "project-setup",
25
- "text": "Project setup",
26
- "level": 2
27
- },
28
- {
29
- "id": "validation",
30
- "text": "Validation",
31
- "level": 2
32
- }
33
- ],
34
- "relativePath": "guide/commands.md",
35
- "lastUpdated": "2026-06-05T05:42:40.517Z"
36
- }