@kamod-ch/preactpress 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (546) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/assets/favicon-32.png +0 -0
  4. package/assets/favicon.png +0 -0
  5. package/assets/favicon.svg +28 -0
  6. package/assets/logo-dark.svg +5 -0
  7. package/assets/logo-light.svg +5 -0
  8. package/assets/logo.svg +5 -0
  9. package/bin/preactpress.mjs +13 -0
  10. package/dist/client/app.d.ts +6 -0
  11. package/dist/client/app.d.ts.map +1 -0
  12. package/dist/client/app.js +168 -0
  13. package/dist/client/app.js.map +1 -0
  14. package/dist/client/entry-client.d.ts +2 -0
  15. package/dist/client/entry-client.d.ts.map +1 -0
  16. package/dist/client/entry-client.js +27 -0
  17. package/dist/client/entry-client.js.map +1 -0
  18. package/dist/client/entry-ssr.d.ts +14 -0
  19. package/dist/client/entry-ssr.d.ts.map +1 -0
  20. package/dist/client/entry-ssr.js +59 -0
  21. package/dist/client/entry-ssr.js.map +1 -0
  22. package/dist/client/index.d.ts +3 -0
  23. package/dist/client/index.d.ts.map +1 -0
  24. package/dist/client/index.js +2 -0
  25. package/dist/client/index.js.map +1 -0
  26. package/dist/client/loadPage.d.ts +5 -0
  27. package/dist/client/loadPage.d.ts.map +1 -0
  28. package/dist/client/loadPage.js +62 -0
  29. package/dist/client/loadPage.js.map +1 -0
  30. package/dist/client/prefetchLinks.d.ts +2 -0
  31. package/dist/client/prefetchLinks.d.ts.map +1 -0
  32. package/dist/client/prefetchLinks.js +55 -0
  33. package/dist/client/prefetchLinks.js.map +1 -0
  34. package/dist/client/theme-default/AlgoliaSearch.d.ts +12 -0
  35. package/dist/client/theme-default/AlgoliaSearch.d.ts.map +1 -0
  36. package/dist/client/theme-default/AlgoliaSearch.js +66 -0
  37. package/dist/client/theme-default/AlgoliaSearch.js.map +1 -0
  38. package/dist/client/theme-default/Features.d.ts +9 -0
  39. package/dist/client/theme-default/Features.d.ts.map +1 -0
  40. package/dist/client/theme-default/Features.js +25 -0
  41. package/dist/client/theme-default/Features.js.map +1 -0
  42. package/dist/client/theme-default/Hero.d.ts +9 -0
  43. package/dist/client/theme-default/Hero.d.ts.map +1 -0
  44. package/dist/client/theme-default/Hero.js +23 -0
  45. package/dist/client/theme-default/Hero.js.map +1 -0
  46. package/dist/client/theme-default/Layout.d.ts +6 -0
  47. package/dist/client/theme-default/Layout.d.ts.map +1 -0
  48. package/dist/client/theme-default/Layout.js +224 -0
  49. package/dist/client/theme-default/Layout.js.map +1 -0
  50. package/dist/client/theme-default/Logo.d.ts +16 -0
  51. package/dist/client/theme-default/Logo.d.ts.map +1 -0
  52. package/dist/client/theme-default/Logo.js +30 -0
  53. package/dist/client/theme-default/Logo.js.map +1 -0
  54. package/dist/client/theme-default/NavLinks.d.ts +12 -0
  55. package/dist/client/theme-default/NavLinks.d.ts.map +1 -0
  56. package/dist/client/theme-default/NavLinks.js +18 -0
  57. package/dist/client/theme-default/NavLinks.js.map +1 -0
  58. package/dist/client/theme-default/SidebarNav.d.ts +12 -0
  59. package/dist/client/theme-default/SidebarNav.d.ts.map +1 -0
  60. package/dist/client/theme-default/SidebarNav.js +21 -0
  61. package/dist/client/theme-default/SidebarNav.js.map +1 -0
  62. package/dist/client/theme-default/SocialLinks.d.ts +8 -0
  63. package/dist/client/theme-default/SocialLinks.d.ts.map +1 -0
  64. package/dist/client/theme-default/SocialLinks.js +13 -0
  65. package/dist/client/theme-default/SocialLinks.js.map +1 -0
  66. package/dist/client/theme-default/ThemeToggle.d.ts +4 -0
  67. package/dist/client/theme-default/ThemeToggle.d.ts.map +1 -0
  68. package/dist/client/theme-default/ThemeToggle.js +31 -0
  69. package/dist/client/theme-default/ThemeToggle.js.map +1 -0
  70. package/dist/client/theme-default/index.d.ts +2 -0
  71. package/dist/client/theme-default/index.d.ts.map +1 -0
  72. package/dist/client/theme-default/index.js +2 -0
  73. package/dist/client/theme-default/index.js.map +1 -0
  74. package/dist/client/types.d.ts +36 -0
  75. package/dist/client/types.d.ts.map +1 -0
  76. package/dist/client/types.js +2 -0
  77. package/dist/client/types.js.map +1 -0
  78. package/dist/client/usePageHead.d.ts +10 -0
  79. package/dist/client/usePageHead.d.ts.map +1 -0
  80. package/dist/client/usePageHead.js +182 -0
  81. package/dist/client/usePageHead.js.map +1 -0
  82. package/dist/client/useSiteSearch.d.ts +10 -0
  83. package/dist/client/useSiteSearch.d.ts.map +1 -0
  84. package/dist/client/useSiteSearch.js +54 -0
  85. package/dist/client/useSiteSearch.js.map +1 -0
  86. package/dist/node/build.d.ts +15 -0
  87. package/dist/node/build.d.ts.map +1 -0
  88. package/dist/node/build.js +310 -0
  89. package/dist/node/build.js.map +1 -0
  90. package/dist/node/buildCache.d.ts +15 -0
  91. package/dist/node/buildCache.d.ts.map +1 -0
  92. package/dist/node/buildCache.js +41 -0
  93. package/dist/node/buildCache.js.map +1 -0
  94. package/dist/node/check.d.ts +11 -0
  95. package/dist/node/check.d.ts.map +1 -0
  96. package/dist/node/check.js +228 -0
  97. package/dist/node/check.js.map +1 -0
  98. package/dist/node/cli.d.ts +2 -0
  99. package/dist/node/cli.d.ts.map +1 -0
  100. package/dist/node/cli.js +157 -0
  101. package/dist/node/cli.js.map +1 -0
  102. package/dist/node/config-helpers.d.ts +8 -0
  103. package/dist/node/config-helpers.d.ts.map +1 -0
  104. package/dist/node/config-helpers.js +5 -0
  105. package/dist/node/config-helpers.js.map +1 -0
  106. package/dist/node/config.d.ts +13 -0
  107. package/dist/node/config.d.ts.map +1 -0
  108. package/dist/node/config.js +167 -0
  109. package/dist/node/config.js.map +1 -0
  110. package/dist/node/content.d.ts +16 -0
  111. package/dist/node/content.d.ts.map +1 -0
  112. package/dist/node/content.js +72 -0
  113. package/dist/node/content.js.map +1 -0
  114. package/dist/node/createContentLoader.d.ts +19 -0
  115. package/dist/node/createContentLoader.d.ts.map +1 -0
  116. package/dist/node/createContentLoader.js +11 -0
  117. package/dist/node/createContentLoader.js.map +1 -0
  118. package/dist/node/devCss.d.ts +7 -0
  119. package/dist/node/devCss.d.ts.map +1 -0
  120. package/dist/node/devCss.js +70 -0
  121. package/dist/node/devCss.js.map +1 -0
  122. package/dist/node/devSsr.d.ts +6 -0
  123. package/dist/node/devSsr.d.ts.map +1 -0
  124. package/dist/node/devSsr.js +112 -0
  125. package/dist/node/devSsr.js.map +1 -0
  126. package/dist/node/dynamicRoutes.d.ts +21 -0
  127. package/dist/node/dynamicRoutes.d.ts.map +1 -0
  128. package/dist/node/dynamicRoutes.js +120 -0
  129. package/dist/node/dynamicRoutes.js.map +1 -0
  130. package/dist/node/favicon.d.ts +9 -0
  131. package/dist/node/favicon.d.ts.map +1 -0
  132. package/dist/node/favicon.js +71 -0
  133. package/dist/node/favicon.js.map +1 -0
  134. package/dist/node/feed.d.ts +7 -0
  135. package/dist/node/feed.d.ts.map +1 -0
  136. package/dist/node/feed.js +37 -0
  137. package/dist/node/feed.js.map +1 -0
  138. package/dist/node/hooks.d.ts +9 -0
  139. package/dist/node/hooks.d.ts.map +1 -0
  140. package/dist/node/hooks.js +20 -0
  141. package/dist/node/hooks.js.map +1 -0
  142. package/dist/node/html.d.ts +56 -0
  143. package/dist/node/html.d.ts.map +1 -0
  144. package/dist/node/html.js +222 -0
  145. package/dist/node/html.js.map +1 -0
  146. package/dist/node/index.d.ts +12 -0
  147. package/dist/node/index.d.ts.map +1 -0
  148. package/dist/node/index.js +9 -0
  149. package/dist/node/index.js.map +1 -0
  150. package/dist/node/init.d.ts +12 -0
  151. package/dist/node/init.d.ts.map +1 -0
  152. package/dist/node/init.js +93 -0
  153. package/dist/node/init.js.map +1 -0
  154. package/dist/node/lastUpdated.d.ts +3 -0
  155. package/dist/node/lastUpdated.d.ts.map +1 -0
  156. package/dist/node/lastUpdated.js +24 -0
  157. package/dist/node/lastUpdated.js.map +1 -0
  158. package/dist/node/loadSiteModule.d.ts +2 -0
  159. package/dist/node/loadSiteModule.d.ts.map +1 -0
  160. package/dist/node/loadSiteModule.js +10 -0
  161. package/dist/node/loadSiteModule.js.map +1 -0
  162. package/dist/node/markdown.d.ts +31 -0
  163. package/dist/node/markdown.d.ts.map +1 -0
  164. package/dist/node/markdown.js +508 -0
  165. package/dist/node/markdown.js.map +1 -0
  166. package/dist/node/markdownHeadings.d.ts +12 -0
  167. package/dist/node/markdownHeadings.d.ts.map +1 -0
  168. package/dist/node/markdownHeadings.js +70 -0
  169. package/dist/node/markdownHeadings.js.map +1 -0
  170. package/dist/node/markdownInclude.d.ts +6 -0
  171. package/dist/node/markdownInclude.d.ts.map +1 -0
  172. package/dist/node/markdownInclude.js +74 -0
  173. package/dist/node/markdownInclude.js.map +1 -0
  174. package/dist/node/markdownSnippets.d.ts +32 -0
  175. package/dist/node/markdownSnippets.d.ts.map +1 -0
  176. package/dist/node/markdownSnippets.js +172 -0
  177. package/dist/node/markdownSnippets.js.map +1 -0
  178. package/dist/node/mdx.d.ts +3 -0
  179. package/dist/node/mdx.d.ts.map +1 -0
  180. package/dist/node/mdx.js +9 -0
  181. package/dist/node/mdx.js.map +1 -0
  182. package/dist/node/packageRoot.d.ts +4 -0
  183. package/dist/node/packageRoot.d.ts.map +1 -0
  184. package/dist/node/packageRoot.js +7 -0
  185. package/dist/node/packageRoot.js.map +1 -0
  186. package/dist/node/pageDataLoaders.d.ts +6 -0
  187. package/dist/node/pageDataLoaders.d.ts.map +1 -0
  188. package/dist/node/pageDataLoaders.js +68 -0
  189. package/dist/node/pageDataLoaders.js.map +1 -0
  190. package/dist/node/paths.d.ts +5 -0
  191. package/dist/node/paths.d.ts.map +1 -0
  192. package/dist/node/paths.js +12 -0
  193. package/dist/node/paths.js.map +1 -0
  194. package/dist/node/plugin.d.ts +7 -0
  195. package/dist/node/plugin.d.ts.map +1 -0
  196. package/dist/node/plugin.js +282 -0
  197. package/dist/node/plugin.js.map +1 -0
  198. package/dist/node/resolveDeps.d.ts +5 -0
  199. package/dist/node/resolveDeps.d.ts.map +1 -0
  200. package/dist/node/resolveDeps.js +25 -0
  201. package/dist/node/resolveDeps.js.map +1 -0
  202. package/dist/node/serve.d.ts +6 -0
  203. package/dist/node/serve.d.ts.map +1 -0
  204. package/dist/node/serve.js +41 -0
  205. package/dist/node/serve.js.map +1 -0
  206. package/dist/node/server.d.ts +7 -0
  207. package/dist/node/server.d.ts.map +1 -0
  208. package/dist/node/server.js +55 -0
  209. package/dist/node/server.js.map +1 -0
  210. package/dist/node/siteConfig.d.ts +206 -0
  211. package/dist/node/siteConfig.d.ts.map +1 -0
  212. package/dist/node/siteConfig.js +2 -0
  213. package/dist/node/siteConfig.js.map +1 -0
  214. package/dist/node/tagIndex.d.ts +27 -0
  215. package/dist/node/tagIndex.d.ts.map +1 -0
  216. package/dist/node/tagIndex.js +84 -0
  217. package/dist/node/tagIndex.js.map +1 -0
  218. package/dist/shared/contentChunk.d.ts +4 -0
  219. package/dist/shared/contentChunk.d.ts.map +1 -0
  220. package/dist/shared/contentChunk.js +14 -0
  221. package/dist/shared/contentChunk.js.map +1 -0
  222. package/dist/shared/contentSchema.d.ts +43 -0
  223. package/dist/shared/contentSchema.d.ts.map +1 -0
  224. package/dist/shared/contentSchema.js +44 -0
  225. package/dist/shared/contentSchema.js.map +1 -0
  226. package/dist/shared/deadLinks.d.ts +9 -0
  227. package/dist/shared/deadLinks.d.ts.map +1 -0
  228. package/dist/shared/deadLinks.js +27 -0
  229. package/dist/shared/deadLinks.js.map +1 -0
  230. package/dist/shared/escapeHtml.d.ts +3 -0
  231. package/dist/shared/escapeHtml.d.ts.map +1 -0
  232. package/dist/shared/escapeHtml.js +11 -0
  233. package/dist/shared/escapeHtml.js.map +1 -0
  234. package/dist/shared/index.d.ts +15 -0
  235. package/dist/shared/index.d.ts.map +1 -0
  236. package/dist/shared/index.js +15 -0
  237. package/dist/shared/index.js.map +1 -0
  238. package/dist/shared/locale.d.ts +11 -0
  239. package/dist/shared/locale.d.ts.map +1 -0
  240. package/dist/shared/locale.js +84 -0
  241. package/dist/shared/locale.js.map +1 -0
  242. package/dist/shared/pageChrome.d.ts +80 -0
  243. package/dist/shared/pageChrome.d.ts.map +1 -0
  244. package/dist/shared/pageChrome.js +160 -0
  245. package/dist/shared/pageChrome.js.map +1 -0
  246. package/dist/shared/pageHead.d.ts +3 -0
  247. package/dist/shared/pageHead.d.ts.map +1 -0
  248. package/dist/shared/pageHead.js +28 -0
  249. package/dist/shared/pageHead.js.map +1 -0
  250. package/dist/shared/pageMeta.d.ts +60 -0
  251. package/dist/shared/pageMeta.d.ts.map +1 -0
  252. package/dist/shared/pageMeta.js +72 -0
  253. package/dist/shared/pageMeta.js.map +1 -0
  254. package/dist/shared/rewrites.d.ts +5 -0
  255. package/dist/shared/rewrites.d.ts.map +1 -0
  256. package/dist/shared/rewrites.js +23 -0
  257. package/dist/shared/rewrites.js.map +1 -0
  258. package/dist/shared/route.d.ts +5 -0
  259. package/dist/shared/route.d.ts.map +1 -0
  260. package/dist/shared/route.js +15 -0
  261. package/dist/shared/route.js.map +1 -0
  262. package/dist/shared/search.d.ts +39 -0
  263. package/dist/shared/search.d.ts.map +1 -0
  264. package/dist/shared/search.js +63 -0
  265. package/dist/shared/search.js.map +1 -0
  266. package/dist/shared/sidebar.d.ts +18 -0
  267. package/dist/shared/sidebar.d.ts.map +1 -0
  268. package/dist/shared/sidebar.js +51 -0
  269. package/dist/shared/sidebar.js.map +1 -0
  270. package/dist/shared/slug.d.ts +4 -0
  271. package/dist/shared/slug.d.ts.map +1 -0
  272. package/dist/shared/slug.js +21 -0
  273. package/dist/shared/slug.js.map +1 -0
  274. package/dist/shared/socialIcons.d.ts +13 -0
  275. package/dist/shared/socialIcons.d.ts.map +1 -0
  276. package/dist/shared/socialIcons.js +27 -0
  277. package/dist/shared/socialIcons.js.map +1 -0
  278. package/dist/shared/tags.d.ts +6 -0
  279. package/dist/shared/tags.d.ts.map +1 -0
  280. package/dist/shared/tags.js +39 -0
  281. package/dist/shared/tags.js.map +1 -0
  282. package/dist/shared/theme.d.ts +8 -0
  283. package/dist/shared/theme.d.ts.map +1 -0
  284. package/dist/shared/theme.js +25 -0
  285. package/dist/shared/theme.js.map +1 -0
  286. package/dist/shared/themeLabels.d.ts +18 -0
  287. package/dist/shared/themeLabels.d.ts.map +1 -0
  288. package/dist/shared/themeLabels.js +51 -0
  289. package/dist/shared/themeLabels.js.map +1 -0
  290. package/dist/shared/url.d.ts +7 -0
  291. package/dist/shared/url.d.ts.map +1 -0
  292. package/dist/shared/url.js +10 -0
  293. package/dist/shared/url.js.map +1 -0
  294. package/package.json +108 -0
  295. package/src/client/app.tsx +194 -0
  296. package/src/client/entry-client.tsx +27 -0
  297. package/src/client/entry-ssr.tsx +77 -0
  298. package/src/client/index.ts +2 -0
  299. package/src/client/loadPage.ts +68 -0
  300. package/src/client/prefetchLinks.ts +60 -0
  301. package/src/client/theme-default/AlgoliaSearch.tsx +89 -0
  302. package/src/client/theme-default/Features.tsx +75 -0
  303. package/src/client/theme-default/Hero.tsx +60 -0
  304. package/src/client/theme-default/Layout.tsx +525 -0
  305. package/src/client/theme-default/Logo.tsx +104 -0
  306. package/src/client/theme-default/NavLinks.tsx +65 -0
  307. package/src/client/theme-default/SidebarNav.tsx +103 -0
  308. package/src/client/theme-default/SocialLinks.tsx +41 -0
  309. package/src/client/theme-default/ThemeToggle.tsx +79 -0
  310. package/src/client/theme-default/index.ts +1 -0
  311. package/src/client/theme-default/styles.css +1450 -0
  312. package/src/client/types.ts +37 -0
  313. package/src/client/usePageHead.ts +212 -0
  314. package/src/client/useSiteSearch.ts +57 -0
  315. package/src/client/virtual.d.ts +103 -0
  316. package/src/shared/contentChunk.ts +14 -0
  317. package/src/shared/contentSchema.ts +85 -0
  318. package/src/shared/deadLinks.ts +33 -0
  319. package/src/shared/escapeHtml.ts +11 -0
  320. package/src/shared/index.ts +83 -0
  321. package/src/shared/locale.ts +116 -0
  322. package/src/shared/pageChrome.ts +244 -0
  323. package/src/shared/pageHead.ts +26 -0
  324. package/src/shared/pageMeta.ts +136 -0
  325. package/src/shared/rewrites.ts +35 -0
  326. package/src/shared/route.ts +14 -0
  327. package/src/shared/search.ts +105 -0
  328. package/src/shared/sidebar.ts +67 -0
  329. package/src/shared/slug.ts +23 -0
  330. package/src/shared/socialIcons.ts +44 -0
  331. package/src/shared/tags.ts +36 -0
  332. package/src/shared/theme.ts +26 -0
  333. package/src/shared/themeLabels.ts +72 -0
  334. package/src/shared/url.ts +14 -0
  335. package/templates/default/.preactpress/config.ts +31 -0
  336. package/templates/default/README.md +45 -0
  337. package/templates/default/about.md +11 -0
  338. package/templates/default/guide/first-five-minutes.md +83 -0
  339. package/templates/default/index.html +18 -0
  340. package/templates/default/index.md +55 -0
  341. package/templates/default/package.json +15 -0
  342. package/templates/default/pnpm-lock.yaml +2917 -0
  343. package/templates/docs/.preactpress/config.ts +94 -0
  344. package/templates/docs/README.md +21 -0
  345. package/templates/docs/about.md +10 -0
  346. package/templates/docs/components/Counter.tsx +25 -0
  347. package/templates/docs/de/guide/getting-started.md +19 -0
  348. package/templates/docs/de/guide/what-is-preactpress.md +15 -0
  349. package/templates/docs/de/index.md +23 -0
  350. package/templates/docs/dist/404.html +29 -0
  351. package/templates/docs/dist/about/index.html +32 -0
  352. package/templates/docs/dist/assets/esm-DzlBxN5p.js +110 -0
  353. package/templates/docs/dist/assets/interactive-64o6YwrR.js +9 -0
  354. package/templates/docs/dist/assets/interactive-BedCloEw.js +9 -0
  355. package/templates/docs/dist/assets/main-BVLeh8GO.js +1 -0
  356. package/templates/docs/dist/assets/main-CreUBb3N.js +1 -0
  357. package/templates/docs/dist/assets/main-oodK-zZy.css +2 -0
  358. package/templates/docs/dist/de/guide/getting-started/index.html +36 -0
  359. package/templates/docs/dist/de/guide/what-is-preactpress/index.html +38 -0
  360. package/templates/docs/dist/de/index.html +29 -0
  361. package/templates/docs/dist/favicon-32.png +0 -0
  362. package/templates/docs/dist/favicon.png +0 -0
  363. package/templates/docs/dist/favicon.svg +28 -0
  364. package/templates/docs/dist/guide/advanced/index.html +53 -0
  365. package/templates/docs/dist/guide/commands/index.html +89 -0
  366. package/templates/docs/dist/guide/configuration/index.html +196 -0
  367. package/templates/docs/dist/guide/creating-pages/index.html +234 -0
  368. package/templates/docs/dist/guide/custom-themes/index.html +52 -0
  369. package/templates/docs/dist/guide/default-theme/index.html +53 -0
  370. package/templates/docs/dist/guide/deploy/index.html +195 -0
  371. package/templates/docs/dist/guide/first-five-minutes/index.html +99 -0
  372. package/templates/docs/dist/guide/getting-started/index.html +173 -0
  373. package/templates/docs/dist/guide/markdown-and-mdx/index.html +59 -0
  374. package/templates/docs/dist/guide/routing/index.html +192 -0
  375. package/templates/docs/dist/guide/what-is-preactpress/index.html +141 -0
  376. package/templates/docs/dist/index.html +30 -0
  377. package/templates/docs/dist/interactive/index.html +37 -0
  378. package/templates/docs/dist/markdown-examples/index.html +231 -0
  379. package/templates/docs/dist/preactpress-content/404.json +8 -0
  380. package/templates/docs/dist/preactpress-content/_index.json +50 -0
  381. package/templates/docs/dist/preactpress-content/about.json +15 -0
  382. package/templates/docs/dist/preactpress-content/de.json +45 -0
  383. package/templates/docs/dist/preactpress-content/de__guide__getting-started.json +26 -0
  384. package/templates/docs/dist/preactpress-content/de__guide__what-is-preactpress.json +21 -0
  385. package/templates/docs/dist/preactpress-content/guide__advanced.json +46 -0
  386. package/templates/docs/dist/preactpress-content/guide__commands.json +26 -0
  387. package/templates/docs/dist/preactpress-content/guide__configuration.json +51 -0
  388. package/templates/docs/dist/preactpress-content/guide__creating-pages.json +71 -0
  389. package/templates/docs/dist/preactpress-content/guide__custom-themes.json +15 -0
  390. package/templates/docs/dist/preactpress-content/guide__default-theme.json +36 -0
  391. package/templates/docs/dist/preactpress-content/guide__deploy.json +56 -0
  392. package/templates/docs/dist/preactpress-content/guide__first-five-minutes.json +36 -0
  393. package/templates/docs/dist/preactpress-content/guide__getting-started.json +51 -0
  394. package/templates/docs/dist/preactpress-content/guide__markdown-and-mdx.json +31 -0
  395. package/templates/docs/dist/preactpress-content/guide__routing.json +71 -0
  396. package/templates/docs/dist/preactpress-content/guide__what-is-preactpress.json +51 -0
  397. package/templates/docs/dist/preactpress-content/markdown-examples.json +71 -0
  398. package/templates/docs/dist/preactpress-content/tags__markdown.json +16 -0
  399. package/templates/docs/dist/preactpress-search.json +166 -0
  400. package/templates/docs/dist/preactpress-theme.js +1 -0
  401. package/templates/docs/dist/tags/markdown/index.html +32 -0
  402. package/templates/docs/guide/advanced.md +44 -0
  403. package/templates/docs/guide/commands.md +41 -0
  404. package/templates/docs/guide/configuration.md +130 -0
  405. package/templates/docs/guide/creating-pages.md +171 -0
  406. package/templates/docs/guide/custom-themes.md +39 -0
  407. package/templates/docs/guide/default-theme.md +41 -0
  408. package/templates/docs/guide/deploy.md +197 -0
  409. package/templates/docs/guide/first-five-minutes.md +82 -0
  410. package/templates/docs/guide/getting-started.md +146 -0
  411. package/templates/docs/guide/markdown-and-mdx.md +59 -0
  412. package/templates/docs/guide/routing.md +263 -0
  413. package/templates/docs/guide/what-is-preactpress.md +87 -0
  414. package/templates/docs/index.html +18 -0
  415. package/templates/docs/index.md +28 -0
  416. package/templates/docs/interactive.mdx +32 -0
  417. package/templates/docs/markdown-examples.md +72 -0
  418. package/templates/docs/package.json +15 -0
  419. package/templates/docs/partials/shared-note.md +3 -0
  420. package/templates/docs/parts/include-body.md +9 -0
  421. package/templates/docs/pnpm-lock.yaml +2917 -0
  422. package/templates/docs/snippets/greet.ts +3 -0
  423. package/templates/hono/.preactpress/config.ts +100 -0
  424. package/templates/hono/.preactpress/theme/CodeSnippet.tsx +41 -0
  425. package/templates/hono/.preactpress/theme/FeatureGrid.tsx +27 -0
  426. package/templates/hono/.preactpress/theme/Hero.tsx +45 -0
  427. package/templates/hono/.preactpress/theme/Layout.tsx +388 -0
  428. package/templates/hono/.preactpress/theme/Logo.tsx +26 -0
  429. package/templates/hono/.preactpress/theme/ThemeToggle.tsx +72 -0
  430. package/templates/hono/.preactpress/theme/hono.css +1058 -0
  431. package/templates/hono/README.md +41 -0
  432. package/templates/hono/about.md +10 -0
  433. package/templates/hono/components/Counter.tsx +25 -0
  434. package/templates/hono/de/about.md +10 -0
  435. package/templates/hono/de/guide/commands.md +44 -0
  436. package/templates/hono/de/guide/configuration.md +64 -0
  437. package/templates/hono/de/guide/deploy.md +197 -0
  438. package/templates/hono/de/guide/first-five-minutes.md +82 -0
  439. package/templates/hono/de/guide/getting-started.md +146 -0
  440. package/templates/hono/de/guide/routing.md +220 -0
  441. package/templates/hono/de/guide/seiten-erstellen.md +171 -0
  442. package/templates/hono/de/guide/what-is-preactpress.md +87 -0
  443. package/templates/hono/de/index.mdx +51 -0
  444. package/templates/hono/de/interactive.mdx +32 -0
  445. package/templates/hono/de/markdown-examples.md +142 -0
  446. package/templates/hono/de/parts/include-body.md +9 -0
  447. package/templates/hono/de/snippets/greet.ts +3 -0
  448. package/templates/hono/dist/404.html +29 -0
  449. package/templates/hono/dist/README/index.html +104 -0
  450. package/templates/hono/dist/about/index.html +32 -0
  451. package/templates/hono/dist/assets/Counter-CCEByS-J.js +1 -0
  452. package/templates/hono/dist/assets/Hero--o6WMNvm.js +2 -0
  453. package/templates/hono/dist/assets/de-D5r6Ye70.js +10 -0
  454. package/templates/hono/dist/assets/hono-BXWYYdyv.js +10 -0
  455. package/templates/hono/dist/assets/interactive-Bxo-WBpC.js +9 -0
  456. package/templates/hono/dist/assets/interactive-BznI4IQ3.js +9 -0
  457. package/templates/hono/dist/assets/main-Bqi-VFEk.js +2 -0
  458. package/templates/hono/dist/assets/main-DIIN7FO0.css +1 -0
  459. package/templates/hono/dist/de/about/index.html +32 -0
  460. package/templates/hono/dist/de/guide/commands/index.html +41 -0
  461. package/templates/hono/dist/de/guide/configuration/index.html +105 -0
  462. package/templates/hono/dist/de/guide/deploy/index.html +195 -0
  463. package/templates/hono/dist/de/guide/first-five-minutes/index.html +99 -0
  464. package/templates/hono/dist/de/guide/getting-started/index.html +173 -0
  465. package/templates/hono/dist/de/guide/routing/index.html +165 -0
  466. package/templates/hono/dist/de/guide/seiten-erstellen/index.html +234 -0
  467. package/templates/hono/dist/de/guide/what-is-preactpress/index.html +141 -0
  468. package/templates/hono/dist/de/index.html +30 -0
  469. package/templates/hono/dist/de/interactive/index.html +37 -0
  470. package/templates/hono/dist/de/markdown-examples/index.html +97 -0
  471. package/templates/hono/dist/de/parts/include-body/index.html +36 -0
  472. package/templates/hono/dist/de/tags/markdown/index.html +32 -0
  473. package/templates/hono/dist/favicon-32.png +0 -0
  474. package/templates/hono/dist/favicon.png +0 -0
  475. package/templates/hono/dist/favicon.svg +28 -0
  476. package/templates/hono/dist/guide/commands/index.html +41 -0
  477. package/templates/hono/dist/guide/configuration/index.html +158 -0
  478. package/templates/hono/dist/guide/creating-pages/index.html +234 -0
  479. package/templates/hono/dist/guide/deploy/index.html +195 -0
  480. package/templates/hono/dist/guide/first-five-minutes/index.html +99 -0
  481. package/templates/hono/dist/guide/getting-started/index.html +173 -0
  482. package/templates/hono/dist/guide/routing/index.html +165 -0
  483. package/templates/hono/dist/guide/what-is-preactpress/index.html +141 -0
  484. package/templates/hono/dist/index.html +30 -0
  485. package/templates/hono/dist/interactive/index.html +37 -0
  486. package/templates/hono/dist/markdown-examples/index.html +105 -0
  487. package/templates/hono/dist/partials/shared-note/index.html +30 -0
  488. package/templates/hono/dist/parts/include-body/index.html +36 -0
  489. package/templates/hono/dist/preactpress-content/404.json +8 -0
  490. package/templates/hono/dist/preactpress-content/README.json +26 -0
  491. package/templates/hono/dist/preactpress-content/about.json +15 -0
  492. package/templates/hono/dist/preactpress-content/de__about.json +15 -0
  493. package/templates/hono/dist/preactpress-content/de__guide__commands.json +36 -0
  494. package/templates/hono/dist/preactpress-content/de__guide__configuration.json +41 -0
  495. package/templates/hono/dist/preactpress-content/de__guide__deploy.json +56 -0
  496. package/templates/hono/dist/preactpress-content/de__guide__first-five-minutes.json +36 -0
  497. package/templates/hono/dist/preactpress-content/de__guide__getting-started.json +51 -0
  498. package/templates/hono/dist/preactpress-content/de__guide__routing.json +61 -0
  499. package/templates/hono/dist/preactpress-content/de__guide__seiten-erstellen.json +71 -0
  500. package/templates/hono/dist/preactpress-content/de__guide__what-is-preactpress.json +51 -0
  501. package/templates/hono/dist/preactpress-content/de__markdown-examples.json +131 -0
  502. package/templates/hono/dist/preactpress-content/de__parts__include-body.json +16 -0
  503. package/templates/hono/dist/preactpress-content/de__tags__markdown.json +16 -0
  504. package/templates/hono/dist/preactpress-content/guide__commands.json +36 -0
  505. package/templates/hono/dist/preactpress-content/guide__configuration.json +51 -0
  506. package/templates/hono/dist/preactpress-content/guide__creating-pages.json +71 -0
  507. package/templates/hono/dist/preactpress-content/guide__deploy.json +56 -0
  508. package/templates/hono/dist/preactpress-content/guide__first-five-minutes.json +36 -0
  509. package/templates/hono/dist/preactpress-content/guide__getting-started.json +51 -0
  510. package/templates/hono/dist/preactpress-content/guide__routing.json +61 -0
  511. package/templates/hono/dist/preactpress-content/guide__what-is-preactpress.json +51 -0
  512. package/templates/hono/dist/preactpress-content/markdown-examples.json +141 -0
  513. package/templates/hono/dist/preactpress-content/partials__shared-note.json +10 -0
  514. package/templates/hono/dist/preactpress-content/parts__include-body.json +16 -0
  515. package/templates/hono/dist/preactpress-content/tags__markdown.json +16 -0
  516. package/templates/hono/dist/preactpress-search.json +242 -0
  517. package/templates/hono/dist/preactpress-theme.js +1 -0
  518. package/templates/hono/dist/tags/markdown/index.html +32 -0
  519. package/templates/hono/guide/commands.md +44 -0
  520. package/templates/hono/guide/configuration.md +177 -0
  521. package/templates/hono/guide/creating-pages.md +171 -0
  522. package/templates/hono/guide/deploy.md +197 -0
  523. package/templates/hono/guide/first-five-minutes.md +82 -0
  524. package/templates/hono/guide/getting-started.md +146 -0
  525. package/templates/hono/guide/routing.md +263 -0
  526. package/templates/hono/guide/what-is-preactpress.md +87 -0
  527. package/templates/hono/index.html +18 -0
  528. package/templates/hono/index.mdx +51 -0
  529. package/templates/hono/interactive.mdx +32 -0
  530. package/templates/hono/markdown-examples.md +160 -0
  531. package/templates/hono/package.json +15 -0
  532. package/templates/hono/partials/shared-note.md +3 -0
  533. package/templates/hono/parts/include-body.md +9 -0
  534. package/templates/hono/pnpm-lock.yaml +2917 -0
  535. package/templates/hono/snippets/greet.ts +3 -0
  536. package/templates/magazine/.preactpress/config.ts +36 -0
  537. package/templates/magazine/.preactpress/theme/Layout.tsx +319 -0
  538. package/templates/magazine/.preactpress/theme/TeaserGrid.tsx +39 -0
  539. package/templates/magazine/.preactpress/theme/ThemeToggle.tsx +73 -0
  540. package/templates/magazine/.preactpress/theme/magazine.css +587 -0
  541. package/templates/magazine/article-markets.md +24 -0
  542. package/templates/magazine/article-tech.mdx +35 -0
  543. package/templates/magazine/index.data.ts +19 -0
  544. package/templates/magazine/index.html +14 -0
  545. package/templates/magazine/index.mdx +13 -0
  546. package/templates/magazine/package.json +15 -0
