@kamod-ch/preactpress 1.0.0 → 1.0.3

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 (526) 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 +55 -42
  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 +2 -1
  18. package/dist/client/loadPage.d.ts.map +1 -1
  19. package/dist/client/loadPage.js +15 -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/scrollRestoration.d.ts +10 -0
  232. package/dist/shared/scrollRestoration.d.ts.map +1 -0
  233. package/dist/shared/scrollRestoration.js +66 -0
  234. package/dist/shared/scrollRestoration.js.map +1 -0
  235. package/dist/shared/search.d.ts +3 -3
  236. package/dist/shared/search.d.ts.map +1 -1
  237. package/dist/shared/search.js +18 -15
  238. package/dist/shared/search.js.map +1 -1
  239. package/dist/shared/sidebar.d.ts +1 -1
  240. package/dist/shared/sidebar.d.ts.map +1 -1
  241. package/dist/shared/sidebar.js +4 -4
  242. package/dist/shared/sidebar.js.map +1 -1
  243. package/dist/shared/slug.d.ts +1 -1
  244. package/dist/shared/slug.d.ts.map +1 -1
  245. package/dist/shared/slug.js +5 -5
  246. package/dist/shared/slug.js.map +1 -1
  247. package/dist/shared/socialIcons.d.ts.map +1 -1
  248. package/dist/shared/socialIcons.js +4 -4
  249. package/dist/shared/socialIcons.js.map +1 -1
  250. package/dist/shared/tags.js +8 -8
  251. package/dist/shared/tags.js.map +1 -1
  252. package/dist/shared/theme.d.ts +1 -1
  253. package/dist/shared/theme.d.ts.map +1 -1
  254. package/dist/shared/theme.js +16 -10
  255. package/dist/shared/theme.js.map +1 -1
  256. package/dist/shared/themeLabels.d.ts +1 -1
  257. package/dist/shared/themeLabels.d.ts.map +1 -1
  258. package/dist/shared/themeLabels.js +26 -26
  259. package/dist/shared/themeLabels.js.map +1 -1
  260. package/dist/shared/url.d.ts.map +1 -1
  261. package/dist/shared/url.js +3 -3
  262. package/dist/shared/url.js.map +1 -1
  263. package/package.json +33 -9
  264. package/src/client/app.tsx +111 -92
  265. package/src/client/entry-client.tsx +17 -19
  266. package/src/client/entry-ssr.tsx +33 -33
  267. package/src/client/index.ts +16 -2
  268. package/src/client/loadPage.ts +41 -38
  269. package/src/client/prefetchLinks.ts +30 -30
  270. package/src/client/theme-default/AlgoliaSearch.tsx +46 -46
  271. package/src/client/theme-default/Features.tsx +27 -21
  272. package/src/client/theme-default/Hero.tsx +22 -18
  273. package/src/client/theme-default/Layout.tsx +189 -244
  274. package/src/client/theme-default/Logo.tsx +30 -40
  275. package/src/client/theme-default/NavLinks.tsx +21 -21
  276. package/src/client/theme-default/SidebarNav.tsx +29 -29
  277. package/src/client/theme-default/SocialLinks.tsx +11 -11
  278. package/src/client/theme-default/ThemeToggle.tsx +2 -78
  279. package/src/client/theme-default/index.ts +1 -1
  280. package/src/client/theme-default/styles.css +30 -21
  281. package/src/client/theme-utils.tsx +184 -0
  282. package/src/client/types.ts +30 -24
  283. package/src/client/usePageHead.ts +128 -128
  284. package/src/client/useSiteSearch.ts +34 -34
  285. package/src/client/virtual.d.ts +76 -76
  286. package/src/shared/contentChunk.ts +6 -6
  287. package/src/shared/contentSchema.ts +52 -49
  288. package/src/shared/deadLinks.ts +16 -16
  289. package/src/shared/escapeHtml.ts +5 -5
  290. package/src/shared/index.ts +21 -25
  291. package/src/shared/locale.ts +46 -46
  292. package/src/shared/pageChrome.ts +123 -123
  293. package/src/shared/pageHead.ts +16 -16
  294. package/src/shared/pageMeta.ts +79 -79
  295. package/src/shared/rewrites.ts +14 -16
  296. package/src/shared/route.ts +7 -7
  297. package/src/shared/scrollRestoration.ts +70 -0
  298. package/src/shared/search.ts +56 -52
  299. package/src/shared/sidebar.ts +28 -28
  300. package/src/shared/slug.ts +13 -13
  301. package/src/shared/socialIcons.ts +12 -14
  302. package/src/shared/tags.ts +20 -20
  303. package/src/shared/theme.ts +22 -13
  304. package/src/shared/themeLabels.ts +45 -45
  305. package/src/shared/url.ts +6 -10
  306. package/templates/default/.preactpress/config.ts +17 -17
  307. package/templates/default/README.md +16 -16
  308. package/templates/default/guide/first-five-minutes.md +21 -21
  309. package/templates/default/index.html +1 -1
  310. package/templates/default/index.md +9 -9
  311. package/templates/default/package.json +1 -1
  312. package/templates/default/pnpm-lock.yaml +5 -5
  313. package/templates/docs/.preactpress/config.ts +76 -56
  314. package/templates/docs/README.md +6 -6
  315. package/templates/docs/components/BenefitsGrid.tsx +45 -0
  316. package/templates/docs/components/CliBlock.tsx +38 -0
  317. package/templates/docs/components/ComparisonTable.tsx +60 -0
  318. package/templates/docs/components/CopyableCommand.tsx +86 -0
  319. package/templates/docs/components/Counter.tsx +7 -5
  320. package/templates/docs/components/MarketingHero.tsx +63 -0
  321. package/templates/docs/components/MdxDemo.tsx +96 -0
  322. package/templates/docs/components/References.tsx +62 -0
  323. package/templates/docs/components/TemplateGallery.tsx +46 -0
  324. package/templates/docs/components/marketing.css +992 -0
  325. package/templates/docs/examples/algolia-docsearch.md +33 -0
  326. package/templates/docs/examples/content-loader.data.ts +11 -0
  327. package/templates/docs/examples/content-loader.md +29 -0
  328. package/templates/docs/examples/dynamic-routes.md +16 -0
  329. package/templates/docs/examples/static-assets.md +13 -0
  330. package/templates/docs/guide/advanced.md +4 -4
  331. package/templates/docs/guide/commands.md +10 -10
  332. package/templates/docs/guide/configuration.md +43 -43
  333. package/templates/docs/guide/creating-pages.md +60 -39
  334. package/templates/docs/guide/custom-themes.md +9 -9
  335. package/templates/docs/guide/deploy.md +29 -29
  336. package/templates/docs/guide/first-five-minutes.md +22 -22
  337. package/templates/docs/guide/getting-started.md +29 -31
  338. package/templates/docs/guide/markdown-and-mdx.md +1 -1
  339. package/templates/docs/guide/routing.md +40 -40
  340. package/templates/docs/guide/what-is-preactpress.md +18 -18
  341. package/templates/docs/index.html +1 -1
  342. package/templates/docs/index.mdx +25 -0
  343. package/templates/docs/interactive.mdx +1 -1
  344. package/templates/docs/markdown-examples.md +73 -21
  345. package/templates/docs/package.json +1 -1
  346. package/templates/docs/packages/[pkg].md +15 -0
  347. package/templates/docs/packages/[pkg].paths.ts +20 -0
  348. package/templates/docs/parts/include-body.md +1 -0
  349. package/templates/docs/pnpm-lock.yaml +5 -5
  350. package/templates/docs/public/preactpress-example.txt +1 -0
  351. package/templates/docs/snippets/greet.ts +1 -1
  352. package/templates/hono/.preactpress/config.ts +65 -65
  353. package/templates/hono/.preactpress/theme/CodeSnippet.tsx +15 -15
  354. package/templates/hono/.preactpress/theme/FeatureGrid.tsx +7 -7
  355. package/templates/hono/.preactpress/theme/Hero.tsx +13 -13
  356. package/templates/hono/.preactpress/theme/Layout.tsx +122 -164
  357. package/templates/hono/.preactpress/theme/Logo.tsx +6 -6
  358. package/templates/hono/.preactpress/theme/ThemeToggle.tsx +3 -70
  359. package/templates/hono/.preactpress/theme/hono.css +31 -14
  360. package/templates/hono/README.md +17 -15
  361. package/templates/hono/components/Counter.tsx +7 -5
  362. package/templates/hono/de/guide/configuration.md +18 -20
  363. package/templates/hono/de/guide/deploy.md +29 -29
  364. package/templates/hono/de/guide/first-five-minutes.md +21 -21
  365. package/templates/hono/de/guide/getting-started.md +29 -29
  366. package/templates/hono/de/guide/routing.md +26 -25
  367. package/templates/hono/de/guide/seiten-erstellen.md +39 -39
  368. package/templates/hono/de/guide/what-is-preactpress.md +18 -18
  369. package/templates/hono/de/index.mdx +20 -17
  370. package/templates/hono/de/interactive.mdx +1 -1
  371. package/templates/hono/de/markdown-examples.md +6 -6
  372. package/templates/hono/de/parts/include-body.md +1 -0
  373. package/templates/hono/de/snippets/greet.ts +1 -1
  374. package/templates/hono/guide/configuration.md +25 -25
  375. package/templates/hono/guide/creating-pages.md +39 -39
  376. package/templates/hono/guide/deploy.md +29 -29
  377. package/templates/hono/guide/first-five-minutes.md +21 -21
  378. package/templates/hono/guide/getting-started.md +29 -29
  379. package/templates/hono/guide/routing.md +40 -40
  380. package/templates/hono/guide/what-is-preactpress.md +18 -18
  381. package/templates/hono/index.html +1 -1
  382. package/templates/hono/index.mdx +21 -17
  383. package/templates/hono/interactive.mdx +1 -1
  384. package/templates/hono/markdown-examples.md +6 -6
  385. package/templates/hono/package.json +1 -1
  386. package/templates/hono/parts/include-body.md +1 -0
  387. package/templates/hono/pnpm-lock.yaml +5 -5
  388. package/templates/hono/snippets/greet.ts +1 -1
  389. package/templates/magazine/.preactpress/config.ts +19 -19
  390. package/templates/magazine/.preactpress/theme/Layout.tsx +69 -172
  391. package/templates/magazine/.preactpress/theme/TeaserGrid.tsx +14 -14
  392. package/templates/magazine/.preactpress/theme/ThemeToggle.tsx +4 -70
  393. package/templates/magazine/.preactpress/theme/magazine.css +13 -8
  394. package/templates/magazine/README.md +30 -0
  395. package/templates/magazine/article-markets.md +2 -2
  396. package/templates/magazine/article-tech.mdx +10 -10
  397. package/templates/magazine/index.data.ts +9 -9
  398. package/templates/magazine/index.html +5 -1
  399. package/templates/magazine/index.mdx +1 -1
  400. package/templates/magazine/package.json +1 -1
  401. package/templates/magazine/pnpm-lock.yaml +2917 -0
  402. package/templates/docs/about.md +0 -10
  403. package/templates/docs/dist/404.html +0 -29
  404. package/templates/docs/dist/about/index.html +0 -32
  405. package/templates/docs/dist/assets/esm-DzlBxN5p.js +0 -110
  406. package/templates/docs/dist/assets/interactive-64o6YwrR.js +0 -9
  407. package/templates/docs/dist/assets/interactive-BedCloEw.js +0 -9
  408. package/templates/docs/dist/assets/main-BVLeh8GO.js +0 -1
  409. package/templates/docs/dist/assets/main-CreUBb3N.js +0 -1
  410. package/templates/docs/dist/assets/main-oodK-zZy.css +0 -2
  411. package/templates/docs/dist/de/guide/getting-started/index.html +0 -36
  412. package/templates/docs/dist/de/guide/what-is-preactpress/index.html +0 -38
  413. package/templates/docs/dist/de/index.html +0 -29
  414. package/templates/docs/dist/favicon-32.png +0 -0
  415. package/templates/docs/dist/favicon.png +0 -0
  416. package/templates/docs/dist/favicon.svg +0 -28
  417. package/templates/docs/dist/guide/advanced/index.html +0 -53
  418. package/templates/docs/dist/guide/commands/index.html +0 -89
  419. package/templates/docs/dist/guide/configuration/index.html +0 -196
  420. package/templates/docs/dist/guide/creating-pages/index.html +0 -234
  421. package/templates/docs/dist/guide/custom-themes/index.html +0 -52
  422. package/templates/docs/dist/guide/default-theme/index.html +0 -53
  423. package/templates/docs/dist/guide/deploy/index.html +0 -195
  424. package/templates/docs/dist/guide/first-five-minutes/index.html +0 -99
  425. package/templates/docs/dist/guide/getting-started/index.html +0 -173
  426. package/templates/docs/dist/guide/markdown-and-mdx/index.html +0 -59
  427. package/templates/docs/dist/guide/routing/index.html +0 -192
  428. package/templates/docs/dist/guide/what-is-preactpress/index.html +0 -141
  429. package/templates/docs/dist/index.html +0 -30
  430. package/templates/docs/dist/interactive/index.html +0 -37
  431. package/templates/docs/dist/markdown-examples/index.html +0 -231
  432. package/templates/docs/dist/preactpress-content/404.json +0 -8
  433. package/templates/docs/dist/preactpress-content/_index.json +0 -50
  434. package/templates/docs/dist/preactpress-content/about.json +0 -15
  435. package/templates/docs/dist/preactpress-content/de.json +0 -45
  436. package/templates/docs/dist/preactpress-content/de__guide__getting-started.json +0 -26
  437. package/templates/docs/dist/preactpress-content/de__guide__what-is-preactpress.json +0 -21
  438. package/templates/docs/dist/preactpress-content/guide__advanced.json +0 -46
  439. package/templates/docs/dist/preactpress-content/guide__commands.json +0 -26
  440. package/templates/docs/dist/preactpress-content/guide__configuration.json +0 -51
  441. package/templates/docs/dist/preactpress-content/guide__creating-pages.json +0 -71
  442. package/templates/docs/dist/preactpress-content/guide__custom-themes.json +0 -15
  443. package/templates/docs/dist/preactpress-content/guide__default-theme.json +0 -36
  444. package/templates/docs/dist/preactpress-content/guide__deploy.json +0 -56
  445. package/templates/docs/dist/preactpress-content/guide__first-five-minutes.json +0 -36
  446. package/templates/docs/dist/preactpress-content/guide__getting-started.json +0 -51
  447. package/templates/docs/dist/preactpress-content/guide__markdown-and-mdx.json +0 -31
  448. package/templates/docs/dist/preactpress-content/guide__routing.json +0 -71
  449. package/templates/docs/dist/preactpress-content/guide__what-is-preactpress.json +0 -51
  450. package/templates/docs/dist/preactpress-content/markdown-examples.json +0 -71
  451. package/templates/docs/dist/preactpress-content/tags__markdown.json +0 -16
  452. package/templates/docs/dist/preactpress-search.json +0 -166
  453. package/templates/docs/dist/preactpress-theme.js +0 -1
  454. package/templates/docs/dist/tags/markdown/index.html +0 -32
  455. package/templates/docs/index.md +0 -28
  456. package/templates/hono/dist/404.html +0 -29
  457. package/templates/hono/dist/README/index.html +0 -104
  458. package/templates/hono/dist/about/index.html +0 -32
  459. package/templates/hono/dist/assets/Counter-CCEByS-J.js +0 -1
  460. package/templates/hono/dist/assets/Hero--o6WMNvm.js +0 -2
  461. package/templates/hono/dist/assets/de-D5r6Ye70.js +0 -10
  462. package/templates/hono/dist/assets/hono-BXWYYdyv.js +0 -10
  463. package/templates/hono/dist/assets/interactive-Bxo-WBpC.js +0 -9
  464. package/templates/hono/dist/assets/interactive-BznI4IQ3.js +0 -9
  465. package/templates/hono/dist/assets/main-Bqi-VFEk.js +0 -2
  466. package/templates/hono/dist/assets/main-DIIN7FO0.css +0 -1
  467. package/templates/hono/dist/de/about/index.html +0 -32
  468. package/templates/hono/dist/de/guide/commands/index.html +0 -41
  469. package/templates/hono/dist/de/guide/configuration/index.html +0 -105
  470. package/templates/hono/dist/de/guide/deploy/index.html +0 -195
  471. package/templates/hono/dist/de/guide/first-five-minutes/index.html +0 -99
  472. package/templates/hono/dist/de/guide/getting-started/index.html +0 -173
  473. package/templates/hono/dist/de/guide/routing/index.html +0 -165
  474. package/templates/hono/dist/de/guide/seiten-erstellen/index.html +0 -234
  475. package/templates/hono/dist/de/guide/what-is-preactpress/index.html +0 -141
  476. package/templates/hono/dist/de/index.html +0 -30
  477. package/templates/hono/dist/de/interactive/index.html +0 -37
  478. package/templates/hono/dist/de/markdown-examples/index.html +0 -97
  479. package/templates/hono/dist/de/parts/include-body/index.html +0 -36
  480. package/templates/hono/dist/de/tags/markdown/index.html +0 -32
  481. package/templates/hono/dist/favicon-32.png +0 -0
  482. package/templates/hono/dist/favicon.png +0 -0
  483. package/templates/hono/dist/favicon.svg +0 -28
  484. package/templates/hono/dist/guide/commands/index.html +0 -41
  485. package/templates/hono/dist/guide/configuration/index.html +0 -158
  486. package/templates/hono/dist/guide/creating-pages/index.html +0 -234
  487. package/templates/hono/dist/guide/deploy/index.html +0 -195
  488. package/templates/hono/dist/guide/first-five-minutes/index.html +0 -99
  489. package/templates/hono/dist/guide/getting-started/index.html +0 -173
  490. package/templates/hono/dist/guide/routing/index.html +0 -165
  491. package/templates/hono/dist/guide/what-is-preactpress/index.html +0 -141
  492. package/templates/hono/dist/index.html +0 -30
  493. package/templates/hono/dist/interactive/index.html +0 -37
  494. package/templates/hono/dist/markdown-examples/index.html +0 -105
  495. package/templates/hono/dist/partials/shared-note/index.html +0 -30
  496. package/templates/hono/dist/parts/include-body/index.html +0 -36
  497. package/templates/hono/dist/preactpress-content/404.json +0 -8
  498. package/templates/hono/dist/preactpress-content/README.json +0 -26
  499. package/templates/hono/dist/preactpress-content/about.json +0 -15
  500. package/templates/hono/dist/preactpress-content/de__about.json +0 -15
  501. package/templates/hono/dist/preactpress-content/de__guide__commands.json +0 -36
  502. package/templates/hono/dist/preactpress-content/de__guide__configuration.json +0 -41
  503. package/templates/hono/dist/preactpress-content/de__guide__deploy.json +0 -56
  504. package/templates/hono/dist/preactpress-content/de__guide__first-five-minutes.json +0 -36
  505. package/templates/hono/dist/preactpress-content/de__guide__getting-started.json +0 -51
  506. package/templates/hono/dist/preactpress-content/de__guide__routing.json +0 -61
  507. package/templates/hono/dist/preactpress-content/de__guide__seiten-erstellen.json +0 -71
  508. package/templates/hono/dist/preactpress-content/de__guide__what-is-preactpress.json +0 -51
  509. package/templates/hono/dist/preactpress-content/de__markdown-examples.json +0 -131
  510. package/templates/hono/dist/preactpress-content/de__parts__include-body.json +0 -16
  511. package/templates/hono/dist/preactpress-content/de__tags__markdown.json +0 -16
  512. package/templates/hono/dist/preactpress-content/guide__commands.json +0 -36
  513. package/templates/hono/dist/preactpress-content/guide__configuration.json +0 -51
  514. package/templates/hono/dist/preactpress-content/guide__creating-pages.json +0 -71
  515. package/templates/hono/dist/preactpress-content/guide__deploy.json +0 -56
  516. package/templates/hono/dist/preactpress-content/guide__first-five-minutes.json +0 -36
  517. package/templates/hono/dist/preactpress-content/guide__getting-started.json +0 -51
  518. package/templates/hono/dist/preactpress-content/guide__routing.json +0 -61
  519. package/templates/hono/dist/preactpress-content/guide__what-is-preactpress.json +0 -51
  520. package/templates/hono/dist/preactpress-content/markdown-examples.json +0 -141
  521. package/templates/hono/dist/preactpress-content/partials__shared-note.json +0 -10
  522. package/templates/hono/dist/preactpress-content/parts__include-body.json +0 -16
  523. package/templates/hono/dist/preactpress-content/tags__markdown.json +0 -16
  524. package/templates/hono/dist/preactpress-search.json +0 -242
  525. package/templates/hono/dist/preactpress-theme.js +0 -1
  526. package/templates/hono/dist/tags/markdown/index.html +0 -32
