@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,41 @@
1
+ # PreactPress Hono-style starter site
2
+
3
+ This folder was scaffolded with `preactpress init --template hono`.
4
+
5
+ It combines a hono.dev-inspired landing page with a full documentation starter, MDX examples, and an English/German i18n demo.
6
+
7
+ ## Commands
8
+
9
+ | Script | What it does |
10
+ | --- | --- |
11
+ | `pnpm run dev` | Start the dev server at http://localhost:5173 |
12
+ | `pnpm run check` | Validate config, routes, and links |
13
+ | `pnpm run build` | Write static HTML to `dist/` |
14
+ | `pnpm run preview` | Serve the production build locally |
15
+
16
+ ## Where to edit
17
+
18
+ | Path | Purpose |
19
+ | --- | --- |
20
+ | `*.md`, `*.mdx` | Page content — file path becomes the URL |
21
+ | `index.mdx`, `de/index.mdx` | Landing pages with the hero and feature cards |
22
+ | `de/*.md`, `de/*.mdx` | German pages for the bundled i18n demo |
23
+ | `.preactpress/config.ts` | Site title, nav, sidebar, locales, build options |
24
+ | `.preactpress/theme/` | Custom Hono-style layout, components, and CSS |
25
+ | `components/` | Preact components for MDX pages |
26
+ | `index.html` | Vite entry (rarely edited) |
27
+
28
+ Start with [Your first 5 minutes](/guide/first-five-minutes) in the local site, or read the full PreactPress README in the npm package / repository.
29
+
30
+ This starter includes English pages at the root and German pages under `/de/`. Remove the `de/` folder and `locales` config if you want a single-language site.
31
+
32
+ ## Deploy
33
+
34
+ ```bash
35
+ pnpm run check
36
+ pnpm run build
37
+ ```
38
+
39
+ Upload **only** `dist/` to Netlify, Vercel, Cloudflare Pages, GitHub Pages, or any static host. No Node server is required in production.
40
+
41
+ Before the first production build, set `site.url` (and `site.base` for subpath hosting) in `.preactpress/config.ts`.
@@ -0,0 +1,10 @@
1
+ ---
2
+ title: About
3
+ description: About this site
4
+ ---
5
+
6
+ # About us
7
+
8
+ Your content here.
9
+
10
+ This page was added as part of the [Your first 5 minutes](/guide/first-five-minutes) tutorial. Replace this text with your own copy — team bio, project mission, contact details, or anything else that belongs on an About page.
@@ -0,0 +1,25 @@
1
+ import { useState } from 'preact/hooks'
2
+
3
+ export default function Counter({ initial = 0 }: { initial?: number }) {
4
+ const [count, setCount] = useState(initial)
5
+
6
+ return (
7
+ <div style={{ display: 'inline-flex', alignItems: 'center', gap: '0.5rem' }}>
8
+ <button
9
+ type="button"
10
+ onClick={() => setCount((value) => value - 1)}
11
+ aria-label="Decrease count"
12
+ >
13
+
14
+ </button>
15
+ <span>{count}</span>
16
+ <button
17
+ type="button"
18
+ onClick={() => setCount((value) => value + 1)}
19
+ aria-label="Increase count"
20
+ >
21
+ +
22
+ </button>
23
+ </div>
24
+ )
25
+ }
@@ -0,0 +1,10 @@
1
+ ---
2
+ title: Über uns
3
+ description: Über diese Website
4
+ ---
5
+
6
+ # Über uns
7
+
8
+ Hier steht dein Inhalt.
9
+
10
+ Diese Seite wurde im Tutorial [Die ersten 5 Minuten](/de/guide/first-five-minutes) hinzugefügt. Ersetze diesen Text durch deine eigenen Inhalte — Teamvorstellung, Projektziel, Kontaktinformationen oder alles, was auf eine Über-uns-Seite gehört.
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: Befehle
3
+ description: PreactPress-CLI für Entwicklung und Produktions-Builds
4
+ ---
5
+
6
+ Die PreactPress-CLI wird im Site-Root ausgeführt (Ordner mit `.preactpress/config.ts`).
7
+
8
+ ## Entwicklung
9
+
10
+ ```bash
11
+ pnpm exec preactpress dev
12
+ ```
13
+
14
+ Startet Vite mit SSR, Hot Reload und dem gleichen HTML-Head wie in Production.
15
+
16
+ ## Production
17
+
18
+ ```bash
19
+ pnpm exec preactpress build
20
+ pnpm exec preactpress preview
21
+ ```
22
+
23
+ `build` schreibt statisches HTML nach `outDir` (Standard: `dist/`). `preview` dient nur zur lokalen Vorschau.
24
+
25
+ ## Projekt anlegen
26
+
27
+ ```bash
28
+ pnpm exec preactpress init
29
+ pnpm exec preactpress init --template docs
30
+ ```
31
+
32
+ Das `docs`-Template enthält diese Anleitung, i18n-Beispiele und Referenzseiten.
33
+
34
+ ## Validierung
35
+
36
+ ```bash
37
+ pnpm exec preactpress check
38
+ ```
39
+
40
+ Prüft Config, Routen-Kollisionen, Nav-/Sidebar-Links, interne Markdown-Links und Draft-Seiten.
41
+
42
+ ::: tip
43
+ `check` in CI einbinden, damit kaputte Sidebar-Links vor dem Merge auffallen.
44
+ :::
@@ -0,0 +1,64 @@
1
+ ---
2
+ title: Konfiguration
3
+ description: Site-Config, Theme-Optionen und häufige Frontmatter-Felder
4
+ ---
5
+
6
+ Die Konfiguration liegt in `.preactpress/config.ts` im Site-Root.
7
+
8
+ ## Site-Metadaten
9
+
10
+ ```ts
11
+ export default {
12
+ site: {
13
+ title: 'Meine Docs',
14
+ description: 'Kurzbeschreibung für SEO',
15
+ base: '/',
16
+ url: 'https://example.com',
17
+ titleTemplate: ':title | :siteTitle'
18
+ }
19
+ }
20
+ ```
21
+
22
+ `site.url` vor dem Go-Live setzen — für Canonical-URLs, `sitemap.xml`, Open Graph und `hreflang`.
23
+
24
+ ## Inhaltsverzeichnis
25
+
26
+ | Option | Zweck |
27
+ | --- | --- |
28
+ | `srcDir` | Ordner mit `.md` / `.mdx` (Standard `.`) |
29
+ | `srcExclude` | Glob-Muster für Nicht-Seiten, z. B. `['**/README.md']` |
30
+ | `lastUpdatedGit` | Git-Commit-Zeit für „Zuletzt aktualisiert“ (Fallback: mtime) |
31
+
32
+ ## Theme ohne eigenen Code
33
+
34
+ `themeConfig` steuert das Standard-Layout:
35
+
36
+ - `nav` — Kopfzeilen-Links; verschachtelte Dropdowns über `items`
37
+ - `sidebar` — flaches Array **oder** Pfad-Map; Gruppen und Einträge unterstützen `collapsed` und verschachtelte `items`
38
+ - `outline`, `search`, `socialLinks`, `footer`, `lastUpdated`, `editLink`, `logo`, `labels`
39
+ - `logo` — String-URL oder `{ light, dark }` für theme-aware Bilder
40
+ - `search` — `true` oder `{ provider: 'local' }` für Sidebar-Suche; `{ provider: 'algolia', options }` für Algolia DocSearch in der Nav-Leiste
41
+ - `socialLinks` — `{ icon, link, ariaLabel? }[]` mit eingebauten Icons (`github`, `discord`, `x`, …) oder eigenem `{ svg }`
42
+
43
+ Locale-Overrides unter `locales.<key>.themeConfig`.
44
+
45
+ ## Globale Head-Tags
46
+
47
+ ```ts
48
+ head: [
49
+ ['meta', { name: 'theme-color', content: '#0f766e' }]
50
+ ]
51
+ ```
52
+
53
+ ## Frontmatter pro Seite
54
+
55
+ | Feld | Zweck |
56
+ | --- | --- |
57
+ | `title` / `description` | Seitentitel und SEO-Text |
58
+ | `titleTemplate` | Site-Template überschreiben; `false` = nur Seitentitel |
59
+ | `head` | Zusätzliche `<meta>` / `<link>` / `<script>` nur für diese Seite |
60
+ | `draft: true` | Aus Routen, Suche und Sitemap ausgeschlossen |
61
+
62
+ ::: warning
63
+ `markdown.html` nur für vertrauenswürdige Inhalte aktivieren — erlaubt rohes HTML in Markdown.
64
+ :::
@@ -0,0 +1,197 @@
1
+ ---
2
+ title: Deploy
3
+ description: Eine PreactPress-Site bauen und veröffentlichen
4
+ ---
5
+
6
+ # Deploy
7
+
8
+ PreactPress erzeugt statische Dateien. Produktion bedeutet: Build ausführen und das Ausgabeverzeichnis, normalerweise `dist/`, auf einen Static Host hochladen.
9
+
10
+ In Produktion ist kein Node-Server nötig.
11
+
12
+ ## Lokal bauen und testen
13
+
14
+ Führe Release-Checks und Produktionsbuild im Site-Verzeichnis aus:
15
+
16
+ ```bash
17
+ pnpm run check
18
+ pnpm run build
19
+ ```
20
+
21
+ Sieh dir den Build lokal an:
22
+
23
+ ```bash
24
+ pnpm run preview
25
+ ```
26
+
27
+ Der Preview-Server stellt den gebauten Output standardmäßig unter **http://localhost:4173** bereit.
28
+
29
+ ## Produktionsmetadaten konfigurieren
30
+
31
+ Setze `site.url` vor der Veröffentlichung. PreactPress nutzt diese URL für Canonical URLs, Open-Graph-Metadaten, `sitemap.xml` und `robots.txt`.
32
+
33
+ ```ts
34
+ export default {
35
+ site: {
36
+ title: 'Meine Site',
37
+ description: 'Kurze Beschreibung für Suche und Social Previews',
38
+ url: 'https://example.com',
39
+ base: '/'
40
+ },
41
+ build: {
42
+ sitemap: true,
43
+ robots: true
44
+ }
45
+ }
46
+ ```
47
+
48
+ ## Public Base Path
49
+
50
+ Standardmäßig nimmt PreactPress an, dass deine Site am Domain-Root ausgeliefert wird:
51
+
52
+ ```text
53
+ https://example.com/
54
+ ```
55
+
56
+ Wenn die Site unter einem Unterpfad liegt, setze `site.base`:
57
+
58
+ ```ts
59
+ export default {
60
+ site: {
61
+ url: 'https://user.github.io',
62
+ base: '/my-repo/'
63
+ }
64
+ }
65
+ ```
66
+
67
+ Du kannst den Base Path auch nur für einen einzelnen Build überschreiben:
68
+
69
+ ```bash
70
+ pnpm exec preactpress build --base /my-repo/
71
+ ```
72
+
73
+ ## Build-Output
74
+
75
+ Das Standard-Ausgabeverzeichnis ist `dist/`:
76
+
77
+ | Ausgabe | Beschreibung |
78
+ | --- | --- |
79
+ | `index.html`, `*/index.html` | Statisches HTML für jede Route |
80
+ | `assets/*` | Gehashtes JavaScript und CSS von Vite |
81
+ | `404.html` | Fehlerseite |
82
+ | `preactpress-search.json` | Suchindex für das Standard-Theme |
83
+ | `preactpress-content/*.json` | Lazy geladene Markdown-Payloads für Client-Navigation |
84
+ | `sitemap.xml`, `robots.txt` | Erzeugt, wenn `site.url` und Build-Flags gesetzt sind |
85
+ | `feed.xml` | Erzeugt, wenn `build.feed` konfiguriert ist |
86
+
87
+ Deploye nur das Ausgabeverzeichnis. Deploye nicht `node_modules`, `.preactpress` oder den Build-Cache.
88
+
89
+ ## Plattform-Einstellungen
90
+
91
+ Für die meisten Static Hosts reichen diese Einstellungen:
92
+
93
+ | Host | Build-Befehl | Output-Verzeichnis |
94
+ | --- | --- | --- |
95
+ | Netlify | `pnpm run build` | `dist` |
96
+ | Vercel | `pnpm run build` | `dist` |
97
+ | Cloudflare Pages | `pnpm run build` | `dist` |
98
+ | Render Static Site | `pnpm run build` | `dist` |
99
+
100
+ Install-Befehl:
101
+
102
+ ```bash
103
+ pnpm install
104
+ ```
105
+
106
+ Node-Version: **20 oder höher**.
107
+
108
+ ## GitHub Pages
109
+
110
+ Für eine Projektseite unter `https://user.github.io/my-repo/` konfigurierst du:
111
+
112
+ ```ts
113
+ export default {
114
+ site: {
115
+ url: 'https://user.github.io',
116
+ base: '/my-repo/'
117
+ }
118
+ }
119
+ ```
120
+
121
+ Danach deployest du das Verzeichnis `dist/`.
122
+
123
+ Ein minimales GitHub-Actions-Workflow kann so aussehen:
124
+
125
+ ```yaml
126
+ name: Deploy PreactPress site to Pages
127
+
128
+ on:
129
+ push:
130
+ branches: [main]
131
+ workflow_dispatch:
132
+
133
+ permissions:
134
+ contents: read
135
+ pages: write
136
+ id-token: write
137
+
138
+ concurrency:
139
+ group: pages
140
+ cancel-in-progress: false
141
+
142
+ jobs:
143
+ build:
144
+ runs-on: ubuntu-latest
145
+ steps:
146
+ - uses: actions/checkout@v4
147
+ - uses: pnpm/action-setup@v4
148
+ - uses: actions/setup-node@v4
149
+ with:
150
+ node-version: 22
151
+ cache: pnpm
152
+ - uses: actions/configure-pages@v5
153
+ - run: pnpm install
154
+ - run: pnpm run check
155
+ - run: pnpm run build
156
+ - uses: actions/upload-pages-artifact@v3
157
+ with:
158
+ path: dist
159
+
160
+ deploy:
161
+ needs: build
162
+ runs-on: ubuntu-latest
163
+ environment:
164
+ name: github-pages
165
+ url: ${{ steps.deployment.outputs.page_url }}
166
+ steps:
167
+ - id: deployment
168
+ uses: actions/deploy-pages@v4
169
+ ```
170
+
171
+ Setze in den Repository-Einstellungen die Pages-Quelle auf **GitHub Actions**.
172
+
173
+ ## Monorepos
174
+
175
+ In einem Monorepo führst du die Befehle aus dem Site-Paket aus:
176
+
177
+ ```bash
178
+ cd packages/docs
179
+ pnpm run check
180
+ pnpm run build
181
+ ```
182
+
183
+ Oder du übergibst der CLI den Site-Pfad:
184
+
185
+ ```bash
186
+ pnpm exec preactpress build ./packages/docs
187
+ ```
188
+
189
+ ## Cache-Headers
190
+
191
+ Dateien unter `assets/` enthalten Content-Hashes in ihren Dateinamen. Wenn dein Host HTTP-Header setzen kann, cache diese Dateien aggressiv:
192
+
193
+ ```text
194
+ Cache-Control: public, max-age=31536000, immutable
195
+ ```
196
+
197
+ Wende immutable Caching nicht auf HTML-Dateien oder JSON-Payloads wie `preactpress-search.json` und `preactpress-content/*.json` an, weil diese URLs bei Inhaltsänderungen gleich bleiben können.
@@ -0,0 +1,82 @@
1
+ ---
2
+ title: Die ersten 5 Minuten
3
+ description: Seitentitel ändern, eine Seite hinzufügen und die Navigation aktualisieren
4
+ ---
5
+
6
+ # Die ersten 5 Minuten
7
+
8
+ Dieses praktische Tutorial folgt der Setup-Übersicht in [Getting Started](/de/guide/getting-started). Folge den Schritten in **deinem** Projekt — diese Website zeigt das Ergebnis.
9
+
10
+ ## 1. Seitentitel ändern
11
+
12
+ Bearbeite `.preactpress/config.ts`:
13
+
14
+ ```ts
15
+ export default {
16
+ site: {
17
+ title: 'Meine Doku',
18
+ description: 'Kurze Beschreibung für Suche und Social Previews'
19
+ }
20
+ }
21
+ ```
22
+
23
+ Speichere die Datei. Der Dev-Server übernimmt Config-Änderungen beim nächsten Request.
24
+
25
+ ## 2. Eine Seite hinzufügen
26
+
27
+ Erstelle `about.md`:
28
+
29
+ ```md
30
+ ---
31
+ title: Über uns
32
+ description: Über diese Website
33
+ ---
34
+
35
+ # Über uns
36
+
37
+ Hier steht dein Inhalt.
38
+ ```
39
+
40
+ PreactPress stellt die Seite unter `/about` bereit. Jede `.md`- oder `.mdx`-Datei unter `srcDir` (standardmäßig: Projektroot) wird automatisch zu einer URL.
41
+
42
+ Beispiel: `news/2025/intro.md` → `/news/2025/intro`.
43
+
44
+ Dieser Starter enthält bereits [Über uns](/de/about), damit du die fertige Seite sehen kannst.
45
+
46
+ ## 3. Zur Navigation hinzufügen
47
+
48
+ In `.preactpress/config.ts`:
49
+
50
+ ```ts
51
+ export default {
52
+ site: { title: 'Meine Doku' },
53
+ themeConfig: {
54
+ nav: [
55
+ { text: 'Start', link: '/' },
56
+ { text: 'Über uns', link: '/about' }
57
+ ],
58
+ sidebar: [
59
+ {
60
+ text: 'Anleitung',
61
+ items: [
62
+ { text: 'Start', link: '/' },
63
+ { text: 'Über uns', link: '/about' }
64
+ ]
65
+ }
66
+ ]
67
+ }
68
+ }
69
+ ```
70
+
71
+ Speichern — der Dev-Server lädt die Änderung automatisch.
72
+
73
+ ## Nächste Schritte
74
+
75
+ | Befehl | Zweck |
76
+ | --- | --- |
77
+ | `pnpm run dev` | Dev-Server mit SSR und Hot Reload |
78
+ | `pnpm run check` | Config, Links und Routen prüfen |
79
+ | `pnpm run build` | Statischer Produktionsbuild → `dist/` |
80
+ | `pnpm run preview` | Lokale Vorschau des Builds |
81
+
82
+ Setze vor dem Deployment `site.url` in der Config, damit Canonical URLs, Open Graph Tags und `sitemap.xml` erzeugt werden. Lies danach [Routing](/de/guide/routing), um dateibasierte Routen zu verstehen, und [Deploy](/de/guide/deploy) für die Produktionsschritte.
@@ -0,0 +1,146 @@
1
+ ---
2
+ title: Getting Started
3
+ description: PreactPress installieren und eine neue Dokumentationsseite starten
4
+ ---
5
+
6
+ # Getting Started
7
+
8
+ Diese Anleitung zeigt, wie du eine PreactPress-Site erstellst, die generierten Dateien verstehst und den Dev-Server startest.
9
+
10
+ ## Voraussetzungen
11
+
12
+ Du brauchst:
13
+
14
+ | Voraussetzung | Version |
15
+ | --- | --- |
16
+ | Node.js | 20 oder höher |
17
+ | Package Manager | pnpm empfohlen; npm, yarn und bun funktionieren ebenfalls |
18
+ | Editor | Jeder Editor mit Markdown- und TypeScript-Unterstützung |
19
+
20
+ ## Site erstellen
21
+
22
+ Starte in einem leeren Ordner:
23
+
24
+ ```bash
25
+ mkdir my-site
26
+ cd my-site
27
+ pnpm dlx @kamod-ch/preactpress init
28
+ pnpm install
29
+ pnpm run dev
30
+ ```
31
+
32
+ Mit npm:
33
+
34
+ ```bash
35
+ mkdir my-site
36
+ cd my-site
37
+ npx @kamod-ch/preactpress init
38
+ npm install
39
+ npm run dev
40
+ ```
41
+
42
+ Öffne **http://localhost:5173**, um die Starter-Site zu sehen.
43
+
44
+ > **Hinweis**
45
+ > `preactpress init` kopiert das eingebaute Starter-Template und schreibt `@kamod-ch/preactpress` in `devDependencies`. Du musst PreactPress vor dem Initialisieren nicht separat installieren.
46
+
47
+ ## Dateistruktur
48
+
49
+ Nach der Initialisierung sieht das Projekt so aus:
50
+
51
+ ```text
52
+ my-site/
53
+ ├── README.md
54
+ ├── index.html
55
+ ├── index.md
56
+ ├── about.md
57
+ ├── guide/
58
+ │ └── first-five-minutes.md
59
+ ├── markdown-examples.md
60
+ ├── interactive.mdx
61
+ ├── components/
62
+ │ └── Counter.tsx
63
+ └── .preactpress/
64
+ └── config.ts
65
+ ```
66
+
67
+ Der Ordner `.preactpress` enthält die Site-Konfiguration. Markdown- und MDX-Dateien außerhalb von `.preactpress` sind Quelldateien und werden zu Routen.
68
+
69
+ ## Die Config-Datei
70
+
71
+ Die Starter-Config liegt unter `.preactpress/config.ts`:
72
+
73
+ ```ts
74
+ export default {
75
+ site: {
76
+ title: 'Meine Doku',
77
+ description: 'Kurze Beschreibung für Suche und Social Previews'
78
+ },
79
+ themeConfig: {
80
+ nav: [
81
+ { text: 'Start', link: '/de' },
82
+ { text: 'Anleitung', link: '/de/guide/what-is-preactpress' }
83
+ ],
84
+ sidebar: [
85
+ {
86
+ text: 'Einführung',
87
+ items: [
88
+ { text: 'Was ist PreactPress?', link: '/de/guide/what-is-preactpress' },
89
+ { text: 'Getting Started', link: '/de/guide/getting-started' }
90
+ ]
91
+ }
92
+ ]
93
+ }
94
+ }
95
+ ```
96
+
97
+ Nutze `site` für globale Metadaten und `themeConfig` für Optionen des Standard-Themes wie Logo (`logo: '/logo.svg'`), Navigation, Sidebar, Suche, Outline, Footer und Edit-Links.
98
+
99
+ ## Quelldateien
100
+
101
+ PreactPress nutzt dateibasiertes Routing. Standardmäßig ist der Projektroot auch das Quellverzeichnis:
102
+
103
+ ```text
104
+ index.md -> /
105
+ about.md -> /about
106
+ guide/getting-started.md -> /guide/getting-started
107
+ interactive.mdx -> /interactive
108
+ ```
109
+
110
+ Mit `srcDir` kannst du das Quellverzeichnis ändern:
111
+
112
+ ```ts
113
+ export default {
114
+ srcDir: 'docs'
115
+ }
116
+ ```
117
+
118
+ Mit dieser Config liest PreactPress Seiten aus `docs/`, während `.preactpress/config.ts` weiterhin zum Projektroot gehört.
119
+
120
+ ## Befehle
121
+
122
+ Der Starter enthält npm-Scripts:
123
+
124
+ | Befehl | Zweck |
125
+ | --- | --- |
126
+ | `pnpm run dev` | Dev-Server mit SSR und Hot Reload starten |
127
+ | `pnpm run check` | Config, Routen und Links validieren |
128
+ | `pnpm run build` | Statischen Produktionsbuild nach `dist/` schreiben |
129
+ | `pnpm run preview` | Produktionsbuild lokal ansehen |
130
+
131
+ Du kannst die CLI auch direkt aufrufen:
132
+
133
+ ```bash
134
+ pnpm exec preactpress dev
135
+ pnpm exec preactpress check
136
+ pnpm exec preactpress build
137
+ pnpm exec preactpress preview
138
+ ```
139
+
140
+ ## Was kommt als Nächstes?
141
+
142
+ | Seite | Warum |
143
+ | --- | --- |
144
+ | [Die ersten 5 Minuten](/de/guide/first-five-minutes) | Titel ändern, Seite anlegen und Navigation verdrahten |
145
+ | [Routing](/de/guide/routing) | Lernen, wie Markdown-Dateien zu URLs werden |
146
+ | [Deploy](/de/guide/deploy) | Das erzeugte `dist/`-Verzeichnis bauen und veröffentlichen |