@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,195 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Deploy | Hono Starter</title>
7
+ <script src="/preactpress-theme.js"></script>
8
+ <meta name="description" content="Build and publish a PreactPress site">
9
+ <meta property="og:title" content="Deploy | Hono Starter">
10
+ <meta property="og:description" content="Build and publish a PreactPress site">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:url" content="/guide/deploy/">
13
+ <meta name="twitter:card" content="summary">
14
+ <meta name="twitter:title" content="Deploy | Hono Starter">
15
+ <meta name="twitter:description" content="Build and publish a PreactPress site">
16
+ <link rel="canonical" href="/guide/deploy/">
17
+ <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Deploy | Hono Starter","name":"Deploy | Hono Starter","description":"Build and publish a PreactPress site","url":"/guide/deploy/","dateModified":"2026-06-04T07:28:10.774Z"}</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;Deploy&quot;,&quot;description&quot;:&quot;Build and publish a PreactPress site&quot;},&quot;html&quot;:&quot;\u003ch1 id=\&quot;deploy\&quot; class=\&quot;pp-heading\&quot;&gt;Deploy\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#deploy\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h1&gt;\n\u003cp&gt;PreactPress builds static files. Production deployment means running a build and uploading the output directory, usually \u003ccode&gt;dist/\u003c/code&gt;, to a static host.\u003c/p&gt;\n\u003cp&gt;No Node server is required in production.\u003c/p&gt;\n\u003ch2 id=\&quot;build-and-test-locally\&quot; class=\&quot;pp-heading\&quot;&gt;Build and test locally\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#build-and-test-locally\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Run the release checks and production build from your site directory:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; check\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; build\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Preview the build locally:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preview\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;The preview server serves the built output at \u003cstrong&gt;\u003ca href=\&quot;http://localhost:4173\&quot; target=\&quot;_blank\&quot; rel=\&quot;noopener noreferrer\&quot;&gt;http://localhost:4173\u003c/a&gt;\u003c/strong&gt; by default.\u003c/p&gt;\n\u003ch2 id=\&quot;configure-production-metadata\&quot; class=\&quot;pp-heading\&quot;&gt;Configure production metadata\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#configure-production-metadata\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Set \u003ccode&gt;site.url\u003c/code&gt; before publishing. PreactPress uses it for canonical URLs, Open Graph metadata, \u003ccode&gt;sitemap.xml\u003c/code&gt;, and \u003ccode&gt;robots.txt\u003c/code&gt;.\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; title: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'My site'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; description: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Short summary for search and social previews'\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; url: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'https://example.com'\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; base: \u003c/span&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:#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; build: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; sitemap: \u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;true\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; robots: \u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;true\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;\u003ch2 id=\&quot;public-base-path\&quot; class=\&quot;pp-heading\&quot;&gt;Public base path\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#public-base-path\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;By default, PreactPress assumes your site is served at the domain root:\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;https://example.com/\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;If the site is served from a subpath, set \u003ccode&gt;site.base\u003c/code&gt;:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; url: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'https://user.github.io'\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; base: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/my-repo/'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;You can also override the base path for a single build:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; build\u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt; --base\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; /my-repo/\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003ch2 id=\&quot;build-output\&quot; class=\&quot;pp-heading\&quot;&gt;Build output\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#build-output\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;The default output directory is \u003ccode&gt;dist/\u003c/code&gt;:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Output\u003c/th&gt;\n\u003cth&gt;Description\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;Static HTML for each 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;Hashed JavaScript and CSS from Vite\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;Not-found page\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;Search index for the default 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-loaded Markdown payloads for client navigation\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;sitemap.xml\u003c/code&gt;, \u003ccode&gt;robots.txt\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Generated when \u003ccode&gt;site.url\u003c/code&gt; and build flags are set\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;feed.xml\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Generated when \u003ccode&gt;build.feed\u003c/code&gt; is configured\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Deploy only the output directory. Do not deploy \u003ccode&gt;node_modules\u003c/code&gt;, \u003ccode&gt;.preactpress\u003c/code&gt;, or the build cache.\u003c/p&gt;\n\u003ch2 id=\&quot;platform-settings\&quot; class=\&quot;pp-heading\&quot;&gt;Platform settings\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#platform-settings\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;For most static hosts, use these settings:\u003c/p&gt;\n\u003ctable&gt;\n\u003cthead&gt;\n\u003ctr&gt;\n\u003cth&gt;Host\u003c/th&gt;\n\u003cth&gt;Build command\u003c/th&gt;\n\u003cth&gt;Output directory\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;Netlify\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run build\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;dist\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Vercel\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run build\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;dist\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Cloudflare Pages\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run build\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;dist\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;Render Static Site\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run build\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;\u003ccode&gt;dist\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Install command:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; install\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Node version: \u003cstrong&gt;20 or higher\u003c/strong&gt;.\u003c/p&gt;\n\u003ch2 id=\&quot;github-pages\&quot; class=\&quot;pp-heading\&quot;&gt;GitHub Pages\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#github-pages\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;For a project site at \u003ccode&gt;https://user.github.io/my-repo/\u003c/code&gt;, configure:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; url: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'https://user.github.io'\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; base: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'/my-repo/'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Then deploy the \u003ccode&gt;dist/\u003c/code&gt; directory.\u003c/p&gt;\n\u003cp&gt;A minimal GitHub Actions workflow can look like this:\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:#22863A;--shiki-dark:#85E89D\&quot;&gt;name\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;Deploy PreactPress site to Pages\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-dark:#79B8FF\&quot;&gt;on\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; push\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; branches\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;main\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; workflow_dispatch\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;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;permissions\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; contents\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;read\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; pages\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;write\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; id-token\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;write\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:#22863A;--shiki-dark:#85E89D\&quot;&gt;concurrency\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; group\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;pages\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; cancel-in-progress\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;: \u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;false\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;jobs\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; build\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; runs-on\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;ubuntu-latest\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; steps\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;:\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;uses\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;actions/checkout@v4\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;uses\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;pnpm/action-setup@v4\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;uses\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;actions/setup-node@v4\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; with\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; node-version\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;: \u003c/span&gt;\u003cspan style=\&quot;color:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;22\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; cache\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;pnpm\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;uses\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;actions/configure-pages@v5\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;run\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;pnpm install\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;run\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;pnpm run check\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;run\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;pnpm run build\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;uses\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;actions/upload-pages-artifact@v3\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; with\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; path\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;dist\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; deploy\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; needs\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;build\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; runs-on\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;ubuntu-latest\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; environment\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:#22863A;--shiki-dark:#85E89D\&quot;&gt; name\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;github-pages\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; url\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;${{ steps.deployment.outputs.page_url }}\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; steps\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;:\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; - \u003c/span&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt;id\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;deployment\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#22863A;--shiki-dark:#85E89D\&quot;&gt; uses\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;actions/deploy-pages@v4\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;In your repository settings, set Pages source to \u003cstrong&gt;GitHub Actions\u003c/strong&gt;.\u003c/p&gt;\n\u003ch2 id=\&quot;monorepos\&quot; class=\&quot;pp-heading\&quot;&gt;Monorepos\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#monorepos\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;In a monorepo, run commands from the site package directory:\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:#005CC5;--shiki-dark:#79B8FF\&quot;&gt;cd\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; packages/docs\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; check\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; run\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; build\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Or pass the site path to the CLI:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#6F42C1;--shiki-dark:#B392F0\&quot;&gt;pnpm\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; exec\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; preactpress\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; build\u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt; ./packages/docs\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003ch2 id=\&quot;cache-headers\&quot; class=\&quot;pp-heading\&quot;&gt;Cache headers\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#cache-headers\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Files under \u003ccode&gt;assets/\u003c/code&gt; include content hashes in their filenames. If your host lets you set HTTP headers, cache those files aggressively:\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;Cache-Control: public, max-age=31536000, immutable\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Do not apply immutable caching to HTML files or JSON payloads such as \u003ccode&gt;preactpress-search.json\u003c/code&gt; and \u003ccode&gt;preactpress-content/*.json\u003c/code&gt;, because those URLs can keep the same names when content changes.\u003c/p&gt;\n&quot;,&quot;title&quot;:&quot;Deploy&quot;,&quot;description&quot;:&quot;Build and publish a PreactPress site&quot;,&quot;tags&quot;:[],&quot;pageType&quot;:&quot;website&quot;,&quot;headings&quot;:[{&quot;id&quot;:&quot;build-and-test-locally&quot;,&quot;text&quot;:&quot;Build and test locally&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;configure-production-metadata&quot;,&quot;text&quot;:&quot;Configure production metadata&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;public-base-path&quot;,&quot;text&quot;:&quot;Public base path&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;build-output&quot;,&quot;text&quot;:&quot;Build output&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;platform-settings&quot;,&quot;text&quot;:&quot;Platform settings&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;github-pages&quot;,&quot;text&quot;:&quot;GitHub Pages&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;monorepos&quot;,&quot;text&quot;:&quot;Monorepos&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;cache-headers&quot;,&quot;text&quot;:&quot;Cache headers&quot;,&quot;level&quot;:2}],&quot;relativePath&quot;:&quot;guide/deploy.md&quot;,&quot;lastUpdated&quot;:&quot;2026-06-04T07:28:10.774Z&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="/" 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="/guide/what-is-preactpress">Docs</a><a class href="/markdown-examples">Examples</a><a class href="/about">About</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>English</summary><div class="hn-locale-menu"><a href="/guide/deploy" aria-current="page" class="active">English</a><a href="/de/guide/deploy" class>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>Introduction</h2><ul><li><a class href="/">Welcome</a></li><li><a class href="/guide/what-is-preactpress">What is PreactPress?</a></li><li><a class href="/guide/getting-started">Getting Started</a></li><li><a class href="/guide/routing">Routing</a></li><li><a class="active" href="/guide/deploy" aria-current="page">Deploy</a></li><li><a class href="/guide/first-five-minutes">Your first 5 minutes</a></li><li><a class href="/guide/creating-pages">Creating pages</a></li><li><a class href="/guide/commands">Commands</a></li><li><a class href="/guide/configuration">Configuration</a></li></ul></div><div class="hn-sidebar-group"><h2>Reference</h2><ul><li><a class href="/markdown-examples">Markdown examples</a></li><li><a class href="/interactive">Interactive MDX</a></li></ul></div></div></aside><main id="content" class="hn-doc-main"><article class="hn-doc"><h1 class="hn-doc-title">Deploy</h1><p class="hn-doc-lead">Build and publish a PreactPress site</p><div class="hn-doc-content"><h1 id="deploy" class="pp-heading">Deploy<a class="pp-heading-anchor" href="#deploy" aria-label="Link to this section">#</a></h1>
27
+ <p>PreactPress builds static files. Production deployment means running a build and uploading the output directory, usually <code>dist/</code>, to a static host.</p>
28
+ <p>No Node server is required in production.</p>
29
+ <h2 id="build-and-test-locally" class="pp-heading">Build and test locally<a class="pp-heading-anchor" href="#build-and-test-locally" aria-label="Link to this section">#</a></h2>
30
+ <p>Run the release checks and production build from your site directory:</p>
31
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> check</span></span>
32
+ <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> build</span></span></code></pre><p>Preview the build locally:</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 style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> preview</span></span></code></pre><p>The preview server serves the built output at <strong><a href="http://localhost:4173" target="_blank" rel="noopener noreferrer">http://localhost:4173</a></strong> by default.</p>
34
+ <h2 id="configure-production-metadata" class="pp-heading">Configure production metadata<a class="pp-heading-anchor" href="#configure-production-metadata" aria-label="Link to this section">#</a></h2>
35
+ <p>Set <code>site.url</code> before publishing. PreactPress uses it for canonical URLs, Open Graph metadata, <code>sitemap.xml</code>, and <code>robots.txt</code>.</p>
36
+ <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>
37
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: {</span></span>
38
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> title: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'My site'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
39
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> description: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Short summary for search and social previews'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
40
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> url: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'https://example.com'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
41
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> base: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/'</span></span>
42
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
43
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> build: {</span></span>
44
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> sitemap: </span><span style="color:#005CC5;--shiki-dark:#79B8FF">true</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
45
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> robots: </span><span style="color:#005CC5;--shiki-dark:#79B8FF">true</span></span>
46
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
47
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><h2 id="public-base-path" class="pp-heading">Public base path<a class="pp-heading-anchor" href="#public-base-path" aria-label="Link to this section">#</a></h2>
48
+ <p>By default, PreactPress assumes your site is served at the domain root:</p>
49
+ <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>https://example.com/</span></span></code></pre><p>If the site is served from a subpath, set <code>site.base</code>:</p>
50
+ <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>
51
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: {</span></span>
52
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> url: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'https://user.github.io'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
53
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> base: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/my-repo/'</span></span>
54
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
55
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>You can also override the base path for a single build:</p>
56
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> exec</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> preactpress</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> build</span><span style="color:#005CC5;--shiki-dark:#79B8FF"> --base</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> /my-repo/</span></span></code></pre><h2 id="build-output" class="pp-heading">Build output<a class="pp-heading-anchor" href="#build-output" aria-label="Link to this section">#</a></h2>
57
+ <p>The default output directory is <code>dist/</code>:</p>
58
+ <table>
59
+ <thead>
60
+ <tr>
61
+ <th>Output</th>
62
+ <th>Description</th>
63
+ </tr>
64
+ </thead>
65
+ <tbody>
66
+ <tr>
67
+ <td><code>index.html</code>, <code>*/index.html</code></td>
68
+ <td>Static HTML for each route</td>
69
+ </tr>
70
+ <tr>
71
+ <td><code>assets/*</code></td>
72
+ <td>Hashed JavaScript and CSS from Vite</td>
73
+ </tr>
74
+ <tr>
75
+ <td><code>404.html</code></td>
76
+ <td>Not-found page</td>
77
+ </tr>
78
+ <tr>
79
+ <td><code>preactpress-search.json</code></td>
80
+ <td>Search index for the default theme</td>
81
+ </tr>
82
+ <tr>
83
+ <td><code>preactpress-content/*.json</code></td>
84
+ <td>Lazy-loaded Markdown payloads for client navigation</td>
85
+ </tr>
86
+ <tr>
87
+ <td><code>sitemap.xml</code>, <code>robots.txt</code></td>
88
+ <td>Generated when <code>site.url</code> and build flags are set</td>
89
+ </tr>
90
+ <tr>
91
+ <td><code>feed.xml</code></td>
92
+ <td>Generated when <code>build.feed</code> is configured</td>
93
+ </tr>
94
+ </tbody>
95
+ </table>
96
+ <p>Deploy only the output directory. Do not deploy <code>node_modules</code>, <code>.preactpress</code>, or the build cache.</p>
97
+ <h2 id="platform-settings" class="pp-heading">Platform settings<a class="pp-heading-anchor" href="#platform-settings" aria-label="Link to this section">#</a></h2>
98
+ <p>For most static hosts, use these settings:</p>
99
+ <table>
100
+ <thead>
101
+ <tr>
102
+ <th>Host</th>
103
+ <th>Build command</th>
104
+ <th>Output directory</th>
105
+ </tr>
106
+ </thead>
107
+ <tbody>
108
+ <tr>
109
+ <td>Netlify</td>
110
+ <td><code>pnpm run build</code></td>
111
+ <td><code>dist</code></td>
112
+ </tr>
113
+ <tr>
114
+ <td>Vercel</td>
115
+ <td><code>pnpm run build</code></td>
116
+ <td><code>dist</code></td>
117
+ </tr>
118
+ <tr>
119
+ <td>Cloudflare Pages</td>
120
+ <td><code>pnpm run build</code></td>
121
+ <td><code>dist</code></td>
122
+ </tr>
123
+ <tr>
124
+ <td>Render Static Site</td>
125
+ <td><code>pnpm run build</code></td>
126
+ <td><code>dist</code></td>
127
+ </tr>
128
+ </tbody>
129
+ </table>
130
+ <p>Install command:</p>
131
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> install</span></span></code></pre><p>Node version: <strong>20 or higher</strong>.</p>
132
+ <h2 id="github-pages" class="pp-heading">GitHub Pages<a class="pp-heading-anchor" href="#github-pages" aria-label="Link to this section">#</a></h2>
133
+ <p>For a project site at <code>https://user.github.io/my-repo/</code>, configure:</p>
134
+ <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>
135
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: {</span></span>
136
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> url: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'https://user.github.io'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
137
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> base: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/my-repo/'</span></span>
138
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
139
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Then deploy the <code>dist/</code> directory.</p>
140
+ <p>A minimal GitHub Actions workflow can look like this:</p>
141
+ <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:#22863A;--shiki-dark:#85E89D">name</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">Deploy PreactPress site to Pages</span></span>
142
+ <span class="line"></span>
143
+ <span class="line"><span style="color:#005CC5;--shiki-dark:#79B8FF">on</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
144
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> push</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
145
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> branches</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: [</span><span style="color:#032F62;--shiki-dark:#9ECBFF">main</span><span style="color:#24292E;--shiki-dark:#E1E4E8">]</span></span>
146
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> workflow_dispatch</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
147
+ <span class="line"></span>
148
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">permissions</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
149
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> contents</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">read</span></span>
150
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> pages</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">write</span></span>
151
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> id-token</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">write</span></span>
152
+ <span class="line"></span>
153
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">concurrency</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
154
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> group</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">pages</span></span>
155
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> cancel-in-progress</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#005CC5;--shiki-dark:#79B8FF">false</span></span>
156
+ <span class="line"></span>
157
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D">jobs</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
158
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> build</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
159
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> runs-on</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">ubuntu-latest</span></span>
160
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> steps</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
161
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">uses</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">actions/checkout@v4</span></span>
162
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">uses</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">pnpm/action-setup@v4</span></span>
163
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">uses</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">actions/setup-node@v4</span></span>
164
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> with</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
165
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> node-version</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#005CC5;--shiki-dark:#79B8FF">22</span></span>
166
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> cache</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">pnpm</span></span>
167
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">uses</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">actions/configure-pages@v5</span></span>
168
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">run</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">pnpm install</span></span>
169
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">run</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">pnpm run check</span></span>
170
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">run</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">pnpm run build</span></span>
171
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">uses</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">actions/upload-pages-artifact@v3</span></span>
172
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> with</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
173
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> path</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">dist</span></span>
174
+ <span class="line"></span>
175
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> deploy</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
176
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> needs</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">build</span></span>
177
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> runs-on</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">ubuntu-latest</span></span>
178
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> environment</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
179
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> name</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">github-pages</span></span>
180
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> url</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">${{ steps.deployment.outputs.page_url }}</span></span>
181
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> steps</span><span style="color:#24292E;--shiki-dark:#E1E4E8">:</span></span>
182
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> - </span><span style="color:#22863A;--shiki-dark:#85E89D">id</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">deployment</span></span>
183
+ <span class="line"><span style="color:#22863A;--shiki-dark:#85E89D"> uses</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">actions/deploy-pages@v4</span></span></code></pre><p>In your repository settings, set Pages source to <strong>GitHub Actions</strong>.</p>
184
+ <h2 id="monorepos" class="pp-heading">Monorepos<a class="pp-heading-anchor" href="#monorepos" aria-label="Link to this section">#</a></h2>
185
+ <p>In a monorepo, run commands from the site package directory:</p>
186
+ <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:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> packages/docs</span></span>
187
+ <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> check</span></span>
188
+ <span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> build</span></span></code></pre><p>Or pass the site path to the CLI:</p>
189
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0">pnpm</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> exec</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> preactpress</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> build</span><span style="color:#032F62;--shiki-dark:#9ECBFF"> ./packages/docs</span></span></code></pre><h2 id="cache-headers" class="pp-heading">Cache headers<a class="pp-heading-anchor" href="#cache-headers" aria-label="Link to this section">#</a></h2>
190
+ <p>Files under <code>assets/</code> include content hashes in their filenames. If your host lets you set HTTP headers, cache those files aggressively:</p>
191
+ <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>Cache-Control: public, max-age=31536000, immutable</span></span></code></pre><p>Do not apply immutable caching to HTML files or JSON payloads such as <code>preactpress-search.json</code> and <code>preactpress-content/*.json</code>, because those URLs can keep the same names when content changes.</p>
192
+ </div><nav class="hn-pager" aria-label="Page navigation"><a class="previous" href="/guide/routing"><span>Previous</span>Routing</a><a class="next" href="/guide/first-five-minutes"><span>Next</span>Your first 5 minutes</a></nav><footer class="hn-doc-meta"><span>Updated Jun 4, 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="#build-and-test-locally">Build and test locally</a></li><li class="level-2"><a href="#configure-production-metadata">Configure production metadata</a></li><li class="level-2"><a href="#public-base-path">Public base path</a></li><li class="level-2"><a href="#build-output">Build output</a></li><li class="level-2"><a href="#platform-settings">Platform settings</a></li><li class="level-2"><a href="#github-pages">GitHub Pages</a></li><li class="level-2"><a href="#monorepos">Monorepos</a></li><li class="level-2"><a href="#cache-headers">Cache headers</a></li></ul></div></aside></div><footer class="hn-footer">Built with PreactPress.</footer></div></div>
193
+ <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
194
+ </body>
195
+ </html>
@@ -0,0 +1,99 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Your first 5 minutes | Hono Starter</title>
7
+ <script src="/preactpress-theme.js"></script>
8
+ <meta name="description" content="Change the site title, add a page, and update navigation">
9
+ <meta property="og:title" content="Your first 5 minutes | Hono Starter">
10
+ <meta property="og:description" content="Change the site title, add a page, and update navigation">
11
+ <meta property="og:type" content="website">
12
+ <meta property="og:url" content="/guide/first-five-minutes/">
13
+ <meta name="twitter:card" content="summary">
14
+ <meta name="twitter:title" content="Your first 5 minutes | Hono Starter">
15
+ <meta name="twitter:description" content="Change the site title, add a page, and update navigation">
16
+ <link rel="canonical" href="/guide/first-five-minutes/">
17
+ <script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Your first 5 minutes | Hono Starter","name":"Your first 5 minutes | Hono Starter","description":"Change the site title, add a page, and update navigation","url":"/guide/first-five-minutes/","dateModified":"2026-06-04T07:28:10.775Z"}</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;Your first 5 minutes&quot;,&quot;description&quot;:&quot;Change the site title, add a page, and update navigation&quot;},&quot;html&quot;:&quot;\u003ch1 id=\&quot;your-first-5-minutes\&quot; class=\&quot;pp-heading\&quot;&gt;Your first 5 minutes\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#your-first-5-minutes\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h1&gt;\n\u003cp&gt;This hands-on tutorial follows the setup overview in \u003ca href=\&quot;/guide/getting-started\&quot;&gt;Getting Started\u003c/a&gt;. Follow the steps below in \u003cstrong&gt;your\u003c/strong&gt; project — this site is the result.\u003c/p&gt;\n\u003ch2 id=\&quot;1-change-the-site-title\&quot; class=\&quot;pp-heading\&quot;&gt;1. Change the site title\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#1-change-the-site-title\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Edit \u003ccode&gt;.preactpress/config.ts\u003c/code&gt;:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; title: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'My Docs'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; description: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'Short summary for search and social previews'\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; }\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;}\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;Save the file. The dev server picks up config changes on the next request.\u003c/p&gt;\n\u003ch2 id=\&quot;2-add-a-page\&quot; class=\&quot;pp-heading\&quot;&gt;2. Add a page\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#2-add-a-page\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;Create \u003ccode&gt;about.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;About\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;About this site\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;# About us\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;Your content here.\u003c/span&gt;\u003c/span&gt;\u003c/code&gt;\u003c/pre&gt;\u003cp&gt;PreactPress serves it at \u003ccode&gt;/about\u003c/code&gt;. Every \u003ccode&gt;.md\u003c/code&gt; or \u003ccode&gt;.mdx\u003c/code&gt; file under \u003ccode&gt;srcDir\u003c/code&gt; (default: project root) becomes a URL automatically.\u003c/p&gt;\n\u003cp&gt;Example: \u003ccode&gt;news/2025/intro.md\u003c/code&gt; → \u003ccode&gt;/news/2025/intro\u003c/code&gt;.\u003c/p&gt;\n\u003cp&gt;This starter already includes \u003ca href=\&quot;/about\&quot;&gt;About\u003c/a&gt; so you can see the finished page.\u003c/p&gt;\n\u003ch2 id=\&quot;3-add-it-to-the-navigation\&quot; class=\&quot;pp-heading\&quot;&gt;3. Add it to the navigation\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#3-add-it-to-the-navigation\&quot; aria-label=\&quot;Link to this section\&quot;&gt;#\u003c/a&gt;\u003c/h2&gt;\n\u003cp&gt;In \u003ccode&gt;.preactpress/config.ts\u003c/code&gt;:\u003c/p&gt;\n\u003cpre class=\&quot;shiki shiki-themes github-light github-dark\&quot; style=\&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\&quot; tabindex=\&quot;0\&quot;&gt;\u003ccode&gt;\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt;export\u003c/span&gt;\u003cspan style=\&quot;color:#D73A49;--shiki-dark:#F97583\&quot;&gt; default\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; {\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt; site: { title: \u003c/span&gt;\u003cspan style=\&quot;color:#032F62;--shiki-dark:#9ECBFF\&quot;&gt;'My Docs'\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;'Home'\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;'About'\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;'/about'\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;'Guide'\u003c/span&gt;\u003cspan style=\&quot;color:#24292E;--shiki-dark:#E1E4E8\&quot;&gt;,\u003c/span&gt;\u003c/span&gt;\n\u003cspan class=\&quot;line\&quot;&gt;\u003cspan style=\&quot;color:#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;'Home'\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;'About'\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;'/about'\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;Save — the dev server hot-reloads your changes.\u003c/p&gt;\n\u003ch2 id=\&quot;next-steps\&quot; class=\&quot;pp-heading\&quot;&gt;Next steps\u003ca class=\&quot;pp-heading-anchor\&quot; href=\&quot;#next-steps\&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;Command\u003c/th&gt;\n\u003cth&gt;Purpose\u003c/th&gt;\n\u003c/tr&gt;\n\u003c/thead&gt;\n\u003ctbody&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run dev\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Dev server with SSR and hot reload\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run check\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Validate config, links, and routes\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run build\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Static production build → \u003ccode&gt;dist/\u003c/code&gt;\u003c/td&gt;\n\u003c/tr&gt;\n\u003ctr&gt;\n\u003ctd&gt;\u003ccode&gt;pnpm run preview\u003c/code&gt;\u003c/td&gt;\n\u003ctd&gt;Local preview of the build\u003c/td&gt;\n\u003c/tr&gt;\n\u003c/tbody&gt;\n\u003c/table&gt;\n\u003cp&gt;Before deploying, set \u003ccode&gt;site.url\u003c/code&gt; in config for canonical URLs, Open Graph tags, and \u003ccode&gt;sitemap.xml\u003c/code&gt;. Continue with \u003ca href=\&quot;/guide/routing\&quot;&gt;Routing\u003c/a&gt; to understand file-based routes, then \u003ca href=\&quot;/guide/deploy\&quot;&gt;Deploy\u003c/a&gt; for production build steps.\u003c/p&gt;\n&quot;,&quot;title&quot;:&quot;Your first 5 minutes&quot;,&quot;description&quot;:&quot;Change the site title, add a page, and update navigation&quot;,&quot;tags&quot;:[],&quot;pageType&quot;:&quot;website&quot;,&quot;headings&quot;:[{&quot;id&quot;:&quot;1-change-the-site-title&quot;,&quot;text&quot;:&quot;1. Change the site title&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;2-add-a-page&quot;,&quot;text&quot;:&quot;2. Add a page&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;3-add-it-to-the-navigation&quot;,&quot;text&quot;:&quot;3. Add it to the navigation&quot;,&quot;level&quot;:2},{&quot;id&quot;:&quot;next-steps&quot;,&quot;text&quot;:&quot;Next steps&quot;,&quot;level&quot;:2}],&quot;relativePath&quot;:&quot;guide/first-five-minutes.md&quot;,&quot;lastUpdated&quot;:&quot;2026-06-04T07:28:10.775Z&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="/" 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="/guide/what-is-preactpress">Docs</a><a class href="/markdown-examples">Examples</a><a class href="/about">About</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>English</summary><div class="hn-locale-menu"><a href="/guide/first-five-minutes" aria-current="page" class="active">English</a><a href="/de/guide/first-five-minutes" class>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>Introduction</h2><ul><li><a class href="/">Welcome</a></li><li><a class href="/guide/what-is-preactpress">What is PreactPress?</a></li><li><a class href="/guide/getting-started">Getting Started</a></li><li><a class href="/guide/routing">Routing</a></li><li><a class href="/guide/deploy">Deploy</a></li><li><a class="active" href="/guide/first-five-minutes" aria-current="page">Your first 5 minutes</a></li><li><a class href="/guide/creating-pages">Creating pages</a></li><li><a class href="/guide/commands">Commands</a></li><li><a class href="/guide/configuration">Configuration</a></li></ul></div><div class="hn-sidebar-group"><h2>Reference</h2><ul><li><a class href="/markdown-examples">Markdown examples</a></li><li><a class href="/interactive">Interactive MDX</a></li></ul></div></div></aside><main id="content" class="hn-doc-main"><article class="hn-doc"><h1 class="hn-doc-title">Your first 5 minutes</h1><p class="hn-doc-lead">Change the site title, add a page, and update navigation</p><div class="hn-doc-content"><h1 id="your-first-5-minutes" class="pp-heading">Your first 5 minutes<a class="pp-heading-anchor" href="#your-first-5-minutes" aria-label="Link to this section">#</a></h1>
27
+ <p>This hands-on tutorial follows the setup overview in <a href="/guide/getting-started">Getting Started</a>. Follow the steps below in <strong>your</strong> project — this site is the result.</p>
28
+ <h2 id="1-change-the-site-title" class="pp-heading">1. Change the site title<a class="pp-heading-anchor" href="#1-change-the-site-title" aria-label="Link to this section">#</a></h2>
29
+ <p>Edit <code>.preactpress/config.ts</code>:</p>
30
+ <pre class="shiki shiki-themes github-light github-dark" style="background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8" tabindex="0"><code><span class="line"><span 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>
31
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: {</span></span>
32
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> title: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'My Docs'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
33
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> description: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Short summary for search and social previews'</span></span>
34
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
35
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Save the file. The dev server picks up config changes on the next request.</p>
36
+ <h2 id="2-add-a-page" class="pp-heading">2. Add a page<a class="pp-heading-anchor" href="#2-add-a-page" aria-label="Link to this section">#</a></h2>
37
+ <p>Create <code>about.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">About</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">About this site</span></span>
41
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">---</span></span>
42
+ <span class="line"></span>
43
+ <span class="line"><span style="color:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># About us</span></span>
44
+ <span class="line"></span>
45
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">Your content here.</span></span></code></pre><p>PreactPress serves it at <code>/about</code>. Every <code>.md</code> or <code>.mdx</code> file under <code>srcDir</code> (default: project root) becomes a URL automatically.</p>
46
+ <p>Example: <code>news/2025/intro.md</code> → <code>/news/2025/intro</code>.</p>
47
+ <p>This starter already includes <a href="/about">About</a> so you can see the finished page.</p>
48
+ <h2 id="3-add-it-to-the-navigation" class="pp-heading">3. Add it to the navigation<a class="pp-heading-anchor" href="#3-add-it-to-the-navigation" aria-label="Link to this section">#</a></h2>
49
+ <p>In <code>.preactpress/config.ts</code>:</p>
50
+ <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>
51
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> site: { title: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'My Docs'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
52
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> themeConfig: {</span></span>
53
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> nav: [</span></span>
54
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Home'</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>
55
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'About'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/about'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
56
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ],</span></span>
57
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> sidebar: [</span></span>
58
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
59
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Guide'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">,</span></span>
60
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> items: [</span></span>
61
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Home'</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>
62
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'About'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/about'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
63
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ]</span></span>
64
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
65
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ]</span></span>
66
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
67
+ <span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Save — the dev server hot-reloads your changes.</p>
68
+ <h2 id="next-steps" class="pp-heading">Next steps<a class="pp-heading-anchor" href="#next-steps" aria-label="Link to this section">#</a></h2>
69
+ <table>
70
+ <thead>
71
+ <tr>
72
+ <th>Command</th>
73
+ <th>Purpose</th>
74
+ </tr>
75
+ </thead>
76
+ <tbody>
77
+ <tr>
78
+ <td><code>pnpm run dev</code></td>
79
+ <td>Dev server with SSR and hot reload</td>
80
+ </tr>
81
+ <tr>
82
+ <td><code>pnpm run check</code></td>
83
+ <td>Validate config, links, and routes</td>
84
+ </tr>
85
+ <tr>
86
+ <td><code>pnpm run build</code></td>
87
+ <td>Static production build → <code>dist/</code></td>
88
+ </tr>
89
+ <tr>
90
+ <td><code>pnpm run preview</code></td>
91
+ <td>Local preview of the build</td>
92
+ </tr>
93
+ </tbody>
94
+ </table>
95
+ <p>Before deploying, set <code>site.url</code> in config for canonical URLs, Open Graph tags, and <code>sitemap.xml</code>. Continue with <a href="/guide/routing">Routing</a> to understand file-based routes, then <a href="/guide/deploy">Deploy</a> for production build steps.</p>
96
+ </div><nav class="hn-pager" aria-label="Page navigation"><a class="previous" href="/guide/deploy"><span>Previous</span>Deploy</a><a class="next" href="/guide/creating-pages"><span>Next</span>Creating pages</a></nav><footer class="hn-doc-meta"><span>Updated Jun 4, 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="#1-change-the-site-title">1. Change the site title</a></li><li class="level-2"><a href="#2-add-a-page">2. Add a page</a></li><li class="level-2"><a href="#3-add-it-to-the-navigation">3. Add it to the navigation</a></li><li class="level-2"><a href="#next-steps">Next steps</a></li></ul></div></aside></div><footer class="hn-footer">Built with PreactPress.</footer></div></div>
97
+ <script type="module" crossorigin src="/assets/main-Bqi-VFEk.js"></script>
98
+ </body>
99
+ </html>