@@ -1,173 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="de">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Getting Started | Hono Starter</title>
7
- <script src="/preactpress-theme.js"></script>
8
- <meta name="description" content="PreactPress installieren und eine neue Dokumentationsseite starten">
9
- <meta property="og:title" content="Getting Started | Hono Starter">
10
- <meta property="og:description" content="PreactPress installieren und eine neue Dokumentationsseite starten">
11
- <meta property="og:type" content="website">
12
- <meta property="og:url" content="/de/guide/getting-started/">
13
- <meta name="twitter:card" content="summary">
14
- <meta name="twitter:title" content="Getting Started | Hono Starter">
15
- <meta name="twitter:description" content="PreactPress installieren und eine neue Dokumentationsseite starten">
16
- <link rel="canonical" href="/de/guide/getting-started/">
17
- <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Getting Started | Hono Starter","name":"Getting Started | Hono Starter","description":"PreactPress installieren und eine neue Dokumentationsseite starten","url":"/de/guide/getting-started/","dateModified":"2026-06-04T07:28:10.782Z"}</script>
18
- <link rel="icon" href="/favicon.svg" type="image/svg+xml">
19
- <link rel="icon" href="/favicon-32.png" type="image/png" sizes="32x32">
20
- <link rel="icon" href="/favicon.png" type="image/png" sizes="any">
21
- <link rel="apple-touch-icon" href="/favicon.png">
22
- <link rel="stylesheet" crossorigin href="/assets/main-DIIN7FO0.css">
23
- </head>
24
- <body>
25
- <template id="__PREACTPRESS_PAGE_DATA__">{&quot;kind&quot;:&quot;markdown&quot;,&quot;meta&quot;:{&quot;title&quot;:&quot;Getting Started&quot;,&quot;description&quot;:&quot;PreactPress installieren und eine neue Dokumentationsseite starten&quot;},&quot;html&quot;:&quot;\u003ch1 id=\&quot;getting-started\&quot; class=\&quot;pp-heading\&quot;&gt;Getting Started\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#getting-started\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h1&gt;\n\u003cp&gt;Diese Anleitung zeigt, wie du eine PreactPress-Site erstellst, die generierten Dateien verstehst und den Dev-Server startest.\u003c/p&gt;\n\u003ch2 id=\&quot;voraussetzungen\&quot; class=\&quot;pp-heading\&quot;&gt;Voraussetzungen\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#voraussetzungen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Du brauchst:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Voraussetzung\u003c/th&gt;\n\u003cth&gt;Version\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;Node.js\u003c/td&gt;\n\u003ctd&gt;20 oder höher\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Package Manager\u003c/td&gt;\n\u003ctd&gt;pnpm empfohlen; npm, yarn und bun funktionieren ebenfalls\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Editor\u003c/td&gt;\n\u003ctd&gt;Jeder Editor mit Markdown- und TypeScript-Unterstützung\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003ch2 id=\&quot;site-erstellen\&quot; class=\&quot;pp-heading\&quot;&gt;Site erstellen\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#site-erstellen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Starte in einem leeren Ordner:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;mkdir\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; my-site\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;cd\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; my-site\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; dlx\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; init\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; install\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; dev\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Mit npm:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;mkdir\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; my-site\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;cd\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; my-site\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;npx\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; init\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;npm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; install\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;npm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; dev\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Öffne \u003cstrong&gt;\u003ca href=\&quot;http://localhost:5173\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;http://localhost:5173\u003c/a&gt;\u003c/strong&gt;, um die Starter-Site zu sehen.\u003c/p&gt;\n\u003cblockquote&gt;\n\u003cp&gt;\u003cstrong&gt;Hinweis\u003c/strong&gt;\n\u003ccode&gt;preactpress init\u003c/code&gt; kopiert das eingebaute Starter-Template und schreibt \u003ccode&gt;preactpress\u003c/code&gt; in \u003ccode&gt;devDependencies\u003c/code&gt;. Du musst PreactPress vor dem Initialisieren nicht separat installieren.\u003c/p&gt;\n\u003c/blockquote&gt;\n\u003ch2 id=\&quot;dateistruktur\&quot; class=\&quot;pp-heading\&quot;&gt;Dateistruktur\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#dateistruktur\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Nach der Initialisierung sieht das Projekt so aus:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;my-site/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── README.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── index.html\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── index.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── about.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── guide/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;│ └── first-five-minutes.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── markdown-examples.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── interactive.mdx\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── components/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;│ └── Counter.tsx\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;└── .preactpress/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt; └── config.ts\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Der Ordner \u003ccode&gt;.preactpress\u003c/code&gt; enthält die Site-Konfiguration. Markdown- und MDX-Dateien außerhalb von \u003ccode&gt;.preactpress\u003c/code&gt; sind Quelldateien und werden zu Routen.\u003c/p&gt;\n\u003ch2 id=\&quot;die-config-datei\&quot; class=\&quot;pp-heading\&quot;&gt;Die Config-Datei\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#die-config-datei\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Die Starter-Config liegt unter \u003ccode&gt;.preactpress/config.ts\u003c/code&gt;:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; title: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Meine Doku'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; description: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Kurze Beschreibung für Suche und Social Previews'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; },\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; themeConfig: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; nav: [\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; { text: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Start'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;, link: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/de'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; },\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; { text: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Anleitung'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;, link: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/de/guide/what-is-preactpress'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; ],\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; sidebar: [\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; text: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Einführung'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; items: [\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; { text: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Was ist PreactPress?'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;, link: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/de/guide/what-is-preactpress'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; },\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; { text: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Getting Started'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;, link: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/de/guide/getting-started'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; ]\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; ]\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Nutze \u003ccode&gt;site\u003c/code&gt; für globale Metadaten und \u003ccode&gt;themeConfig\u003c/code&gt; für Optionen des Standard-Themes wie Logo (\u003ccode&gt;logo: '/logo.svg'\u003c/code&gt;), Navigation, Sidebar, Suche, Outline, Footer und Edit-Links.\u003c/p&gt;\n\u003ch2 id=\&quot;quelldateien\&quot; class=\&quot;pp-heading\&quot;&gt;Quelldateien\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#quelldateien\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;PreactPress nutzt dateibasiertes Routing. Standardmäßig ist der Projektroot auch das Quellverzeichnis:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;index.md -&gt; /\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;about.md -&gt; /about\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;guide/getting-started.md -&gt; /guide/getting-started\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;interactive.mdx -&gt; /interactive\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Mit \u003ccode&gt;srcDir\u003c/code&gt; kannst du das Quellverzeichnis ändern:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; srcDir: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'docs'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Mit dieser Config liest PreactPress Seiten aus \u003ccode&gt;docs/\u003c/code&gt;, während \u003ccode&gt;.preactpress/config.ts\u003c/code&gt; weiterhin zum Projektroot gehört.\u003c/p&gt;\n\u003ch2 id=\&quot;befehle\&quot; class=\&quot;pp-heading\&quot;&gt;Befehle\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#befehle\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Der Starter enthält npm-Scripts:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Befehl\u003c/th&gt;\n\u003cth&gt;Zweck\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run dev\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Dev-Server mit SSR und Hot Reload starten\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run check\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Config, Routen und Links validieren\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run build\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Statischen Produktionsbuild nach \u003ccode&gt;dist/\u003c/code&gt; schreiben\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run preview\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Produktionsbuild lokal ansehen\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Du kannst die CLI auch direkt aufrufen:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; dev\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; check\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; build\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preview\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003ch2 id=\&quot;was-kommt-als-n-chstes\&quot; class=\&quot;pp-heading\&quot;&gt;Was kommt als Nächstes?\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#was-kommt-als-n-chstes\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Seite\u003c/th&gt;\n\u003cth&gt;Warum\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ca href=\&quot;/de/guide/first-five-minutes\&quot;&gt;Die ersten 5 Minuten\u003c/a&gt;\u003c/td&gt;\n\u003ctd&gt;Titel ändern, Seite anlegen und Navigation verdrahten\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ca href=\&quot;/de/guide/routing\&quot;&gt;Routing\u003c/a&gt;\u003c/td&gt;\n\u003ctd&gt;Lernen, wie Markdown-Dateien zu URLs werden\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ca href=\&quot;/de/guide/deploy\&quot;&gt;Deploy\u003c/a&gt;\u003c/td&gt;\n\u003ctd&gt;Das erzeugte \u003ccode&gt;dist/\u003c/code&gt;-Verzeichnis bauen und veröffentlichen\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n&quot;,&quot;title&quot;:&quot;Getting Started&quot;,&quot;description&quot;:&quot;PreactPress installieren und eine neue Dokumentationsseite starten&quot;,&quot;tags&quot;:[],&quot;pageType&quot;:&quot;website&quot;,&quot;headings&quot;:[{&quot;id&quot;:&quot;voraussetzungen&quot;,&quot;text&quot;:&quot;Voraussetzungen&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;site-erstellen&quot;,&quot;text&quot;:&quot;Site erstellen&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;dateistruktur&quot;,&quot;text&quot;:&quot;Dateistruktur&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;die-config-datei&quot;,&quot;text&quot;:&quot;Die Config-Datei&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;quelldateien&quot;,&quot;text&quot;:&quot;Quelldateien&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;befehle&quot;,&quot;text&quot;:&quot;Befehle&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;was-kommt-als-n-chstes&quot;,&quot;text&quot;:&quot;Was kommt als Nächstes?&quot;,&quot;level&quot;:2}],&quot;relativePath&quot;:&quot;de/guide/getting-started.md&quot;,&quot;lastUpdated&quot;:&quot;2026-06-04T07:28:10.782Z&quot;}</template>
26
- <div id="app"><div class="hn-site"><a class="hn-skip" href="#content">Skip to content</a><header class="hn-header"><div class="hn-header-inner"><a class="hn-brand" href="/de" aria-label="Hono Starter"><span class="hn-logo" aria-label="Hono Starter"><svg aria-hidden="true" viewBox="0 0 36 36" width="36" height="36"><rect width="36" height="36" rx="11" fill="currentColor" opacity="0.12"></rect><path d="M19.8 5.5c.8 4-2.8 5.9-4.7 8.2-1.8 2.1-2.5 4.9-.3 7 0-2.8 1.7-4.6 4.2-6.7 3.2 3 5.3 5.8 5.3 9.2 0 4.4-3.3 7.3-7.6 7.3-4.8 0-8.3-3.6-8.3-8.4 0-6.1 6.3-9.2 11.4-16.6Z" fill="currentColor"></path><path d="M21.7 25.7c0 2.2-1.7 3.8-3.9 3.8s-4-1.6-4-3.8c0-1.7 1-3.1 3.4-5.2.1 1.7 1.4 2.6 2.4 3.4.8.6 2.1 1 2.1 1.8Z" fill="currentColor" opacity="0.38"></path></svg><span>Hono Starter</span></span></a><div class="hn-header-actions"><nav class="hn-nav" aria-label="Main navigation"><a class href="/de/guide/what-is-preactpress">Docs</a><a class href="/de/markdown-examples">Beispiele</a><a class href="/de/about">Über uns</a></nav><div class="hn-social" aria-label="Social links"><a href="https://github.com/your-org/your-project" aria-label="GitHub"><span><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.404 1.02.005 2.04.137 3 .404 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></span></a></div><details class="hn-locale-switcher"><summary>Deutsch</summary><div class="hn-locale-menu"><a href="/guide/getting-started" class>English</a><a href="/de/guide/getting-started" aria-current="page" class="active">Deutsch</a></div></details><button type="button" class="hn-theme-toggle" aria-label="Toggle theme"><span class="hn-theme-toggle-moon" aria-hidden="true"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor"><path d="M21 14.8A8.5 8.5 0 0 1 9.2 3a7 7 0 1 0 11.8 11.8Z" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7"></path></svg></span><span class="hn-theme-toggle-sun" aria-hidden="true"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor"><circle cx="12" cy="12" r="3.5" stroke-width="1.7"></circle><path d="M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4" stroke-linecap="round" stroke-width="1.7"></path></svg></span></button></div></div></header><div class="hn-doc-shell"><aside class="hn-sidebar" aria-label="Documentation navigation"><div class="hn-sidebar-panel"><label class="hn-search"><span>Search pages</span><input type="search" value placeholder="Filter documentation..."/></label><div class="hn-sidebar-group"><h2>Einführung</h2><ul><li><a class="active" href="/de" aria-current="page">Willkommen</a></li><li><a class href="/de/guide/what-is-preactpress">Was ist PreactPress?</a></li><li><a class="active" href="/de/guide/getting-started" aria-current="page">Getting Started</a></li><li><a class href="/de/guide/routing">Routing</a></li><li><a class href="/de/guide/deploy">Deploy</a></li><li><a class href="/de/guide/first-five-minutes">Die ersten 5 Minuten</a></li><li><a class href="/de/guide/seiten-erstellen">Seiten erstellen</a></li><li><a class href="/de/guide/commands">Befehle</a></li><li><a class href="/de/guide/configuration">Konfiguration</a></li></ul></div><div class="hn-sidebar-group"><h2>Referenz</h2><ul><li><a class href="/de/markdown-examples">Markdown-Beispiele</a></li><li><a class href="/de/interactive">Interaktives MDX</a></li></ul></div></div></aside><main id="content" class="hn-doc-main"><article class="hn-doc"><h1 class="hn-doc-title">Getting Started</h1><p class="hn-doc-lead">PreactPress installieren und eine neue Dokumentationsseite starten</p><div class="hn-doc-content"><h1 id="getting-started" class="pp-heading">Getting Started<a class="pp-heading-anchor" href="#getting-started" aria-label="Link to this section">#</a></h1>
27
- <p>Diese Anleitung zeigt, wie du eine PreactPress-Site erstellst, die generierten Dateien verstehst und den Dev-Server startest.</p>
28
- <h2 id="voraussetzungen" class="pp-heading">Voraussetzungen<a class="pp-heading-anchor" href="#voraussetzungen" aria-label="Link to this section">#</a></h2>
29
- <p>Du brauchst:</p>
30
- <table>
31
- <thead>
32
- <tr>
33
- <th>Voraussetzung</th>
34
- <th>Version</th>
35
- </tr>
36
- </thead>
37
- <tbody>
38
- <tr>
39
- <td>Node.js</td>
40
- <td>20 oder höher</td>
41
- </tr>
42
- <tr>
43
- <td>Package Manager</td>
44
- <td>pnpm empfohlen; npm, yarn und bun funktionieren ebenfalls</td>
45
- </tr>
46
- <tr>
47
- <td>Editor</td>
48
- <td>Jeder Editor mit Markdown- und TypeScript-Unterstützung</td>
49
- </tr>
50
- </tbody>
51
- </table>
52
- <h2 id="site-erstellen" class="pp-heading">Site erstellen<a class="pp-heading-anchor" href="#site-erstellen" aria-label="Link to this section">#</a></h2>
53
- <p>Starte in einem leeren Ordner:</p>
54
- <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">mkdir</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> my-site</span></span>
55
- <span class="line"><span style="color:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> my-site</span></span>
56
- <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> dlx</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> preactpress</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> init</span></span>
57
- <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> install</span></span>
58
- <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> dev</span></span></code></pre><p>Mit npm:</p>
59
- <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">mkdir</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> my-site</span></span>
60
- <span class="line"><span style="color:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> my-site</span></span>
61
- <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">npx</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> preactpress</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> init</span></span>
62
- <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> install</span></span>
63
- <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">npm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> dev</span></span></code></pre><p>Öffne <strong><a href="http://localhost:5173" target="_blank" rel="noopener noreferrer">http://localhost:5173</a></strong>, um die Starter-Site zu sehen.</p>
64
- <blockquote>
65
- <p><strong>Hinweis</strong>
66
- <code>preactpress init</code> kopiert das eingebaute Starter-Template und schreibt <code>preactpress</code> in <code>devDependencies</code>. Du musst PreactPress vor dem Initialisieren nicht separat installieren.</p>
67
- </blockquote>
68
- <h2 id="dateistruktur" class="pp-heading">Dateistruktur<a class="pp-heading-anchor" href="#dateistruktur" aria-label="Link to this section">#</a></h2>
69
- <p>Nach der Initialisierung sieht das Projekt so aus:</p>
70
- <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>my-site/</span></span>
71
- <span class="line"><span>├── README.md</span></span>
72
- <span class="line"><span>├── index.html</span></span>
73
- <span class="line"><span>├── index.md</span></span>
74
- <span class="line"><span>├── about.md</span></span>
75
- <span class="line"><span>├── guide/</span></span>
76
- <span class="line"><span>│ └── first-five-minutes.md</span></span>
77
- <span class="line"><span>├── markdown-examples.md</span></span>
78
- <span class="line"><span>├── interactive.mdx</span></span>
79
- <span class="line"><span>├── components/</span></span>
80
- <span class="line"><span>│ └── Counter.tsx</span></span>
81
- <span class="line"><span>└── .preactpress/</span></span>
82
- <span class="line"><span> └── config.ts</span></span></code></pre><p>Der Ordner <code>.preactpress</code> enthält die Site-Konfiguration. Markdown- und MDX-Dateien außerhalb von <code>.preactpress</code> sind Quelldateien und werden zu Routen.</p>
83
- <h2 id="die-config-datei" class="pp-heading">Die Config-Datei<a class="pp-heading-anchor" href="#die-config-datei" aria-label="Link to this section">#</a></h2>
84
- <p>Die Starter-Config liegt unter <code>.preactpress/config.ts</code>:</p>
85
- <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>
86
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: {</span></span>
87
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> title: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Meine Doku'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
88
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> description: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Kurze Beschreibung für Suche und Social Previews'</span></span>
89
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
90
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> themeConfig: {</span></span>
91
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> nav: [</span></span>
92
- <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">'/de'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
93
- <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">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/de/guide/what-is-preactpress'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
94
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ],</span></span>
95
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> sidebar: [</span></span>
96
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
97
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Einführung'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
98
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> items: [</span></span>
99
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Was ist PreactPress?'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/de/guide/what-is-preactpress'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
100
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Getting Started'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/de/guide/getting-started'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
101
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ]</span></span>
102
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
103
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ]</span></span>
104
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
105
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Nutze <code>site</code> für globale Metadaten und <code>themeConfig</code> für Optionen des Standard-Themes wie Logo (<code>logo: '/logo.svg'</code>), Navigation, Sidebar, Suche, Outline, Footer und Edit-Links.</p>
106
- <h2 id="quelldateien" class="pp-heading">Quelldateien<a class="pp-heading-anchor" href="#quelldateien" aria-label="Link to this section">#</a></h2>
107
- <p>PreactPress nutzt dateibasiertes Routing. Standardmäßig ist der Projektroot auch das Quellverzeichnis:</p>
108
- <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>
109
- <span class="line"><span>about.md -> /about</span></span>
110
- <span class="line"><span>guide/getting-started.md -> /guide/getting-started</span></span>
111
- <span class="line"><span>interactive.mdx -> /interactive</span></span></code></pre><p>Mit <code>srcDir</code> kannst du das Quellverzeichnis ändern:</p>
112
- <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>
113
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> srcDir: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'docs'</span></span>
114
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Mit dieser Config liest PreactPress Seiten aus <code>docs/</code>, während <code>.preactpress/config.ts</code> weiterhin zum Projektroot gehört.</p>
115
- <h2 id="befehle" class="pp-heading">Befehle<a class="pp-heading-anchor" href="#befehle" aria-label="Link to this section">#</a></h2>
116
- <p>Der Starter enthält npm-Scripts:</p>
117
- <table>
118
- <thead>
119
- <tr>
120
- <th>Befehl</th>
121
- <th>Zweck</th>
122
- </tr>
123
- </thead>
124
- <tbody>
125
- <tr>
126
- <td><code>pnpm run dev</code></td>
127
- <td>Dev-Server mit SSR und Hot Reload starten</td>
128
- </tr>
129
- <tr>
130
- <td><code>pnpm run check</code></td>
131
- <td>Config, Routen und Links validieren</td>
132
- </tr>
133
- <tr>
134
- <td><code>pnpm run build</code></td>
135
- <td>Statischen Produktionsbuild nach <code>dist/</code> schreiben</td>
136
- </tr>
137
- <tr>
138
- <td><code>pnpm run preview</code></td>
139
- <td>Produktionsbuild lokal ansehen</td>
140
- </tr>
141
- </tbody>
142
- </table>
143
- <p>Du kannst die CLI auch direkt aufrufen:</p>
144
- <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>
145
- <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>
146
- <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>
147
- <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><h2 id="was-kommt-als-n-chstes" class="pp-heading">Was kommt als Nächstes?<a class="pp-heading-anchor" href="#was-kommt-als-n-chstes" aria-label="Link to this section">#</a></h2>
148
- <table>
149
- <thead>
150
- <tr>
151
- <th>Seite</th>
152
- <th>Warum</th>
153
- </tr>
154
- </thead>
155
- <tbody>
156
- <tr>
157
- <td><a href="/de/guide/first-five-minutes">Die ersten 5 Minuten</a></td>
158
- <td>Titel ändern, Seite anlegen und Navigation verdrahten</td>
159
- </tr>
160
- <tr>
161
- <td><a href="/de/guide/routing">Routing</a></td>
162
- <td>Lernen, wie Markdown-Dateien zu URLs werden</td>
163
- </tr>
164
- <tr>
165
- <td><a href="/de/guide/deploy">Deploy</a></td>
166
- <td>Das erzeugte <code>dist/</code>-Verzeichnis bauen und veröffentlichen</td>
167
- </tr>
168
- </tbody>
169
- </table>
170
- </div><nav class="hn-pager" aria-label="Page navigation"><span></span><a class="next" href="/de/guide/what-is-preactpress"><span>Next</span>Was ist PreactPress?</a></nav><footer class="hn-doc-meta"><span>Updated 4. Juni 2026</span></footer></article></main><aside class="hn-outline" aria-label="On this page"><div class="hn-outline-panel"><h2>On this page</h2><ul><li class="level-2"><a href="#voraussetzungen">Voraussetzungen</a></li><li class="level-2"><a href="#site-erstellen">Site erstellen</a></li><li class="level-2"><a href="#dateistruktur">Dateistruktur</a></li><li class="level-2"><a href="#die-config-datei">Die Config-Datei</a></li><li class="level-2"><a href="#quelldateien">Quelldateien</a></li><li class="level-2"><a href="#befehle">Befehle</a></li><li class="level-2"><a href="#was-kommt-als-n-chstes">Was kommt als Nächstes?</a></li></ul></div></aside></div><footer class="hn-footer">Erstellt mit PreactPress.</footer></div></div>
171
- <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
172
- </body>
173
- </html>
@@ -1,165 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="de">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Routing | Hono Starter</title>
7
- <script src="/preactpress-theme.js"></script>
8
- <meta name="description" content="Verstehe, wie PreactPress Dateien auf URLs abbildet">
9
- <meta property="og:title" content="Routing | Hono Starter">
10
- <meta property="og:description" content="Verstehe, wie PreactPress Dateien auf URLs abbildet">
11
- <meta property="og:type" content="website">
12
- <meta property="og:url" content="/de/guide/routing/">
13
- <meta name="twitter:card" content="summary">
14
- <meta name="twitter:title" content="Routing | Hono Starter">
15
- <meta name="twitter:description" content="Verstehe, wie PreactPress Dateien auf URLs abbildet">
16
- <link rel="canonical" href="/de/guide/routing/">
17
- <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Routing | Hono Starter","name":"Routing | Hono Starter","description":"Verstehe, wie PreactPress Dateien auf URLs abbildet","url":"/de/guide/routing/","dateModified":"2026-06-05T06:28:18.706Z"}</script>
18
- <link rel="icon" href="/favicon.svg" type="image/svg+xml">
19
- <link rel="icon" href="/favicon-32.png" type="image/png" sizes="32x32">
20
- <link rel="icon" href="/favicon.png" type="image/png" sizes="any">
21
- <link rel="apple-touch-icon" href="/favicon.png">
22
- <link rel="stylesheet" crossorigin href="/assets/main-DIIN7FO0.css">
23
- </head>
24
- <body>
25
- <template id="__PREACTPRESS_PAGE_DATA__">{&quot;kind&quot;:&quot;markdown&quot;,&quot;meta&quot;:{&quot;title&quot;:&quot;Routing&quot;,&quot;description&quot;:&quot;Verstehe, wie PreactPress Dateien auf URLs abbildet&quot;},&quot;html&quot;:&quot;\u003ch1 id=\&quot;routing\&quot; class=\&quot;pp-heading\&quot;&gt;Routing\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#routing\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h1&gt;\n\u003cp&gt;PreactPress nutzt dateibasiertes Routing. Jede \u003ccode&gt;.md\u003c/code&gt;- und \u003ccode&gt;.mdx\u003c/code&gt;-Datei unter \u003ccode&gt;srcDir\u003c/code&gt; wird zu einer Route, und Produktionsbuilds schreiben jede Route als statisches HTML.\u003c/p&gt;\n\u003ch2 id=\&quot;dateibasiertes-routing\&quot; class=\&quot;pp-heading\&quot;&gt;Dateibasiertes Routing\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#dateibasiertes-routing\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Bei dieser Struktur:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;.\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── index.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── about.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── guide/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;│ ├── index.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;│ └── getting-started.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;└── interactive.mdx\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;erzeugt PreactPress diese Routen:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;index.md -&gt; /\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;about.md -&gt; /about\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;guide/index.md -&gt; /guide\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;guide/getting-started.md -&gt; /guide/getting-started\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;interactive.mdx -&gt; /interactive\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Beim Produktionsbuild werden Routen als Verzeichnis-Indizes geschrieben:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;/ -&gt; dist/index.html\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;/about -&gt; dist/about/index.html\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;/guide/getting-started -&gt; dist/guide/getting-started/index.html\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Standardmäßig (\u003ccode&gt;cleanUrls: true\u003c/code&gt;) schreibt der Build Verzeichnis-Indizes, damit Hosts URLs ohne Dateiendung ausliefern können.\u003c/p&gt;\n\u003ch2 id=\&quot;projektroot-und-quellverzeichnis\&quot; class=\&quot;pp-heading\&quot;&gt;Projektroot und Quellverzeichnis\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#projektroot-und-quellverzeichnis\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Der Projektroot ist der Ort, an dem PreactPress \u003ccode&gt;.preactpress/config.ts\u003c/code&gt; sucht.\u003c/p&gt;\n\u003cp&gt;Standardmäßig liegen die Quelldateien ebenfalls im Projektroot:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;.\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── .preactpress/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;│ └── config.ts\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── index.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;└── guide/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt; └── getting-started.md\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Mit \u003ccode&gt;srcDir\u003c/code&gt; kannst du Inhalte in ein verschachteltes Quellverzeichnis legen:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; srcDir: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'docs'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Dann sieht die Struktur so aus:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;.\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;├── .preactpress/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;│ └── config.ts\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;└── docs/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt; ├── index.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt; └── guide/\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt; └── getting-started.md\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Die resultierenden Routen bleiben gleich:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;docs/index.md -&gt; /\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;docs/guide/getting-started.md -&gt; /guide/getting-started\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003ch2 id=\&quot;zwischen-seiten-verlinken\&quot; class=\&quot;pp-heading\&quot;&gt;Zwischen Seiten verlinken\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#zwischen-seiten-verlinken\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Du kannst absolute oder relative Links verwenden. Empfohlen ist, Dateiendungen wegzulassen:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;[\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\&quot;&gt;Getting Started\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;](\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\&quot;&gt;/de/guide/getting-started\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;)\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;[\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\&quot;&gt;Routing\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;](\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\&quot;&gt;./routing\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;)\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;[\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\&quot;&gt;Start\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;](\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\&quot;&gt;../\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;)\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Vermeide direkte Links auf generiertes HTML oder Markdown-Quelldateien:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6A737D;--shiki-dark:#6A737D\&quot;&gt;&amp;#x3C;!-- Vermeiden --&gt;\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;[\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\&quot;&gt;Getting Started\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;](\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\&quot;&gt;/de/guide/getting-started.md\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;)\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;[\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-light-text-decoration:underline;--shiki-dark:#DBEDFF;--shiki-dark-text-decoration:underline\&quot;&gt;Getting Started\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;](\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-light-text-decoration:underline;--shiki-dark:#E1E4E8;--shiki-dark-text-decoration:underline\&quot;&gt;/de/guide/getting-started.html\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;)\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;\u003ccode&gt;preactpress check\u003c/code&gt; validiert lokale Markdown-Links mit \u003ccode&gt;.md\u003c/code&gt;-, \u003ccode&gt;.mdx\u003c/code&gt;- oder \u003ccode&gt;.html\u003c/code&gt;-Endung und meldet fehlende Seiten.\u003c/p&gt;\n\u003ch2 id=\&quot;locale-routen\&quot; class=\&quot;pp-heading\&quot;&gt;Locale-Routen\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#locale-routen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;PreactPress unterstützt Locale-Ordner im VitePress-Stil. Die Standardsprache liegt im Root, Übersetzungen liegen in Locale-Ordnern:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;index.md -&gt; /\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;guide/getting-started.md -&gt; /guide/getting-started\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;de/index.md -&gt; /de\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;de/guide/getting-started.md -&gt; /de/guide/getting-started\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Labels, Sprachcodes und lokale Navigation konfigurierst du in \u003ccode&gt;.preactpress/config.ts\u003c/code&gt;:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; locales: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; root: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; label: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'English'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; lang: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'en'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; },\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; de: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; label: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Deutsch'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; lang: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'de'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; link: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/de/'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Das Standard-Theme zeigt einen Sprachumschalter, wenn mehrere Locales konfiguriert sind.\u003c/p&gt;\n\u003ch2 id=\&quot;tag-routen\&quot; class=\&quot;pp-heading\&quot;&gt;Tag-Routen\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#tag-routen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Seiten können Tags im Frontmatter definieren:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;---\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;title\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;Release Notes\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;tags\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;: [\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;release\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;, \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;changelog\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;]\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;---\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Jeder Tag erhält eine Index-Seite:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;release -&gt; /tags/release\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;changelog -&gt; /tags/changelog\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Bei lokalisierten Inhalten werden Tag-Seiten pro Locale erzeugt:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;de/guide/intro.md mit Tag \&quot;Markdown\&quot; -&gt; /de/tags/markdown\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Wenn eine echte Markdown- oder MDX-Seite dieselbe Route wie ein generierter Tag-Index belegt, gewinnt die echte Seite.\u003c/p&gt;\n\u003ch2 id=\&quot;base-path\&quot; class=\&quot;pp-heading\&quot;&gt;Base Path\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#base-path\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Nutze \u003ccode&gt;site.base\u003c/code&gt;, wenn die Site unter einem Unterpfad ausgeliefert wird, zum Beispiel bei GitHub-Pages-Projektseiten:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; base: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/my-repo/'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Du kannst den Base Path auch für einen einzelnen Build überschreiben:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; build\u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt; --base\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; /my-repo/\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003ch2 id=\&quot;route-rewrites\&quot; class=\&quot;pp-heading\&quot;&gt;Route Rewrites\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#route-rewrites\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Öffentliche URLs auf bestehende Inhalte mappen, ohne Dateien zu duplizieren:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; rewrites: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; '/docs'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/guide'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; '/getting-started'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/guide/intro'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Keys sind die Routen für Besucher; Values müssen auf Routen zeigen, die bereits aus Markdown-Dateien existieren. \u003ccode&gt;preactpress check\u003c/code&gt; validiert Quellen und Kollisionen.\u003c/p&gt;\n\u003ch2 id=\&quot;clean-urls-und-hosting\&quot; class=\&quot;pp-heading\&quot;&gt;Clean URLs und Hosting\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#clean-urls-und-hosting\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;\u003ccode&gt;cleanUrls\u003c/code&gt;\u003c/th&gt;\n\u003cth&gt;Ausgabe für \u003ccode&gt;/about\u003c/code&gt;\u003c/th&gt;\n\u003cth&gt;Typischer Host\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;true\u003c/code&gt; (Standard)\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;dist/about/index.html\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Netlify, Vercel, Cloudflare Pages, GitHub Pages\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;false\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;dist/about.html\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Statische Buckets ohne Directory-Index\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; cleanUrls: \u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;false\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Die meisten modernen Static Hosts funktionieren mit dem Standard. Setze \u003ccode&gt;cleanUrls: false\u003c/code&gt; nur, wenn dein Host \u003ccode&gt;/about\u003c/code&gt; nicht zu \u003ccode&gt;about/index.html\u003c/code&gt; auflösen kann.\u003c/p&gt;\n\u003ch2 id=\&quot;aktuelle-grenzen\&quot; class=\&quot;pp-heading\&quot;&gt;Aktuelle Grenzen\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#aktuelle-grenzen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;PreactPress hält Routing bewusst klein. Im Vergleich zu VitePress enthält es aktuell nicht:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Feature\u003c/th&gt;\n\u003cth&gt;Status\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;Dynamische Routen wie \u003ccode&gt;[pkg].paths.ts\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Nicht unterstützt\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Pattern-basierte Rewrites mit Parametern\u003c/td&gt;\n\u003ctd&gt;Nicht unterstützt\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Wenn deine Site viele Seiten aus externen Daten erzeugen muss, generiere Markdown- oder MDX-Dateien vor \u003ccode&gt;preactpress build\u003c/code&gt;.\u003c/p&gt;\n&quot;,&quot;title&quot;:&quot;Routing&quot;,&quot;description&quot;:&quot;Verstehe, wie PreactPress Dateien auf URLs abbildet&quot;,&quot;tags&quot;:[],&quot;pageType&quot;:&quot;website&quot;,&quot;headings&quot;:[{&quot;id&quot;:&quot;dateibasiertes-routing&quot;,&quot;text&quot;:&quot;Dateibasiertes Routing&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;projektroot-und-quellverzeichnis&quot;,&quot;text&quot;:&quot;Projektroot und Quellverzeichnis&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;zwischen-seiten-verlinken&quot;,&quot;text&quot;:&quot;Zwischen Seiten verlinken&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;locale-routen&quot;,&quot;text&quot;:&quot;Locale-Routen&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;tag-routen&quot;,&quot;text&quot;:&quot;Tag-Routen&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;base-path&quot;,&quot;text&quot;:&quot;Base Path&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;route-rewrites&quot;,&quot;text&quot;:&quot;Route Rewrites&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;clean-urls-und-hosting&quot;,&quot;text&quot;:&quot;Clean URLs und Hosting&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;aktuelle-grenzen&quot;,&quot;text&quot;:&quot;Aktuelle Grenzen&quot;,&quot;level&quot;:2}],&quot;relativePath&quot;:&quot;de/guide/routing.md&quot;,&quot;lastUpdated&quot;:&quot;2026-06-05T06:28:18.706Z&quot;}</template>
26
- <div id="app"><div class="hn-site"><a class="hn-skip" href="#content">Skip to content</a><header class="hn-header"><div class="hn-header-inner"><a class="hn-brand" href="/de" aria-label="Hono Starter"><span class="hn-logo" aria-label="Hono Starter"><svg aria-hidden="true" viewBox="0 0 36 36" width="36" height="36"><rect width="36" height="36" rx="11" fill="currentColor" opacity="0.12"></rect><path d="M19.8 5.5c.8 4-2.8 5.9-4.7 8.2-1.8 2.1-2.5 4.9-.3 7 0-2.8 1.7-4.6 4.2-6.7 3.2 3 5.3 5.8 5.3 9.2 0 4.4-3.3 7.3-7.6 7.3-4.8 0-8.3-3.6-8.3-8.4 0-6.1 6.3-9.2 11.4-16.6Z" fill="currentColor"></path><path d="M21.7 25.7c0 2.2-1.7 3.8-3.9 3.8s-4-1.6-4-3.8c0-1.7 1-3.1 3.4-5.2.1 1.7 1.4 2.6 2.4 3.4.8.6 2.1 1 2.1 1.8Z" fill="currentColor" opacity="0.38"></path></svg><span>Hono Starter</span></span></a><div class="hn-header-actions"><nav class="hn-nav" aria-label="Main navigation"><a class href="/de/guide/what-is-preactpress">Docs</a><a class href="/de/markdown-examples">Beispiele</a><a class href="/de/about">Über uns</a></nav><div class="hn-social" aria-label="Social links"><a href="https://github.com/your-org/your-project" aria-label="GitHub"><span><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.404 1.02.005 2.04.137 3 .404 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></span></a></div><details class="hn-locale-switcher"><summary>Deutsch</summary><div class="hn-locale-menu"><a href="/guide/routing" class>English</a><a href="/de/guide/routing" aria-current="page" class="active">Deutsch</a></div></details><button type="button" class="hn-theme-toggle" aria-label="Toggle theme"><span class="hn-theme-toggle-moon" aria-hidden="true"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor"><path d="M21 14.8A8.5 8.5 0 0 1 9.2 3a7 7 0 1 0 11.8 11.8Z" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.7"></path></svg></span><span class="hn-theme-toggle-sun" aria-hidden="true"><svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor"><circle cx="12" cy="12" r="3.5" stroke-width="1.7"></circle><path d="M12 2.5v2M12 19.5v2M4.6 4.6 6 6M18 18l1.4 1.4M2.5 12h2M19.5 12h2M4.6 19.4 6 18M18 6l1.4-1.4" stroke-linecap="round" stroke-width="1.7"></path></svg></span></button></div></div></header><div class="hn-doc-shell"><aside class="hn-sidebar" aria-label="Documentation navigation"><div class="hn-sidebar-panel"><label class="hn-search"><span>Search pages</span><input type="search" value placeholder="Filter documentation..."/></label><div class="hn-sidebar-group"><h2>Einführung</h2><ul><li><a class="active" href="/de" aria-current="page">Willkommen</a></li><li><a class href="/de/guide/what-is-preactpress">Was ist PreactPress?</a></li><li><a class href="/de/guide/getting-started">Getting Started</a></li><li><a class="active" href="/de/guide/routing" aria-current="page">Routing</a></li><li><a class href="/de/guide/deploy">Deploy</a></li><li><a class href="/de/guide/first-five-minutes">Die ersten 5 Minuten</a></li><li><a class href="/de/guide/seiten-erstellen">Seiten erstellen</a></li><li><a class href="/de/guide/commands">Befehle</a></li><li><a class href="/de/guide/configuration">Konfiguration</a></li></ul></div><div class="hn-sidebar-group"><h2>Referenz</h2><ul><li><a class href="/de/markdown-examples">Markdown-Beispiele</a></li><li><a class href="/de/interactive">Interaktives MDX</a></li></ul></div></div></aside><main id="content" class="hn-doc-main"><article class="hn-doc"><h1 class="hn-doc-title">Routing</h1><p class="hn-doc-lead">Verstehe, wie PreactPress Dateien auf URLs abbildet</p><div class="hn-doc-content"><h1 id="routing" class="pp-heading">Routing<a class="pp-heading-anchor" href="#routing" aria-label="Link to this section">#</a></h1>
27
- <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>
28
- <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>
29
- <p>Bei dieser Struktur:</p>
30
- <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>
31
- <span class="line"><span>├── index.md</span></span>
32
- <span class="line"><span>├── about.md</span></span>
33
- <span class="line"><span>├── guide/</span></span>
34
- <span class="line"><span>│ ├── index.md</span></span>
35
- <span class="line"><span>│ └── getting-started.md</span></span>
36
- <span class="line"><span>└── interactive.mdx</span></span></code></pre><p>erzeugt PreactPress diese Routen:</p>
37
- <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>
38
- <span class="line"><span>about.md -> /about</span></span>
39
- <span class="line"><span>guide/index.md -> /guide</span></span>
40
- <span class="line"><span>guide/getting-started.md -> /guide/getting-started</span></span>
41
- <span class="line"><span>interactive.mdx -> /interactive</span></span></code></pre><p>Beim Produktionsbuild werden Routen als Verzeichnis-Indizes geschrieben:</p>
42
- <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>
43
- <span class="line"><span>/about -> dist/about/index.html</span></span>
44
- <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>
45
- <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>
46
- <p>Der Projektroot ist der Ort, an dem PreactPress <code>.preactpress/config.ts</code> sucht.</p>
47
- <p>Standardmäßig liegen die Quelldateien ebenfalls im Projektroot:</p>
48
- <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>
49
- <span class="line"><span>├── .preactpress/</span></span>
50
- <span class="line"><span>│ └── config.ts</span></span>
51
- <span class="line"><span>├── index.md</span></span>
52
- <span class="line"><span>└── guide/</span></span>
53
- <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>
54
- <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>
55
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> srcDir: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'docs'</span></span>
56
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Dann sieht die Struktur so aus:</p>
57
- <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>
58
- <span class="line"><span>├── .preactpress/</span></span>
59
- <span class="line"><span>│ └── config.ts</span></span>
60
- <span class="line"><span>└── docs/</span></span>
61
- <span class="line"><span> ├── index.md</span></span>
62
- <span class="line"><span> └── guide/</span></span>
63
- <span class="line"><span> └── getting-started.md</span></span></code></pre><p>Die resultierenden Routen bleiben gleich:</p>
64
- <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>
65
- <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>
66
- <p>Du kannst absolute oder relative Links verwenden. Empfohlen ist, Dateiendungen wegzulassen:</p>
67
- <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>
68
- <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>
69
- <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>
70
- <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>
71
- <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>
72
- <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>
73
- <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>
74
- <p>PreactPress unterstützt Locale-Ordner im VitePress-Stil. Die Standardsprache liegt im Root, Übersetzungen liegen in Locale-Ordnern:</p>
75
- <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>
76
- <span class="line"><span>guide/getting-started.md -> /guide/getting-started</span></span>
77
- <span class="line"><span>de/index.md -> /de</span></span>
78
- <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>
79
- <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>
80
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> locales: {</span></span>
81
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> root: {</span></span>
82
- <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>
83
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> lang: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'en'</span></span>
84
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
85
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> de: {</span></span>
86
- <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>
87
- <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>
88
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/de/'</span></span>
89
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
90
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
91
- <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>
92
- <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>
93
- <p>Seiten können Tags im Frontmatter definieren:</p>
94
- <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>
95
- <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>
96
- <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>
97
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">---</span></span></code></pre><p>Jeder Tag erhält eine Index-Seite:</p>
98
- <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>
99
- <span class="line"><span>changelog -> /tags/changelog</span></span></code></pre><p>Bei lokalisierten Inhalten werden Tag-Seiten pro Locale erzeugt:</p>
100
- <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>
101
- <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>
102
- <p>Nutze <code>site.base</code>, wenn die Site unter einem Unterpfad ausgeliefert wird, zum Beispiel bei GitHub-Pages-Projektseiten:</p>
103
- <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>
104
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: {</span></span>
105
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> base: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/my-repo/'</span></span>
106
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
107
- <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>
108
- <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>
109
- <p>Öffentliche URLs auf bestehende Inhalte mappen, ohne Dateien zu duplizieren:</p>
110
- <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>
111
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> rewrites: {</span></span>
112
- <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>
113
- <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>
114
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
115
- <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>
116
- <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>
117
- <table>
118
- <thead>
119
- <tr>
120
- <th><code>cleanUrls</code></th>
121
- <th>Ausgabe für <code>/about</code></th>
122
- <th>Typischer Host</th>
123
- </tr>
124
- </thead>
125
- <tbody>
126
- <tr>
127
- <td><code>true</code> (Standard)</td>
128
- <td><code>dist/about/index.html</code></td>
129
- <td>Netlify, Vercel, Cloudflare Pages, GitHub Pages</td>
130
- </tr>
131
- <tr>
132
- <td><code>false</code></td>
133
- <td><code>dist/about.html</code></td>
134
- <td>Statische Buckets ohne Directory-Index</td>
135
- </tr>
136
- </tbody>
137
- </table>
138
- <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>
139
- <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> cleanUrls: </span><span style="color:#005CC5;--shiki-dark:#79B8FF">false</span></span>
140
- <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>
141
- <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>
142
- <p>PreactPress hält Routing bewusst klein. Im Vergleich zu VitePress enthält es aktuell nicht:</p>
143
- <table>
144
- <thead>
145
- <tr>
146
- <th>Feature</th>
147
- <th>Status</th>
148
- </tr>
149
- </thead>
150
- <tbody>
151
- <tr>
152
- <td>Dynamische Routen wie <code>[pkg].paths.ts</code></td>
153
- <td>Nicht unterstützt</td>
154
- </tr>
155
- <tr>
156
- <td>Pattern-basierte Rewrites mit Parametern</td>
157
- <td>Nicht unterstützt</td>
158
- </tr>
159
- </tbody>
160
- </table>
161
- <p>Wenn deine Site viele Seiten aus externen Daten erzeugen muss, generiere Markdown- oder MDX-Dateien vor <code>preactpress build</code>.</p>
162
- </div><nav class="hn-pager" aria-label="Page navigation"><span></span><a class="next" href="/de/guide/what-is-preactpress"><span>Next</span>Was ist PreactPress?</a></nav><footer class="hn-doc-meta"><span>Updated 5. Juni 2026</span></footer></article></main><aside class="hn-outline" aria-label="On this page"><div class="hn-outline-panel"><h2>On this page</h2><ul><li class="level-2"><a href="#dateibasiertes-routing">Dateibasiertes Routing</a></li><li class="level-2"><a href="#projektroot-und-quellverzeichnis">Projektroot und Quellverzeichnis</a></li><li class="level-2"><a href="#zwischen-seiten-verlinken">Zwischen Seiten verlinken</a></li><li class="level-2"><a href="#locale-routen">Locale-Routen</a></li><li class="level-2"><a href="#tag-routen">Tag-Routen</a></li><li class="level-2"><a href="#base-path">Base Path</a></li><li class="level-2"><a href="#route-rewrites">Route Rewrites</a></li><li class="level-2"><a href="#clean-urls-und-hosting">Clean URLs und Hosting</a></li><li class="level-2"><a href="#aktuelle-grenzen">Aktuelle Grenzen</a></li></ul></div></aside></div><footer class="hn-footer">Erstellt mit PreactPress.</footer></div></div>
163
- <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
164
- </body>
165
- </html>