@@ -0,0 +1,234 @@
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>Seiten erstellen | Hono Starter</title>
7
+ <script src="/preactpress-theme.js"></script>
8
+ <meta name="description" content="Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden">
9
+ <meta property="og:title" content="Seiten erstellen | Hono Starter">
10
+ <meta property="og:description" content="Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:url" content="/de/guide/seiten-erstellen/">
13
+ <meta name="twitter:card" content="summary">
14
+ <meta name="twitter:title" content="Seiten erstellen | Hono Starter">
15
+ <meta name="twitter:description" content="Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden">
16
+ <link rel="canonical" href="/de/guide/seiten-erstellen/">
17
+ <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Seiten erstellen | Hono Starter","name":"Seiten erstellen | Hono Starter","description":"Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden","url":"/de/guide/seiten-erstellen/","dateModified":"2026-06-05T05:42:40.470Z"}</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;Seiten erstellen&quot;,&quot;description&quot;:&quot;Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden&quot;},&quot;html&quot;:&quot;\u003ch1 id=\&quot;seiten-erstellen\&quot; class=\&quot;pp-heading\&quot;&gt;Seiten erstellen\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#seiten-erstellen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h1&gt;\n\u003cp&gt;In PreactPress entstehen Seiten aus Dateien — es gibt keinen separaten Seiten-Editor oder CMS. Jede \u003ccode&gt;.md\u003c/code&gt;- oder \u003ccode&gt;.mdx\u003c/code&gt;-Datei unter dem Quellverzeichnis (\u003ccode&gt;srcDir\u003c/code&gt;, standardmäßig das Projektroot) wird automatisch zu einer öffentlichen URL.\u003c/p&gt;\n\u003ch2 id=\&quot;kurz-berblick\&quot; class=\&quot;pp-heading\&quot;&gt;Kurzüberblick\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#kurz-berblick\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003col&gt;\n\u003cli&gt;Eine neue Datei anlegen (z. B. \u003ccode&gt;kontakt.md\u003c/code&gt; oder \u003ccode&gt;guide/neue-seite.md\u003c/code&gt;).\u003c/li&gt;\n\u003cli&gt;Optional Frontmatter mit \u003ccode&gt;title\u003c/code&gt;, \u003ccode&gt;description\u003c/code&gt; und \u003ccode&gt;layout\u003c/code&gt; ergänzen.\u003c/li&gt;\n\u003cli&gt;Inhalt in Markdown oder MDX schreiben.\u003c/li&gt;\n\u003cli&gt;Dev-Server lädt die Seite automatisch nach — kein Neustart nötig.\u003c/li&gt;\n\u003cli&gt;Optional Eintrag in \u003ccode&gt;nav\u003c/code&gt; und \u003ccode&gt;sidebar\u003c/code&gt; in \u003ccode&gt;.preactpress/config.ts\u003c/code&gt; setzen.\u003c/li&gt;\n\u003c/ol&gt;\n\u003ch2 id=\&quot;schritt-f-r-schritt-eine-einfache-seite\&quot; class=\&quot;pp-heading\&quot;&gt;Schritt für Schritt: eine einfache Seite\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#schritt-f-r-schritt-eine-einfache-seite\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Lege im Projektroot (oder unter \u003ccode&gt;srcDir\u003c/code&gt;) eine Markdown-Datei an, z. B. \u003ccode&gt;kontakt.md\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:#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;Kontakt\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;description\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;So erreichst du uns\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;layout\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;page\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;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold\&quot;&gt;# Kontakt\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;Schreib uns an \u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold\&quot;&gt;**hello@example.com**\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;Speichern — unter \u003ccode&gt;pnpm run dev\u003c/code&gt; ist die Seite sofort unter \u003cstrong&gt;/kontakt\u003c/strong&gt; erreichbar.\u003c/p&gt;\n\u003cblockquote&gt;\n\u003cp&gt;\u003cstrong&gt;Hinweis\u003c/strong&gt;\nDer Dateiname (ohne Endung) bestimmt den URL-Pfad. \u003ccode&gt;kontakt.md\u003c/code&gt; → \u003ccode&gt;/kontakt\u003c/code&gt;, nicht \u003ccode&gt;/kontakt.md\u003c/code&gt;.\u003c/p&gt;\n\u003c/blockquote&gt;\n\u003ch2 id=\&quot;wo-die-datei-liegt-welche-url\&quot; class=\&quot;pp-heading\&quot;&gt;Wo die Datei liegt → welche URL\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#wo-die-datei-liegt-welche-url\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;PreactPress nutzt \u003cstrong&gt;dateibasiertes Routing\u003c/strong&gt;. Der Pfad relativ zu \u003ccode&gt;srcDir\u003c/code&gt; wird zur Route:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Datei\u003c/th&gt;\n\u003cth&gt;URL\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;index.md\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;/\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;about.md\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;/about\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;guide/einfuehrung.md\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;/guide/einfuehrung\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;guide/index.md\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;/guide\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;news/2025/intro.md\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;/news/2025/intro\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;interactive.mdx\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;/interactive\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Produktionsbuilds schreiben Verzeichnis-Indexe (\u003ccode&gt;dist/about/index.html\u003c/code&gt;), damit URLs ohne \u003ccode&gt;.html\u003c/code&gt; funktionieren.\u003c/p&gt;\n\u003cp&gt;Ausführliche Details: \u003ca href=\&quot;/de/guide/routing\&quot;&gt;Routing\u003c/a&gt;.\u003c/p&gt;\n\u003ch2 id=\&quot;quellverzeichnis-srcdir\&quot; class=\&quot;pp-heading\&quot;&gt;Quellverzeichnis (\u003ccode&gt;srcDir\u003c/code&gt;)\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#quellverzeichnis-srcdir\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Standardmäßig liegen Markdown-Dateien im Projektroot neben \u003ccode&gt;.preactpress/\u003c/code&gt;. Du kannst Inhalte in einen Unterordner 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:#6A737D;--shiki-dark:#6A737D\&quot;&gt;// .preactpress/config.ts\u003c/span&gt;\u003c/span&gt;\n\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 gehören alle Seiten nach \u003ccode&gt;docs/\u003c/code&gt; — z. B. \u003ccode&gt;docs/index.md\u003c/code&gt; → \u003ccode&gt;/\u003c/code&gt;, \u003ccode&gt;docs/guide/foo.md\u003c/code&gt; → \u003ccode&gt;/guide/foo\u003c/code&gt;. Die URLs bleiben gleich; nur der Speicherort der Dateien ändert sich.\u003c/p&gt;\n\u003ch2 id=\&quot;frontmatter-optional-aber-empfohlen\&quot; class=\&quot;pp-heading\&quot;&gt;Frontmatter (optional, aber empfohlen)\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#frontmatter-optional-aber-empfohlen\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;YAML am Dateianfang steuert Metadaten und Darstellung:\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;Meine Seite\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;description\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;Kurztext für Suche, SEO und Social Previews\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;layout\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;doc\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;\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Feld\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;title\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Seitentitel (Navigation, \u003ccode&gt;&amp;lt;title&amp;gt;\u003c/code&gt;, Suche)\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;description\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Zusammenfassung für SEO und Suche\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;layout: doc\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Doku-Layout mit Sidebar, Gliederung und Vor/Zurück-Links\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;layout: page\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Inhaltsseite ohne Sidebar und ohne Doku-Gliederung\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;layout: home\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Startseiten-Layout mit optional \u003ccode&gt;hero\u003c/code&gt; und \u003ccode&gt;features\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;draft: true\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Seite wird aus Build, Sitemap und Suche ausgeschlossen\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Weitere Felder (\u003ccode&gt;tags\u003c/code&gt;, \u003ccode&gt;sidebar: false\u003c/code&gt;, \u003ccode&gt;navbar: false\u003c/code&gt;, …) stehen im README des npm-Pakets bzw. in der Referenz des Starters.\u003c/p&gt;\n\u003ch2 id=\&quot;mdx-seiten-mit-komponenten\&quot; class=\&quot;pp-heading\&quot;&gt;MDX-Seiten mit Komponenten\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#mdx-seiten-mit-komponenten\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Brauchst du interaktive UI, nutze \u003ccode&gt;.mdx\u003c/code&gt; statt \u003ccode&gt;.md\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:#032F62;--shiki-dark:#9ECBFF\&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;Demo\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;description\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;Interaktive Komponente\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;---\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;import Counter from './components/Counter.tsx'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold\&quot;&gt;## Zähler\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;&amp;#x3C;Counter initial={3} /&gt;\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Komponenten importierst du relativ zur MDX-Datei. Überschriften \u003ccode&gt;##\u003c/code&gt; und \u003ccode&gt;###\u003c/code&gt; erscheinen in der Seitengliederung (bei \u003ccode&gt;layout: doc\u003c/code&gt;).\u003c/p&gt;\n\u003cp&gt;Beispiel im Starter: \u003ca href=\&quot;/de/interactive\&quot;&gt;Interaktives MDX\u003c/a&gt;.\u003c/p&gt;\n\u003ch2 id=\&quot;in-die-navigation-einbinden\&quot; class=\&quot;pp-heading\&quot;&gt;In die Navigation einbinden\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#in-die-navigation-einbinden\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Neue Seiten erscheinen \u003cstrong&gt;nicht automatisch\u003c/strong&gt; in der Kopfzeile oder Sidebar. Trage sie in \u003ccode&gt;.preactpress/config.ts\u003c/code&gt; ein:\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; 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;'/'\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;'Kontakt'\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;'/kontakt'\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;'Anleitung'\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;'Seiten erstellen'\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/seiten-erstellen'\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;'Kontakt'\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;'/kontakt'\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;Bei mehrsprachigen Sites (\u003ccode&gt;locales\u003c/code&gt;) gehören \u003ccode&gt;nav\u003c/code&gt; und \u003ccode&gt;sidebar\u003c/code&gt; in die jeweilige Locale-Konfiguration — siehe \u003ca href=\&quot;/de/guide/getting-started\&quot;&gt;Getting Started\u003c/a&gt;.\u003c/p&gt;\n\u003ch2 id=\&quot;bersetzte-seite-locale\&quot; class=\&quot;pp-heading\&quot;&gt;Übersetzte Seite (Locale)\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#bersetzte-seite-locale\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Mit konfigurierten Locales legst du Übersetzungen in Sprachordnern ab:\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;kontakt.md → /kontakt\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;de/kontakt.md → /de/kontakt\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Die deutsche Version ist eine \u003cstrong&gt;eigene Datei\u003c/strong&gt;, kein Alias der englischen Seite.\u003c/p&gt;\n\u003ch2 id=\&quot;entw-rfe-und-pr-fung\&quot; class=\&quot;pp-heading\&quot;&gt;Entwürfe und Prüfung\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#entw-rfe-und-pr-fung\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cul&gt;\n\u003cli&gt;\u003cstrong&gt;\u003ccode&gt;draft: true\u003c/code&gt;\u003c/strong&gt; im Frontmatter: Seite nur lokal sichtbar im Dev-Modus, nicht im Produktionsbuild.\u003c/li&gt;\n\u003cli&gt;\u003cstrong&gt;\u003ccode&gt;pnpm run check\u003c/code&gt;\u003c/strong&gt;: prüft fehlende Links, unbekannte Layouts, Route-Kollisionen und warnt bei Entwürfen ohne Beschreibung.\u003c/li&gt;\n\u003c/ul&gt;\n\u003ch2 id=\&quot;typische-fehler\&quot; class=\&quot;pp-heading\&quot;&gt;Typische Fehler\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#typische-fehler\&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;Problem\u003c/th&gt;\n\u003cth&gt;Lösung\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;Seite 404\u003c/td&gt;\n\u003ctd&gt;Dateiendung \u003ccode&gt;.md\u003c/code&gt; / \u003ccode&gt;.mdx\u003c/code&gt;? Liegt die Datei unter \u003ccode&gt;srcDir\u003c/code&gt;? Dev-Server läuft?\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Link in Markdown funktioniert nicht\u003c/td&gt;\n\u003ctd&gt;Extension weglassen: \u003ccode&gt;/guide/foo\u003c/code&gt;, nicht \u003ccode&gt;/guide/foo.md\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Doppelte URL\u003c/td&gt;\n\u003ctd&gt;Zwei Dateien dürfen nicht dieselbe Route erzeugen (z. B. \u003ccode&gt;foo.md\u003c/code&gt; und \u003ccode&gt;foo/index.md\u003c/code&gt;)\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Seite fehlt in der Navigation\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;nav\u003c/code&gt; / \u003ccode&gt;sidebar\u003c/code&gt; in der Config ergänzen\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003ch2 id=\&quot;n-chste-schritte\&quot; class=\&quot;pp-heading\&quot;&gt;Nächste Schritte\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#n-chste-schritte\&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;Thema\u003c/th&gt;\n\u003cth&gt;Link\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;Erste Änderungen in 5 Minuten\u003c/td&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\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Routing, \u003ccode&gt;srcDir\u003c/code&gt;, Tags\u003c/td&gt;\n\u003ctd&gt;\u003ca href=\&quot;/de/guide/routing\&quot;&gt;Routing\u003c/a&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Markdown-Syntax\u003c/td&gt;\n\u003ctd&gt;\u003ca href=\&quot;/de/markdown-examples\&quot;&gt;Markdown-Beispiele\u003c/a&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Produktion bauen\u003c/td&gt;\n\u003ctd&gt;\u003ca href=\&quot;/de/guide/deploy\&quot;&gt;Deploy\u003c/a&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n&quot;,&quot;title&quot;:&quot;Seiten erstellen&quot;,&quot;description&quot;:&quot;Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden&quot;,&quot;tags&quot;:[],&quot;pageType&quot;:&quot;website&quot;,&quot;headings&quot;:[{&quot;id&quot;:&quot;kurz-berblick&quot;,&quot;text&quot;:&quot;Kurzüberblick&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;schritt-f-r-schritt-eine-einfache-seite&quot;,&quot;text&quot;:&quot;Schritt für Schritt: eine einfache Seite&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;wo-die-datei-liegt-welche-url&quot;,&quot;text&quot;:&quot;Wo die Datei liegt → welche URL&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;quellverzeichnis-srcdir&quot;,&quot;text&quot;:&quot;Quellverzeichnis (srcDir)&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;frontmatter-optional-aber-empfohlen&quot;,&quot;text&quot;:&quot;Frontmatter (optional, aber empfohlen)&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;mdx-seiten-mit-komponenten&quot;,&quot;text&quot;:&quot;MDX-Seiten mit Komponenten&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;in-die-navigation-einbinden&quot;,&quot;text&quot;:&quot;In die Navigation einbinden&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;bersetzte-seite-locale&quot;,&quot;text&quot;:&quot;Übersetzte Seite (Locale)&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;entw-rfe-und-pr-fung&quot;,&quot;text&quot;:&quot;Entwürfe und Prüfung&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;typische-fehler&quot;,&quot;text&quot;:&quot;Typische Fehler&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;n-chste-schritte&quot;,&quot;text&quot;:&quot;Nächste Schritte&quot;,&quot;level&quot;:2}],&quot;relativePath&quot;:&quot;de/guide/seiten-erstellen.md&quot;,&quot;lastUpdated&quot;:&quot;2026-06-05T05:42:40.470Z&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="/" class>English</a><a href="/de/guide/seiten-erstellen" 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 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="active" href="/de/guide/seiten-erstellen" aria-current="page">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">Seiten erstellen</h1><p class="hn-doc-lead">Neue Markdown- und MDX-Seiten anlegen, URLs verstehen und in die Navigation einbinden</p><div class="hn-doc-content"><h1 id="seiten-erstellen" class="pp-heading">Seiten erstellen<a class="pp-heading-anchor" href="#seiten-erstellen" aria-label="Link to this section">#</a></h1>
27
+ <p>In PreactPress entstehen Seiten aus Dateien — es gibt keinen separaten Seiten-Editor oder CMS. Jede <code>.md</code>- oder <code>.mdx</code>-Datei unter dem Quellverzeichnis (<code>srcDir</code>, standardmäßig das Projektroot) wird automatisch zu einer öffentlichen URL.</p>
28
+ <h2 id="kurz-berblick" class="pp-heading">Kurzüberblick<a class="pp-heading-anchor" href="#kurz-berblick" aria-label="Link to this section">#</a></h2>
29
+ <ol>
30
+ <li>Eine neue Datei anlegen (z. B. <code>kontakt.md</code> oder <code>guide/neue-seite.md</code>).</li>
31
+ <li>Optional Frontmatter mit <code>title</code>, <code>description</code> und <code>layout</code> ergänzen.</li>
32
+ <li>Inhalt in Markdown oder MDX schreiben.</li>
33
+ <li>Dev-Server lädt die Seite automatisch nach — kein Neustart nötig.</li>
34
+ <li>Optional Eintrag in <code>nav</code> und <code>sidebar</code> in <code>.preactpress/config.ts</code> setzen.</li>
35
+ </ol>
36
+ <h2 id="schritt-f-r-schritt-eine-einfache-seite" class="pp-heading">Schritt für Schritt: eine einfache Seite<a class="pp-heading-anchor" href="#schritt-f-r-schritt-eine-einfache-seite" aria-label="Link to this section">#</a></h2>
37
+ <p>Lege im Projektroot (oder unter <code>srcDir</code>) eine Markdown-Datei an, z. B. <code>kontakt.md</code>:</p>
38
+ <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>
39
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">title</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">Kontakt</span></span>
40
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">description</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">So erreichst du uns</span></span>
41
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">layout</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">page</span></span>
42
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">---</span></span>
43
+ <span class="line"></span>
44
+ <span class="line"><span style="color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># Kontakt</span></span>
45
+ <span class="line"></span>
46
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">Schreib uns an </span><span style="color:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**hello@example.com**</span><span style="color:#24292E;--shiki-dark:#E1E4E8">.</span></span></code></pre><p>Speichern — unter <code>pnpm run dev</code> ist die Seite sofort unter <strong>/kontakt</strong> erreichbar.</p>
47
+ <blockquote>
48
+ <p><strong>Hinweis</strong>
49
+ Der Dateiname (ohne Endung) bestimmt den URL-Pfad. <code>kontakt.md</code> → <code>/kontakt</code>, nicht <code>/kontakt.md</code>.</p>
50
+ </blockquote>
51
+ <h2 id="wo-die-datei-liegt-welche-url" class="pp-heading">Wo die Datei liegt → welche URL<a class="pp-heading-anchor" href="#wo-die-datei-liegt-welche-url" aria-label="Link to this section">#</a></h2>
52
+ <p>PreactPress nutzt <strong>dateibasiertes Routing</strong>. Der Pfad relativ zu <code>srcDir</code> wird zur Route:</p>
53
+ <table>
54
+ <thead>
55
+ <tr>
56
+ <th>Datei</th>
57
+ <th>URL</th>
58
+ </tr>
59
+ </thead>
60
+ <tbody>
61
+ <tr>
62
+ <td><code>index.md</code></td>
63
+ <td><code>/</code></td>
64
+ </tr>
65
+ <tr>
66
+ <td><code>about.md</code></td>
67
+ <td><code>/about</code></td>
68
+ </tr>
69
+ <tr>
70
+ <td><code>guide/einfuehrung.md</code></td>
71
+ <td><code>/guide/einfuehrung</code></td>
72
+ </tr>
73
+ <tr>
74
+ <td><code>guide/index.md</code></td>
75
+ <td><code>/guide</code></td>
76
+ </tr>
77
+ <tr>
78
+ <td><code>news/2025/intro.md</code></td>
79
+ <td><code>/news/2025/intro</code></td>
80
+ </tr>
81
+ <tr>
82
+ <td><code>interactive.mdx</code></td>
83
+ <td><code>/interactive</code></td>
84
+ </tr>
85
+ </tbody>
86
+ </table>
87
+ <p>Produktionsbuilds schreiben Verzeichnis-Indexe (<code>dist/about/index.html</code>), damit URLs ohne <code>.html</code> funktionieren.</p>
88
+ <p>Ausführliche Details: <a href="/de/guide/routing">Routing</a>.</p>
89
+ <h2 id="quellverzeichnis-srcdir" class="pp-heading">Quellverzeichnis (<code>srcDir</code>)<a class="pp-heading-anchor" href="#quellverzeichnis-srcdir" aria-label="Link to this section">#</a></h2>
90
+ <p>Standardmäßig liegen Markdown-Dateien im Projektroot neben <code>.preactpress/</code>. Du kannst Inhalte in einen Unterordner legen:</p>
91
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6A737D;--shiki-dark:#6A737D">// .preactpress/config.ts</span></span>
92
+ <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>
93
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> srcDir: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'docs'</span></span>
94
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Dann gehören alle Seiten nach <code>docs/</code> — z. B. <code>docs/index.md</code> → <code>/</code>, <code>docs/guide/foo.md</code> → <code>/guide/foo</code>. Die URLs bleiben gleich; nur der Speicherort der Dateien ändert sich.</p>
95
+ <h2 id="frontmatter-optional-aber-empfohlen" class="pp-heading">Frontmatter (optional, aber empfohlen)<a class="pp-heading-anchor" href="#frontmatter-optional-aber-empfohlen" aria-label="Link to this section">#</a></h2>
96
+ <p>YAML am Dateianfang steuert Metadaten und Darstellung:</p>
97
+ <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>
98
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">title</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">Meine Seite</span></span>
99
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">description</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">Kurztext für Suche, SEO und Social Previews</span></span>
100
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">layout</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">doc</span></span>
101
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">---</span></span></code></pre><table>
102
+ <thead>
103
+ <tr>
104
+ <th>Feld</th>
105
+ <th>Zweck</th>
106
+ </tr>
107
+ </thead>
108
+ <tbody>
109
+ <tr>
110
+ <td><code>title</code></td>
111
+ <td>Seitentitel (Navigation, <code>&lt;title&gt;</code>, Suche)</td>
112
+ </tr>
113
+ <tr>
114
+ <td><code>description</code></td>
115
+ <td>Zusammenfassung für SEO und Suche</td>
116
+ </tr>
117
+ <tr>
118
+ <td><code>layout: doc</code></td>
119
+ <td>Doku-Layout mit Sidebar, Gliederung und Vor/Zurück-Links</td>
120
+ </tr>
121
+ <tr>
122
+ <td><code>layout: page</code></td>
123
+ <td>Inhaltsseite ohne Sidebar und ohne Doku-Gliederung</td>
124
+ </tr>
125
+ <tr>
126
+ <td><code>layout: home</code></td>
127
+ <td>Startseiten-Layout mit optional <code>hero</code> und <code>features</code></td>
128
+ </tr>
129
+ <tr>
130
+ <td><code>draft: true</code></td>
131
+ <td>Seite wird aus Build, Sitemap und Suche ausgeschlossen</td>
132
+ </tr>
133
+ </tbody>
134
+ </table>
135
+ <p>Weitere Felder (<code>tags</code>, <code>sidebar: false</code>, <code>navbar: false</code>, …) stehen im README des npm-Pakets bzw. in der Referenz des Starters.</p>
136
+ <h2 id="mdx-seiten-mit-komponenten" class="pp-heading">MDX-Seiten mit Komponenten<a class="pp-heading-anchor" href="#mdx-seiten-mit-komponenten" aria-label="Link to this section">#</a></h2>
137
+ <p>Brauchst du interaktive UI, nutze <code>.mdx</code> statt <code>.md</code>:</p>
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:#032F62;--shiki-dark:#9ECBFF">---</span></span>
139
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">title</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">Demo</span></span>
140
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">description</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">Interaktive Komponente</span></span>
141
+ <span class="line"><span style="color:#032F62;--shiki-dark:#9ECBFF">---</span></span>
142
+ <span class="line"></span>
143
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">import Counter from './components/Counter.tsx'</span></span>
144
+ <span class="line"></span>
145
+ <span class="line"><span style="color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Zähler</span></span>
146
+ <span class="line"></span>
147
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">&#x3C;Counter initial={3} /></span></span></code></pre><p>Komponenten importierst du relativ zur MDX-Datei. Überschriften <code>##</code> und <code>###</code> erscheinen in der Seitengliederung (bei <code>layout: doc</code>).</p>
148
+ <p>Beispiel im Starter: <a href="/de/interactive">Interaktives MDX</a>.</p>
149
+ <h2 id="in-die-navigation-einbinden" class="pp-heading">In die Navigation einbinden<a class="pp-heading-anchor" href="#in-die-navigation-einbinden" aria-label="Link to this section">#</a></h2>
150
+ <p>Neue Seiten erscheinen <strong>nicht automatisch</strong> in der Kopfzeile oder Sidebar. Trage sie in <code>.preactpress/config.ts</code> ein:</p>
151
+ <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>
152
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> themeConfig: {</span></span>
153
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> nav: [</span></span>
154
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Start'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
155
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Kontakt'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/kontakt'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
156
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ],</span></span>
157
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> sidebar: [</span></span>
158
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
159
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Anleitung'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
160
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> items: [</span></span>
161
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Seiten erstellen'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/de/guide/seiten-erstellen'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
162
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Kontakt'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/kontakt'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
163
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ]</span></span>
164
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
165
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ]</span></span>
166
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
167
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Bei mehrsprachigen Sites (<code>locales</code>) gehören <code>nav</code> und <code>sidebar</code> in die jeweilige Locale-Konfiguration — siehe <a href="/de/guide/getting-started">Getting Started</a>.</p>
168
+ <h2 id="bersetzte-seite-locale" class="pp-heading">Übersetzte Seite (Locale)<a class="pp-heading-anchor" href="#bersetzte-seite-locale" aria-label="Link to this section">#</a></h2>
169
+ <p>Mit konfigurierten Locales legst du Übersetzungen in Sprachordnern ab:</p>
170
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span>kontakt.md → /kontakt</span></span>
171
+ <span class="line"><span>de/kontakt.md → /de/kontakt</span></span></code></pre><p>Die deutsche Version ist eine <strong>eigene Datei</strong>, kein Alias der englischen Seite.</p>
172
+ <h2 id="entw-rfe-und-pr-fung" class="pp-heading">Entwürfe und Prüfung<a class="pp-heading-anchor" href="#entw-rfe-und-pr-fung" aria-label="Link to this section">#</a></h2>
173
+ <ul>
174
+ <li><strong><code>draft: true</code></strong> im Frontmatter: Seite nur lokal sichtbar im Dev-Modus, nicht im Produktionsbuild.</li>
175
+ <li><strong><code>pnpm run check</code></strong>: prüft fehlende Links, unbekannte Layouts, Route-Kollisionen und warnt bei Entwürfen ohne Beschreibung.</li>
176
+ </ul>
177
+ <h2 id="typische-fehler" class="pp-heading">Typische Fehler<a class="pp-heading-anchor" href="#typische-fehler" aria-label="Link to this section">#</a></h2>
178
+ <table>
179
+ <thead>
180
+ <tr>
181
+ <th>Problem</th>
182
+ <th>Lösung</th>
183
+ </tr>
184
+ </thead>
185
+ <tbody>
186
+ <tr>
187
+ <td>Seite 404</td>
188
+ <td>Dateiendung <code>.md</code> / <code>.mdx</code>? Liegt die Datei unter <code>srcDir</code>? Dev-Server läuft?</td>
189
+ </tr>
190
+ <tr>
191
+ <td>Link in Markdown funktioniert nicht</td>
192
+ <td>Extension weglassen: <code>/guide/foo</code>, nicht <code>/guide/foo.md</code></td>
193
+ </tr>
194
+ <tr>
195
+ <td>Doppelte URL</td>
196
+ <td>Zwei Dateien dürfen nicht dieselbe Route erzeugen (z. B. <code>foo.md</code> und <code>foo/index.md</code>)</td>
197
+ </tr>
198
+ <tr>
199
+ <td>Seite fehlt in der Navigation</td>
200
+ <td><code>nav</code> / <code>sidebar</code> in der Config ergänzen</td>
201
+ </tr>
202
+ </tbody>
203
+ </table>
204
+ <h2 id="n-chste-schritte" class="pp-heading">Nächste Schritte<a class="pp-heading-anchor" href="#n-chste-schritte" aria-label="Link to this section">#</a></h2>
205
+ <table>
206
+ <thead>
207
+ <tr>
208
+ <th>Thema</th>
209
+ <th>Link</th>
210
+ </tr>
211
+ </thead>
212
+ <tbody>
213
+ <tr>
214
+ <td>Erste Änderungen in 5 Minuten</td>
215
+ <td><a href="/de/guide/first-five-minutes">Die ersten 5 Minuten</a></td>
216
+ </tr>
217
+ <tr>
218
+ <td>Routing, <code>srcDir</code>, Tags</td>
219
+ <td><a href="/de/guide/routing">Routing</a></td>
220
+ </tr>
221
+ <tr>
222
+ <td>Markdown-Syntax</td>
223
+ <td><a href="/de/markdown-examples">Markdown-Beispiele</a></td>
224
+ </tr>
225
+ <tr>
226
+ <td>Produktion bauen</td>
227
+ <td><a href="/de/guide/deploy">Deploy</a></td>
228
+ </tr>
229
+ </tbody>
230
+ </table>
231
+ </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="#kurz-berblick">Kurzüberblick</a></li><li class="level-2"><a href="#schritt-f-r-schritt-eine-einfache-seite">Schritt für Schritt: eine einfache Seite</a></li><li class="level-2"><a href="#wo-die-datei-liegt-welche-url">Wo die Datei liegt → welche URL</a></li><li class="level-2"><a href="#quellverzeichnis-srcdir">Quellverzeichnis (srcDir)</a></li><li class="level-2"><a href="#frontmatter-optional-aber-empfohlen">Frontmatter (optional, aber empfohlen)</a></li><li class="level-2"><a href="#mdx-seiten-mit-komponenten">MDX-Seiten mit Komponenten</a></li><li class="level-2"><a href="#in-die-navigation-einbinden">In die Navigation einbinden</a></li><li class="level-2"><a href="#bersetzte-seite-locale">Übersetzte Seite (Locale)</a></li><li class="level-2"><a href="#entw-rfe-und-pr-fung">Entwürfe und Prüfung</a></li><li class="level-2"><a href="#typische-fehler">Typische Fehler</a></li><li class="level-2"><a href="#n-chste-schritte">Nächste Schritte</a></li></ul></div></aside></div><footer class="hn-footer">Erstellt mit PreactPress.</footer></div></div>
232
+ <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
233
+ </body>
234
+ </html>
@@ -0,0 +1,141 @@
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>Was ist PreactPress? | Hono Starter</title>
7
+ <script src="/preactpress-theme.js"></script>
8
+ <meta name="description" content="Erfahre, was PreactPress ist und wann du es einsetzen kannst">
9
+ <meta property="og:title" content="Was ist PreactPress? | Hono Starter">
10
+ <meta property="og:description" content="Erfahre, was PreactPress ist und wann du es einsetzen kannst">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:url" content="/de/guide/what-is-preactpress/">
13
+ <meta name="twitter:card" content="summary">
14
+ <meta name="twitter:title" content="Was ist PreactPress? | Hono Starter">
15
+ <meta name="twitter:description" content="Erfahre, was PreactPress ist und wann du es einsetzen kannst">
16
+ <link rel="canonical" href="/de/guide/what-is-preactpress/">
17
+ <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Was ist PreactPress? | Hono Starter","name":"Was ist PreactPress? | Hono Starter","description":"Erfahre, was PreactPress ist und wann du es einsetzen kannst","url":"/de/guide/what-is-preactpress/","dateModified":"2026-06-04T07:32:56.298Z"}</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;Was ist PreactPress?&quot;,&quot;description&quot;:&quot;Erfahre, was PreactPress ist und wann du es einsetzen kannst&quot;},&quot;html&quot;:&quot;\u003ch1 id=\&quot;was-ist-preactpress\&quot; class=\&quot;pp-heading\&quot;&gt;Was ist PreactPress?\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#was-ist-preactpress\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h1&gt;\n\u003cp&gt;PreactPress ist ein Static-Site-Generator für schnelle, inhaltsorientierte Websites. Du schreibst Seiten in Markdown oder MDX, konfigurierst Navigation und Theme-Optionen in \u003ccode&gt;.preactpress/config.ts\u003c/code&gt;, und PreactPress erzeugt statisches HTML für beliebige Static Hosts.\u003c/p&gt;\n\u003cp&gt;Es basiert auf \u003ca href=\&quot;https://vite.dev/\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;Vite\u003c/a&gt; und \u003ca href=\&quot;https://preactjs.com/\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;Preact\u003c/a&gt;. Der Workflow ist von VitePress inspiriert, aber das Komponentenmodell ist Preact statt Vue.\u003c/p&gt;\n\u003ch2 id=\&quot;einsatzbereiche\&quot; class=\&quot;pp-heading\&quot;&gt;Einsatzbereiche\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#einsatzbereiche\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003ch3 id=\&quot;dokumentation\&quot; class=\&quot;pp-heading\&quot;&gt;Dokumentation\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#dokumentation\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h3&gt;\n\u003cp&gt;PreactPress bringt ein kleines Standard-Theme für technische Dokumentation mit. Es enthält Navigation, Sidebar-Gruppen, Outline-Links, Suche, Last-Updated-Metadaten und Markdown-Rendering.\u003c/p&gt;\n\u003cp&gt;Es passt besonders gut, wenn deine Dokumentation natürlich als Dateien wächst:\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\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;guide/getting-started.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;guide/routing.md\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan&gt;reference/api.md\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Jede Markdown- oder MDX-Datei wird zu einer Seite. Neue Dokumentation entsteht also durch neue Dateien und Einträge in der Sidebar.\u003c/p&gt;\n\u003ch3 id=\&quot;blogs-portfolios-und-marketing-seiten\&quot; class=\&quot;pp-heading\&quot;&gt;Blogs, Portfolios und Marketing-Seiten\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#blogs-portfolios-und-marketing-seiten\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h3&gt;\n\u003cp&gt;PreactPress kann auch Blogs, Portfolios und kleine Marketing-Seiten erzeugen. Markdown trägt den Inhalt, MDX bringt interaktive Preact-Komponenten hinein, und eigene Themes ersetzen bei Bedarf das Standard-Doku-Layout.\u003c/p&gt;\n\u003cp&gt;Im separaten Projekt \u003ccode&gt;preactpress-examples\u003c/code&gt; gibt es ein Custom-Theme-Beispiel mit Magazin-Layout, Artikel-Teasern und Tag-Seiten.\u003c/p&gt;\n\u003ch2 id=\&quot;developer-experience\&quot; class=\&quot;pp-heading\&quot;&gt;Developer Experience\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#developer-experience\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;PreactPress soll Content-Arbeit einfach halten:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Feature\u003c/th&gt;\n\u003cth&gt;Nutzen\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;Vite Dev-Server\u003c/td&gt;\n\u003ctd&gt;Schneller Start und Hot Updates beim Bearbeiten\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Markdown-Frontmatter\u003c/td&gt;\n\u003ctd&gt;Titel, Beschreibungen, Tags, Draft-Status und Social-Metadaten\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;MDX\u003c/td&gt;\n\u003ctd&gt;Preact-Komponenten direkt in Inhaltsseiten\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Standard-Theme\u003c/td&gt;\n\u003ctd&gt;Nav, Sidebar, Outline, Suche, Footer, Sprachumschalter\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;preactpress check\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Validierung von Config, Routen und Links vor dem Release\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Für normale Inhalte nimmst du \u003ccode&gt;.md\u003c/code&gt;. Wenn eine Seite Interaktivität braucht, nimmst du \u003ccode&gt;.mdx\u003c/code&gt; und importierst eine Preact-Komponente:\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;import Counter from './components/Counter.tsx'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold\&quot;&gt;## Demo\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;&amp;#x3C;Counter initial={3} /&gt;\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003ch2 id=\&quot;performance\&quot; class=\&quot;pp-heading\&quot;&gt;Performance\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#performance\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;PreactPress erzeugt beim Produktionsbuild statisches HTML für jede Route. Der erste Besuch erhält also HTML, das den Seiteninhalt bereits enthält. Das ist gut für Ladezeit und SEO.\u003c/p&gt;\n\u003cp&gt;Nach der Hydration übernimmt die Client-Navigation. Markdown-Seiten werden als kleine JSON-Payloads aus \u003ccode&gt;preactpress-content/*.json\u003c/code&gt; geladen, sodass große Sites nicht jeden Markdown-Body im ersten JavaScript-Bundle ausliefern müssen.\u003c/p&gt;\n\u003cp&gt;Der Produktionsbuild besteht nur aus statischen Dateien:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Ausgabe\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;index.html\u003c/code&gt;, \u003ccode&gt;*/index.html\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Eine HTML-Datei pro Route\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;assets/*\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Gehashtes JavaScript und CSS von Vite\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;preactpress-search.json\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Suchdaten für das Standard-Theme\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;preactpress-content/*.json\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Lazy geladene Markdown-Payloads\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;404.html\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Fehlerseite\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003ch2 id=\&quot;was-ist-mit-vitepress\&quot; class=\&quot;pp-heading\&quot;&gt;Was ist mit VitePress?\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#was-ist-mit-vitepress\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Wenn du VitePress kennst, wird sich PreactPress vertraut anfühlen: Beide nutzen Vite, dateibasierte Markdown-Routen, ein Standard-Doku-Theme und statischen Output.\u003c/p&gt;\n\u003cp&gt;Der wichtigste Unterschied ist der UI-Stack. VitePress nutzt Vue. PreactPress nutzt Preact und MDX, daher werden interaktive Inhalte und eigene Themes als Preact-Komponenten geschrieben.\u003c/p&gt;\n\u003cp&gt;PreactPress ist in Produktion außerdem static-only. Du baust die Site einmal, lädst das Ausgabeverzeichnis hoch und hostest es auf Netlify, Vercel, Cloudflare Pages, GitHub Pages, S3, Nginx oder einem anderen Static Host.\u003c/p&gt;\n\u003ch2 id=\&quot;n-chste-schritte\&quot; class=\&quot;pp-heading\&quot;&gt;Nächste Schritte\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#n-chste-schritte\&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/getting-started\&quot;&gt;Getting Started\u003c/a&gt;\u003c/td&gt;\n\u003ctd&gt;PreactPress installieren und die Starter-Struktur verstehen\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 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;Eine statische Site 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;Was ist PreactPress?&quot;,&quot;description&quot;:&quot;Erfahre, was PreactPress ist und wann du es einsetzen kannst&quot;,&quot;tags&quot;:[],&quot;pageType&quot;:&quot;website&quot;,&quot;headings&quot;:[{&quot;id&quot;:&quot;einsatzbereiche&quot;,&quot;text&quot;:&quot;Einsatzbereiche&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;dokumentation&quot;,&quot;text&quot;:&quot;Dokumentation&quot;,&quot;level&quot;:3},{&quot;id&quot;:&quot;blogs-portfolios-und-marketing-seiten&quot;,&quot;text&quot;:&quot;Blogs, Portfolios und Marketing-Seiten&quot;,&quot;level&quot;:3},{&quot;id&quot;:&quot;developer-experience&quot;,&quot;text&quot;:&quot;Developer Experience&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;performance&quot;,&quot;text&quot;:&quot;Performance&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;was-ist-mit-vitepress&quot;,&quot;text&quot;:&quot;Was ist mit VitePress?&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;n-chste-schritte&quot;,&quot;text&quot;:&quot;Nächste Schritte&quot;,&quot;level&quot;:2}],&quot;relativePath&quot;:&quot;de/guide/what-is-preactpress.md&quot;,&quot;lastUpdated&quot;:&quot;2026-06-04T07:32:56.298Z&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="active" href="/de/guide/what-is-preactpress" aria-current="page">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/what-is-preactpress" class>English</a><a href="/de/guide/what-is-preactpress" 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="active" href="/de/guide/what-is-preactpress" aria-current="page">Was ist PreactPress?</a></li><li><a class href="/de/guide/getting-started">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">Was ist PreactPress?</h1><p class="hn-doc-lead">Erfahre, was PreactPress ist und wann du es einsetzen kannst</p><div class="hn-doc-content"><h1 id="was-ist-preactpress" class="pp-heading">Was ist PreactPress?<a class="pp-heading-anchor" href="#was-ist-preactpress" aria-label="Link to this section">#</a></h1>
27
+ <p>PreactPress ist ein Static-Site-Generator für schnelle, inhaltsorientierte Websites. Du schreibst Seiten in Markdown oder MDX, konfigurierst Navigation und Theme-Optionen in <code>.preactpress/config.ts</code>, und PreactPress erzeugt statisches HTML für beliebige Static Hosts.</p>
28
+ <p>Es basiert auf <a href="https://vite.dev/" target="_blank" rel="noopener noreferrer">Vite</a> und <a href="https://preactjs.com/" target="_blank" rel="noopener noreferrer">Preact</a>. Der Workflow ist von VitePress inspiriert, aber das Komponentenmodell ist Preact statt Vue.</p>
29
+ <h2 id="einsatzbereiche" class="pp-heading">Einsatzbereiche<a class="pp-heading-anchor" href="#einsatzbereiche" aria-label="Link to this section">#</a></h2>
30
+ <h3 id="dokumentation" class="pp-heading">Dokumentation<a class="pp-heading-anchor" href="#dokumentation" aria-label="Link to this section">#</a></h3>
31
+ <p>PreactPress bringt ein kleines Standard-Theme für technische Dokumentation mit. Es enthält Navigation, Sidebar-Gruppen, Outline-Links, Suche, Last-Updated-Metadaten und Markdown-Rendering.</p>
32
+ <p>Es passt besonders gut, wenn deine Dokumentation natürlich als Dateien wächst:</p>
33
+ <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>
34
+ <span class="line"><span>guide/getting-started.md</span></span>
35
+ <span class="line"><span>guide/routing.md</span></span>
36
+ <span class="line"><span>reference/api.md</span></span></code></pre><p>Jede Markdown- oder MDX-Datei wird zu einer Seite. Neue Dokumentation entsteht also durch neue Dateien und Einträge in der Sidebar.</p>
37
+ <h3 id="blogs-portfolios-und-marketing-seiten" class="pp-heading">Blogs, Portfolios und Marketing-Seiten<a class="pp-heading-anchor" href="#blogs-portfolios-und-marketing-seiten" aria-label="Link to this section">#</a></h3>
38
+ <p>PreactPress kann auch Blogs, Portfolios und kleine Marketing-Seiten erzeugen. Markdown trägt den Inhalt, MDX bringt interaktive Preact-Komponenten hinein, und eigene Themes ersetzen bei Bedarf das Standard-Doku-Layout.</p>
39
+ <p>Im separaten Projekt <code>preactpress-examples</code> gibt es ein Custom-Theme-Beispiel mit Magazin-Layout, Artikel-Teasern und Tag-Seiten.</p>
40
+ <h2 id="developer-experience" class="pp-heading">Developer Experience<a class="pp-heading-anchor" href="#developer-experience" aria-label="Link to this section">#</a></h2>
41
+ <p>PreactPress soll Content-Arbeit einfach halten:</p>
42
+ <table>
43
+ <thead>
44
+ <tr>
45
+ <th>Feature</th>
46
+ <th>Nutzen</th>
47
+ </tr>
48
+ </thead>
49
+ <tbody>
50
+ <tr>
51
+ <td>Vite Dev-Server</td>
52
+ <td>Schneller Start und Hot Updates beim Bearbeiten</td>
53
+ </tr>
54
+ <tr>
55
+ <td>Markdown-Frontmatter</td>
56
+ <td>Titel, Beschreibungen, Tags, Draft-Status und Social-Metadaten</td>
57
+ </tr>
58
+ <tr>
59
+ <td>MDX</td>
60
+ <td>Preact-Komponenten direkt in Inhaltsseiten</td>
61
+ </tr>
62
+ <tr>
63
+ <td>Standard-Theme</td>
64
+ <td>Nav, Sidebar, Outline, Suche, Footer, Sprachumschalter</td>
65
+ </tr>
66
+ <tr>
67
+ <td><code>preactpress check</code></td>
68
+ <td>Validierung von Config, Routen und Links vor dem Release</td>
69
+ </tr>
70
+ </tbody>
71
+ </table>
72
+ <p>Für normale Inhalte nimmst du <code>.md</code>. Wenn eine Seite Interaktivität braucht, nimmst du <code>.mdx</code> und importierst eine Preact-Komponente:</p>
73
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">import Counter from './components/Counter.tsx'</span></span>
74
+ <span class="line"></span>
75
+ <span class="line"><span style="color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## Demo</span></span>
76
+ <span class="line"></span>
77
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">&#x3C;Counter initial={3} /></span></span></code></pre><h2 id="performance" class="pp-heading">Performance<a class="pp-heading-anchor" href="#performance" aria-label="Link to this section">#</a></h2>
78
+ <p>PreactPress erzeugt beim Produktionsbuild statisches HTML für jede Route. Der erste Besuch erhält also HTML, das den Seiteninhalt bereits enthält. Das ist gut für Ladezeit und SEO.</p>
79
+ <p>Nach der Hydration übernimmt die Client-Navigation. Markdown-Seiten werden als kleine JSON-Payloads aus <code>preactpress-content/*.json</code> geladen, sodass große Sites nicht jeden Markdown-Body im ersten JavaScript-Bundle ausliefern müssen.</p>
80
+ <p>Der Produktionsbuild besteht nur aus statischen Dateien:</p>
81
+ <table>
82
+ <thead>
83
+ <tr>
84
+ <th>Ausgabe</th>
85
+ <th>Zweck</th>
86
+ </tr>
87
+ </thead>
88
+ <tbody>
89
+ <tr>
90
+ <td><code>index.html</code>, <code>*/index.html</code></td>
91
+ <td>Eine HTML-Datei pro Route</td>
92
+ </tr>
93
+ <tr>
94
+ <td><code>assets/*</code></td>
95
+ <td>Gehashtes JavaScript und CSS von Vite</td>
96
+ </tr>
97
+ <tr>
98
+ <td><code>preactpress-search.json</code></td>
99
+ <td>Suchdaten für das Standard-Theme</td>
100
+ </tr>
101
+ <tr>
102
+ <td><code>preactpress-content/*.json</code></td>
103
+ <td>Lazy geladene Markdown-Payloads</td>
104
+ </tr>
105
+ <tr>
106
+ <td><code>404.html</code></td>
107
+ <td>Fehlerseite</td>
108
+ </tr>
109
+ </tbody>
110
+ </table>
111
+ <h2 id="was-ist-mit-vitepress" class="pp-heading">Was ist mit VitePress?<a class="pp-heading-anchor" href="#was-ist-mit-vitepress" aria-label="Link to this section">#</a></h2>
112
+ <p>Wenn du VitePress kennst, wird sich PreactPress vertraut anfühlen: Beide nutzen Vite, dateibasierte Markdown-Routen, ein Standard-Doku-Theme und statischen Output.</p>
113
+ <p>Der wichtigste Unterschied ist der UI-Stack. VitePress nutzt Vue. PreactPress nutzt Preact und MDX, daher werden interaktive Inhalte und eigene Themes als Preact-Komponenten geschrieben.</p>
114
+ <p>PreactPress ist in Produktion außerdem static-only. Du baust die Site einmal, lädst das Ausgabeverzeichnis hoch und hostest es auf Netlify, Vercel, Cloudflare Pages, GitHub Pages, S3, Nginx oder einem anderen Static Host.</p>
115
+ <h2 id="n-chste-schritte" class="pp-heading">Nächste Schritte<a class="pp-heading-anchor" href="#n-chste-schritte" aria-label="Link to this section">#</a></h2>
116
+ <table>
117
+ <thead>
118
+ <tr>
119
+ <th>Seite</th>
120
+ <th>Warum</th>
121
+ </tr>
122
+ </thead>
123
+ <tbody>
124
+ <tr>
125
+ <td><a href="/de/guide/getting-started">Getting Started</a></td>
126
+ <td>PreactPress installieren und die Starter-Struktur verstehen</td>
127
+ </tr>
128
+ <tr>
129
+ <td><a href="/de/guide/routing">Routing</a></td>
130
+ <td>Lernen, wie Dateien zu URLs werden</td>
131
+ </tr>
132
+ <tr>
133
+ <td><a href="/de/guide/deploy">Deploy</a></td>
134
+ <td>Eine statische Site bauen und veröffentlichen</td>
135
+ </tr>
136
+ </tbody>
137
+ </table>
138
+ </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="#einsatzbereiche">Einsatzbereiche</a></li><li class="level-3"><a href="#dokumentation">Dokumentation</a></li><li class="level-3"><a href="#blogs-portfolios-und-marketing-seiten">Blogs, Portfolios und Marketing-Seiten</a></li><li class="level-2"><a href="#developer-experience">Developer Experience</a></li><li class="level-2"><a href="#performance">Performance</a></li><li class="level-2"><a href="#was-ist-mit-vitepress">Was ist mit VitePress?</a></li><li class="level-2"><a href="#n-chste-schritte">Nächste Schritte</a></li></ul></div></aside></div><footer class="hn-footer">Erstellt mit PreactPress.</footer></div></div>
139
+ <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
140
+ </body>
141
+ </html>
@@ -0,0 +1,30 @@
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>Schnell, schlank, auf Web-Standards gebaut | Hono Starter</title>
7
+ <script src="/preactpress-theme.js"></script>
8
+ <meta name="description" content="Ein von hono.dev inspiriertes Starter-Template für Dokumentation und Produktseiten mit PreactPress.">
9
+ <meta property="og:title" content="Schnell, schlank, auf Web-Standards gebaut | Hono Starter">
10
+ <meta property="og:description" content="Ein von hono.dev inspiriertes Starter-Template für Dokumentation und Produktseiten mit PreactPress.">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:url" content="/de/">
13
+ <meta name="twitter:card" content="summary">
14
+ <meta name="twitter:title" content="Schnell, schlank, auf Web-Standards gebaut | Hono Starter">
15
+ <meta name="twitter:description" content="Ein von hono.dev inspiriertes Starter-Template für Dokumentation und Produktseiten mit PreactPress.">
16
+ <link rel="canonical" href="/de/">
17
+ <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Schnell, schlank, auf Web-Standards gebaut | Hono Starter","name":"Schnell, schlank, auf Web-Standards gebaut | Hono Starter","description":"Ein von hono.dev inspiriertes Starter-Template für Dokumentation und Produktseiten mit PreactPress.","url":"/de/","dateModified":"2026-06-05T07:24:36.654Z"}</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
+
26
+ <div id="app"><div class="hn-site is-home"><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="/" class>English</a><a href="/de" 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><main id="content" class="hn-home-main"><div class="hn-home-content"><section class="hn-hero" aria-labelledby="hero-title"><div class="hn-hero-glow" aria-hidden="true"></div><div class="hn-hero-copy"><p class="hn-hero-eyebrow">Hono-inspirierter Starter</p><h1 id="hero-title">Schnell, schlank, auf Web-Standards gebaut.</h1><p class="hn-hero-subtitle">Nutze dieses Template für hochwertige Dokumentation, Beispiele und Produktseiten mit einem kompakten Preact-Theme.</p><div class="hn-hero-actions"><a class="hn-button hn-button-brand" href="/de/guide/getting-started">Loslegen</a><a class="hn-button hn-button-alt" href="https://github.com/your-org/your-project">Auf GitHub ansehen</a></div></div><div class="hn-hero-code"><div class="hn-code-card" aria-label="Example code"><div class="hn-code-topbar" aria-hidden="true"><span></span><span></span><span></span></div><pre><code><span class="hn-code-line hn-code-keyword">import { App } from 'your-framework'</span><span class="hn-code-line hn-code-empty"> </span><span class="hn-code-line hn-code-keyword">const app = new App()</span><span class="hn-code-line hn-code-empty"> </span><span class="hn-code-line hn-code-string">app.get('/', (c) => {</span><span class="hn-code-line hn-code-keyword">return c.text('Hallo Web-Standards!')</span><span class="hn-code-line hn-code-plain">})</span><span class="hn-code-line hn-code-empty"> </span><span class="hn-code-line hn-code-keyword">export default app</span></code></pre></div></div></section>
27
+ <section class="hn-features" aria-label="Highlights"><article class="hn-feature-card"><div class="hn-feature-icon" aria-hidden="true">F</div><h2>Ultraschnell &amp; leichtgewichtig</h2><p>Statisches HTML, wenig Client-Code und ein Theme, das deine Docs responsiv hält.</p></article><article class="hn-feature-card"><div class="hn-feature-icon" aria-hidden="true">R</div><h2>Für viele Runtimes gedacht</h2><p>Schreibe portable Beispiele für Node, Bun, Deno, Edge Workers und statisches Hosting.</p></article><article class="hn-feature-card"><div class="hn-feature-icon" aria-hidden="true">B</div><h2>Batterien inklusive</h2><p>Navigation, Sidebar-Suche, MDX, Tags, i18n und statische Builds sind direkt startklar.</p></article><article class="hn-feature-card"><div class="hn-feature-icon" aria-hidden="true">D</div><h2>Angenehme DX</h2><p>Markdown-first Content, Vite-Geschwindigkeit und editierbare Preact-Komponenten für Custom Pages.</p></article></section></div></main><footer class="hn-footer">Erstellt mit PreactPress.</footer></div></div>
28
+ <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
29
+ </body>
30
+ </html>