@kamod-ch/preactpress 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -49
- package/bin/preactpress.mjs +5 -5
- package/dist/client/app.d.ts +1 -1
- package/dist/client/app.d.ts.map +1 -1
- package/dist/client/app.js +55 -42
- package/dist/client/app.js.map +1 -1
- package/dist/client/entry-client.js +11 -12
- package/dist/client/entry-client.js.map +1 -1
- package/dist/client/entry-ssr.d.ts +2 -2
- package/dist/client/entry-ssr.d.ts.map +1 -1
- package/dist/client/entry-ssr.js +16 -16
- package/dist/client/entry-ssr.js.map +1 -1
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/loadPage.d.ts +2 -1
- package/dist/client/loadPage.d.ts.map +1 -1
- package/dist/client/loadPage.js +15 -12
- package/dist/client/loadPage.js.map +1 -1
- package/dist/client/prefetchLinks.js +4 -4
- package/dist/client/prefetchLinks.js.map +1 -1
- package/dist/client/theme-default/AlgoliaSearch.d.ts +3 -3
- package/dist/client/theme-default/AlgoliaSearch.d.ts.map +1 -1
- package/dist/client/theme-default/AlgoliaSearch.js +15 -15
- package/dist/client/theme-default/AlgoliaSearch.js.map +1 -1
- package/dist/client/theme-default/Features.d.ts +2 -2
- package/dist/client/theme-default/Features.d.ts.map +1 -1
- package/dist/client/theme-default/Features.js +10 -8
- package/dist/client/theme-default/Features.js.map +1 -1
- package/dist/client/theme-default/Hero.d.ts +2 -2
- package/dist/client/theme-default/Hero.d.ts.map +1 -1
- package/dist/client/theme-default/Hero.js +9 -7
- package/dist/client/theme-default/Hero.js.map +1 -1
- package/dist/client/theme-default/Layout.d.ts +3 -3
- package/dist/client/theme-default/Layout.d.ts.map +1 -1
- package/dist/client/theme-default/Layout.js +56 -99
- package/dist/client/theme-default/Layout.js.map +1 -1
- package/dist/client/theme-default/Logo.d.ts +2 -2
- package/dist/client/theme-default/Logo.d.ts.map +1 -1
- package/dist/client/theme-default/Logo.js +8 -8
- package/dist/client/theme-default/Logo.js.map +1 -1
- package/dist/client/theme-default/NavLinks.d.ts +2 -2
- package/dist/client/theme-default/NavLinks.d.ts.map +1 -1
- package/dist/client/theme-default/NavLinks.js +3 -3
- package/dist/client/theme-default/NavLinks.js.map +1 -1
- package/dist/client/theme-default/SidebarNav.d.ts +2 -2
- package/dist/client/theme-default/SidebarNav.d.ts.map +1 -1
- package/dist/client/theme-default/SidebarNav.js +3 -3
- package/dist/client/theme-default/SidebarNav.js.map +1 -1
- package/dist/client/theme-default/SocialLinks.d.ts +2 -2
- package/dist/client/theme-default/SocialLinks.d.ts.map +1 -1
- package/dist/client/theme-default/SocialLinks.js +1 -1
- package/dist/client/theme-default/SocialLinks.js.map +1 -1
- package/dist/client/theme-default/ThemeToggle.d.ts +2 -3
- package/dist/client/theme-default/ThemeToggle.d.ts.map +1 -1
- package/dist/client/theme-default/ThemeToggle.js +2 -30
- package/dist/client/theme-default/ThemeToggle.js.map +1 -1
- package/dist/client/theme-default/index.d.ts +1 -1
- package/dist/client/theme-default/index.d.ts.map +1 -1
- package/dist/client/theme-default/index.js +1 -1
- package/dist/client/theme-default/index.js.map +1 -1
- package/dist/client/theme-utils.d.ts +24 -0
- package/dist/client/theme-utils.d.ts.map +1 -0
- package/dist/client/theme-utils.js +107 -0
- package/dist/client/theme-utils.js.map +1 -0
- package/dist/client/types.d.ts +5 -5
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/usePageHead.d.ts +2 -2
- package/dist/client/usePageHead.d.ts.map +1 -1
- package/dist/client/usePageHead.js +61 -56
- package/dist/client/usePageHead.js.map +1 -1
- package/dist/client/useSiteSearch.d.ts.map +1 -1
- package/dist/client/useSiteSearch.js +8 -8
- package/dist/client/useSiteSearch.js.map +1 -1
- package/dist/node/build.d.ts +1 -1
- package/dist/node/build.d.ts.map +1 -1
- package/dist/node/build.js +105 -96
- package/dist/node/build.js.map +1 -1
- package/dist/node/buildCache.d.ts.map +1 -1
- package/dist/node/buildCache.js +7 -7
- package/dist/node/buildCache.js.map +1 -1
- package/dist/node/check.d.ts +1 -1
- package/dist/node/check.d.ts.map +1 -1
- package/dist/node/check.js +52 -52
- package/dist/node/check.js.map +1 -1
- package/dist/node/cli.js +61 -64
- package/dist/node/cli.js.map +1 -1
- package/dist/node/config-helpers.d.ts +4 -4
- package/dist/node/config-helpers.d.ts.map +1 -1
- package/dist/node/config-helpers.js +1 -1
- package/dist/node/config-helpers.js.map +1 -1
- package/dist/node/config.d.ts +4 -4
- package/dist/node/config.d.ts.map +1 -1
- package/dist/node/config.js +37 -40
- package/dist/node/config.js.map +1 -1
- package/dist/node/content.d.ts +4 -4
- package/dist/node/content.d.ts.map +1 -1
- package/dist/node/content.js +28 -28
- package/dist/node/content.js.map +1 -1
- package/dist/node/createContentLoader.d.ts +1 -1
- package/dist/node/createContentLoader.d.ts.map +1 -1
- package/dist/node/createContentLoader.js +3 -3
- package/dist/node/createContentLoader.js.map +1 -1
- package/dist/node/devCss.d.ts +1 -1
- package/dist/node/devCss.d.ts.map +1 -1
- package/dist/node/devCss.js +5 -6
- package/dist/node/devCss.js.map +1 -1
- package/dist/node/devSsr.d.ts +3 -3
- package/dist/node/devSsr.d.ts.map +1 -1
- package/dist/node/devSsr.js +32 -32
- package/dist/node/devSsr.js.map +1 -1
- package/dist/node/dynamicRoutes.d.ts +2 -2
- package/dist/node/dynamicRoutes.d.ts.map +1 -1
- package/dist/node/dynamicRoutes.js +24 -24
- package/dist/node/dynamicRoutes.js.map +1 -1
- package/dist/node/favicon.d.ts +2 -2
- package/dist/node/favicon.d.ts.map +1 -1
- package/dist/node/favicon.js +26 -24
- package/dist/node/favicon.js.map +1 -1
- package/dist/node/feed.d.ts +2 -2
- package/dist/node/feed.d.ts.map +1 -1
- package/dist/node/feed.js +18 -16
- package/dist/node/feed.js.map +1 -1
- package/dist/node/hooks.d.ts +2 -2
- package/dist/node/hooks.d.ts.map +1 -1
- package/dist/node/hooks.js +1 -1
- package/dist/node/hooks.js.map +1 -1
- package/dist/node/html.d.ts +8 -8
- package/dist/node/html.d.ts.map +1 -1
- package/dist/node/html.js +75 -64
- package/dist/node/html.js.map +1 -1
- package/dist/node/index.d.ts +11 -11
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +8 -8
- package/dist/node/index.js.map +1 -1
- package/dist/node/init.d.ts +2 -0
- package/dist/node/init.d.ts.map +1 -1
- package/dist/node/init.js +59 -27
- package/dist/node/init.js.map +1 -1
- package/dist/node/lastUpdated.d.ts +2 -2
- package/dist/node/lastUpdated.d.ts.map +1 -1
- package/dist/node/lastUpdated.js +7 -4
- package/dist/node/lastUpdated.js.map +1 -1
- package/dist/node/loadSiteModule.js +2 -2
- package/dist/node/loadSiteModule.js.map +1 -1
- package/dist/node/markdown.d.ts +2 -2
- package/dist/node/markdown.d.ts.map +1 -1
- package/dist/node/markdown.js +110 -110
- package/dist/node/markdown.js.map +1 -1
- package/dist/node/markdownHeadings.d.ts +1 -1
- package/dist/node/markdownHeadings.d.ts.map +1 -1
- package/dist/node/markdownHeadings.js +11 -11
- package/dist/node/markdownHeadings.js.map +1 -1
- package/dist/node/markdownInclude.d.ts.map +1 -1
- package/dist/node/markdownInclude.js +11 -11
- package/dist/node/markdownInclude.js.map +1 -1
- package/dist/node/markdownSnippets.d.ts.map +1 -1
- package/dist/node/markdownSnippets.js +34 -34
- package/dist/node/markdownSnippets.js.map +1 -1
- package/dist/node/mdx.d.ts +1 -1
- package/dist/node/mdx.d.ts.map +1 -1
- package/dist/node/mdx.js +4 -4
- package/dist/node/mdx.js.map +1 -1
- package/dist/node/packageRoot.d.ts.map +1 -1
- package/dist/node/packageRoot.js +4 -4
- package/dist/node/packageRoot.js.map +1 -1
- package/dist/node/pageDataLoaders.d.ts +2 -2
- package/dist/node/pageDataLoaders.d.ts.map +1 -1
- package/dist/node/pageDataLoaders.js +24 -20
- package/dist/node/pageDataLoaders.js.map +1 -1
- package/dist/node/paths.d.ts.map +1 -1
- package/dist/node/paths.js +4 -4
- package/dist/node/paths.js.map +1 -1
- package/dist/node/plugin.d.ts +3 -3
- package/dist/node/plugin.d.ts.map +1 -1
- package/dist/node/plugin.js +66 -66
- package/dist/node/plugin.js.map +1 -1
- package/dist/node/resolveDeps.js +10 -10
- package/dist/node/resolveDeps.js.map +1 -1
- package/dist/node/serve.d.ts.map +1 -1
- package/dist/node/serve.js +13 -15
- package/dist/node/serve.js.map +1 -1
- package/dist/node/server.d.ts +3 -3
- package/dist/node/server.d.ts.map +1 -1
- package/dist/node/server.js +28 -25
- package/dist/node/server.js.map +1 -1
- package/dist/node/siteConfig.d.ts +12 -12
- package/dist/node/siteConfig.d.ts.map +1 -1
- package/dist/node/tagIndex.d.ts +5 -5
- package/dist/node/tagIndex.d.ts.map +1 -1
- package/dist/node/tagIndex.js +10 -10
- package/dist/node/tagIndex.js.map +1 -1
- package/dist/shared/contentChunk.d.ts.map +1 -1
- package/dist/shared/contentChunk.js +6 -6
- package/dist/shared/contentChunk.js.map +1 -1
- package/dist/shared/contentSchema.d.ts.map +1 -1
- package/dist/shared/contentSchema.js +11 -11
- package/dist/shared/contentSchema.js.map +1 -1
- package/dist/shared/deadLinks.d.ts.map +1 -1
- package/dist/shared/deadLinks.js +6 -6
- package/dist/shared/deadLinks.js.map +1 -1
- package/dist/shared/escapeHtml.js +4 -4
- package/dist/shared/escapeHtml.js.map +1 -1
- package/dist/shared/index.d.ts +14 -14
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +14 -14
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/locale.d.ts +1 -1
- package/dist/shared/locale.d.ts.map +1 -1
- package/dist/shared/locale.js +10 -10
- package/dist/shared/locale.js.map +1 -1
- package/dist/shared/pageChrome.d.ts +4 -4
- package/dist/shared/pageChrome.d.ts.map +1 -1
- package/dist/shared/pageChrome.js +21 -21
- package/dist/shared/pageChrome.js.map +1 -1
- package/dist/shared/pageHead.d.ts +1 -1
- package/dist/shared/pageHead.d.ts.map +1 -1
- package/dist/shared/pageHead.js +4 -4
- package/dist/shared/pageHead.js.map +1 -1
- package/dist/shared/pageMeta.d.ts +5 -5
- package/dist/shared/pageMeta.d.ts.map +1 -1
- package/dist/shared/pageMeta.js +15 -17
- package/dist/shared/pageMeta.js.map +1 -1
- package/dist/shared/rewrites.d.ts +1 -1
- package/dist/shared/rewrites.d.ts.map +1 -1
- package/dist/shared/rewrites.js +2 -2
- package/dist/shared/rewrites.js.map +1 -1
- package/dist/shared/route.js +5 -5
- package/dist/shared/route.js.map +1 -1
- package/dist/shared/scrollRestoration.d.ts +10 -0
- package/dist/shared/scrollRestoration.d.ts.map +1 -0
- package/dist/shared/scrollRestoration.js +66 -0
- package/dist/shared/scrollRestoration.js.map +1 -0
- package/dist/shared/search.d.ts +3 -3
- package/dist/shared/search.d.ts.map +1 -1
- package/dist/shared/search.js +18 -15
- package/dist/shared/search.js.map +1 -1
- package/dist/shared/sidebar.d.ts +1 -1
- package/dist/shared/sidebar.d.ts.map +1 -1
- package/dist/shared/sidebar.js +4 -4
- package/dist/shared/sidebar.js.map +1 -1
- package/dist/shared/slug.d.ts +1 -1
- package/dist/shared/slug.d.ts.map +1 -1
- package/dist/shared/slug.js +5 -5
- package/dist/shared/slug.js.map +1 -1
- package/dist/shared/socialIcons.d.ts.map +1 -1
- package/dist/shared/socialIcons.js +4 -4
- package/dist/shared/socialIcons.js.map +1 -1
- package/dist/shared/tags.js +8 -8
- package/dist/shared/tags.js.map +1 -1
- package/dist/shared/theme.d.ts +1 -1
- package/dist/shared/theme.d.ts.map +1 -1
- package/dist/shared/theme.js +16 -10
- package/dist/shared/theme.js.map +1 -1
- package/dist/shared/themeLabels.d.ts +1 -1
- package/dist/shared/themeLabels.d.ts.map +1 -1
- package/dist/shared/themeLabels.js +26 -26
- package/dist/shared/themeLabels.js.map +1 -1
- package/dist/shared/url.d.ts.map +1 -1
- package/dist/shared/url.js +3 -3
- package/dist/shared/url.js.map +1 -1
- package/package.json +33 -9
- package/src/client/app.tsx +111 -92
- package/src/client/entry-client.tsx +17 -19
- package/src/client/entry-ssr.tsx +33 -33
- package/src/client/index.ts +16 -2
- package/src/client/loadPage.ts +41 -38
- package/src/client/prefetchLinks.ts +30 -30
- package/src/client/theme-default/AlgoliaSearch.tsx +46 -46
- package/src/client/theme-default/Features.tsx +27 -21
- package/src/client/theme-default/Hero.tsx +22 -18
- package/src/client/theme-default/Layout.tsx +189 -244
- package/src/client/theme-default/Logo.tsx +30 -40
- package/src/client/theme-default/NavLinks.tsx +21 -21
- package/src/client/theme-default/SidebarNav.tsx +29 -29
- package/src/client/theme-default/SocialLinks.tsx +11 -11
- package/src/client/theme-default/ThemeToggle.tsx +2 -78
- package/src/client/theme-default/index.ts +1 -1
- package/src/client/theme-default/styles.css +30 -21
- package/src/client/theme-utils.tsx +184 -0
- package/src/client/types.ts +30 -24
- package/src/client/usePageHead.ts +128 -128
- package/src/client/useSiteSearch.ts +34 -34
- package/src/client/virtual.d.ts +76 -76
- package/src/shared/contentChunk.ts +6 -6
- package/src/shared/contentSchema.ts +52 -49
- package/src/shared/deadLinks.ts +16 -16
- package/src/shared/escapeHtml.ts +5 -5
- package/src/shared/index.ts +21 -25
- package/src/shared/locale.ts +46 -46
- package/src/shared/pageChrome.ts +123 -123
- package/src/shared/pageHead.ts +16 -16
- package/src/shared/pageMeta.ts +79 -79
- package/src/shared/rewrites.ts +14 -16
- package/src/shared/route.ts +7 -7
- package/src/shared/scrollRestoration.ts +70 -0
- package/src/shared/search.ts +56 -52
- package/src/shared/sidebar.ts +28 -28
- package/src/shared/slug.ts +13 -13
- package/src/shared/socialIcons.ts +12 -14
- package/src/shared/tags.ts +20 -20
- package/src/shared/theme.ts +22 -13
- package/src/shared/themeLabels.ts +45 -45
- package/src/shared/url.ts +6 -10
- package/templates/default/.preactpress/config.ts +17 -17
- package/templates/default/README.md +16 -16
- package/templates/default/guide/first-five-minutes.md +21 -21
- package/templates/default/index.html +1 -1
- package/templates/default/index.md +9 -9
- package/templates/default/package.json +1 -1
- package/templates/default/pnpm-lock.yaml +5 -5
- package/templates/docs/.preactpress/config.ts +76 -56
- package/templates/docs/README.md +6 -6
- package/templates/docs/components/BenefitsGrid.tsx +45 -0
- package/templates/docs/components/CliBlock.tsx +38 -0
- package/templates/docs/components/ComparisonTable.tsx +60 -0
- package/templates/docs/components/CopyableCommand.tsx +86 -0
- package/templates/docs/components/Counter.tsx +7 -5
- package/templates/docs/components/MarketingHero.tsx +63 -0
- package/templates/docs/components/MdxDemo.tsx +96 -0
- package/templates/docs/components/References.tsx +62 -0
- package/templates/docs/components/TemplateGallery.tsx +46 -0
- package/templates/docs/components/marketing.css +992 -0
- package/templates/docs/examples/algolia-docsearch.md +33 -0
- package/templates/docs/examples/content-loader.data.ts +11 -0
- package/templates/docs/examples/content-loader.md +29 -0
- package/templates/docs/examples/dynamic-routes.md +16 -0
- package/templates/docs/examples/static-assets.md +13 -0
- package/templates/docs/guide/advanced.md +4 -4
- package/templates/docs/guide/commands.md +10 -10
- package/templates/docs/guide/configuration.md +43 -43
- package/templates/docs/guide/creating-pages.md +60 -39
- package/templates/docs/guide/custom-themes.md +9 -9
- package/templates/docs/guide/deploy.md +29 -29
- package/templates/docs/guide/first-five-minutes.md +22 -22
- package/templates/docs/guide/getting-started.md +29 -31
- package/templates/docs/guide/markdown-and-mdx.md +1 -1
- package/templates/docs/guide/routing.md +40 -40
- package/templates/docs/guide/what-is-preactpress.md +18 -18
- package/templates/docs/index.html +1 -1
- package/templates/docs/index.mdx +25 -0
- package/templates/docs/interactive.mdx +1 -1
- package/templates/docs/markdown-examples.md +73 -21
- package/templates/docs/package.json +1 -1
- package/templates/docs/packages/[pkg].md +15 -0
- package/templates/docs/packages/[pkg].paths.ts +20 -0
- package/templates/docs/parts/include-body.md +1 -0
- package/templates/docs/pnpm-lock.yaml +5 -5
- package/templates/docs/public/preactpress-example.txt +1 -0
- package/templates/docs/snippets/greet.ts +1 -1
- package/templates/hono/.preactpress/config.ts +65 -65
- package/templates/hono/.preactpress/theme/CodeSnippet.tsx +15 -15
- package/templates/hono/.preactpress/theme/FeatureGrid.tsx +7 -7
- package/templates/hono/.preactpress/theme/Hero.tsx +13 -13
- package/templates/hono/.preactpress/theme/Layout.tsx +122 -164
- package/templates/hono/.preactpress/theme/Logo.tsx +6 -6
- package/templates/hono/.preactpress/theme/ThemeToggle.tsx +3 -70
- package/templates/hono/.preactpress/theme/hono.css +31 -14
- package/templates/hono/README.md +17 -15
- package/templates/hono/components/Counter.tsx +7 -5
- package/templates/hono/de/guide/configuration.md +18 -20
- package/templates/hono/de/guide/deploy.md +29 -29
- package/templates/hono/de/guide/first-five-minutes.md +21 -21
- package/templates/hono/de/guide/getting-started.md +29 -29
- package/templates/hono/de/guide/routing.md +26 -25
- package/templates/hono/de/guide/seiten-erstellen.md +39 -39
- package/templates/hono/de/guide/what-is-preactpress.md +18 -18
- package/templates/hono/de/index.mdx +20 -17
- package/templates/hono/de/interactive.mdx +1 -1
- package/templates/hono/de/markdown-examples.md +6 -6
- package/templates/hono/de/parts/include-body.md +1 -0
- package/templates/hono/de/snippets/greet.ts +1 -1
- package/templates/hono/guide/configuration.md +25 -25
- package/templates/hono/guide/creating-pages.md +39 -39
- package/templates/hono/guide/deploy.md +29 -29
- package/templates/hono/guide/first-five-minutes.md +21 -21
- package/templates/hono/guide/getting-started.md +29 -29
- package/templates/hono/guide/routing.md +40 -40
- package/templates/hono/guide/what-is-preactpress.md +18 -18
- package/templates/hono/index.html +1 -1
- package/templates/hono/index.mdx +21 -17
- package/templates/hono/interactive.mdx +1 -1
- package/templates/hono/markdown-examples.md +6 -6
- package/templates/hono/package.json +1 -1
- package/templates/hono/parts/include-body.md +1 -0
- package/templates/hono/pnpm-lock.yaml +5 -5
- package/templates/hono/snippets/greet.ts +1 -1
- package/templates/magazine/.preactpress/config.ts +19 -19
- package/templates/magazine/.preactpress/theme/Layout.tsx +69 -172
- package/templates/magazine/.preactpress/theme/TeaserGrid.tsx +14 -14
- package/templates/magazine/.preactpress/theme/ThemeToggle.tsx +4 -70
- package/templates/magazine/.preactpress/theme/magazine.css +13 -8
- package/templates/magazine/README.md +30 -0
- package/templates/magazine/article-markets.md +2 -2
- package/templates/magazine/article-tech.mdx +10 -10
- package/templates/magazine/index.data.ts +9 -9
- package/templates/magazine/index.html +5 -1
- package/templates/magazine/index.mdx +1 -1
- package/templates/magazine/package.json +1 -1
- package/templates/magazine/pnpm-lock.yaml +2917 -0
- package/templates/docs/about.md +0 -10
- package/templates/docs/dist/404.html +0 -29
- package/templates/docs/dist/about/index.html +0 -32
- package/templates/docs/dist/assets/esm-DzlBxN5p.js +0 -110
- package/templates/docs/dist/assets/interactive-64o6YwrR.js +0 -9
- package/templates/docs/dist/assets/interactive-BedCloEw.js +0 -9
- package/templates/docs/dist/assets/main-BVLeh8GO.js +0 -1
- package/templates/docs/dist/assets/main-CreUBb3N.js +0 -1
- package/templates/docs/dist/assets/main-oodK-zZy.css +0 -2
- package/templates/docs/dist/de/guide/getting-started/index.html +0 -36
- package/templates/docs/dist/de/guide/what-is-preactpress/index.html +0 -38
- package/templates/docs/dist/de/index.html +0 -29
- package/templates/docs/dist/favicon-32.png +0 -0
- package/templates/docs/dist/favicon.png +0 -0
- package/templates/docs/dist/favicon.svg +0 -28
- package/templates/docs/dist/guide/advanced/index.html +0 -53
- package/templates/docs/dist/guide/commands/index.html +0 -89
- package/templates/docs/dist/guide/configuration/index.html +0 -196
- package/templates/docs/dist/guide/creating-pages/index.html +0 -234
- package/templates/docs/dist/guide/custom-themes/index.html +0 -52
- package/templates/docs/dist/guide/default-theme/index.html +0 -53
- package/templates/docs/dist/guide/deploy/index.html +0 -195
- package/templates/docs/dist/guide/first-five-minutes/index.html +0 -99
- package/templates/docs/dist/guide/getting-started/index.html +0 -173
- package/templates/docs/dist/guide/markdown-and-mdx/index.html +0 -59
- package/templates/docs/dist/guide/routing/index.html +0 -192
- package/templates/docs/dist/guide/what-is-preactpress/index.html +0 -141
- package/templates/docs/dist/index.html +0 -30
- package/templates/docs/dist/interactive/index.html +0 -37
- package/templates/docs/dist/markdown-examples/index.html +0 -231
- package/templates/docs/dist/preactpress-content/404.json +0 -8
- package/templates/docs/dist/preactpress-content/_index.json +0 -50
- package/templates/docs/dist/preactpress-content/about.json +0 -15
- package/templates/docs/dist/preactpress-content/de.json +0 -45
- package/templates/docs/dist/preactpress-content/de__guide__getting-started.json +0 -26
- package/templates/docs/dist/preactpress-content/de__guide__what-is-preactpress.json +0 -21
- package/templates/docs/dist/preactpress-content/guide__advanced.json +0 -46
- package/templates/docs/dist/preactpress-content/guide__commands.json +0 -26
- package/templates/docs/dist/preactpress-content/guide__configuration.json +0 -51
- package/templates/docs/dist/preactpress-content/guide__creating-pages.json +0 -71
- package/templates/docs/dist/preactpress-content/guide__custom-themes.json +0 -15
- package/templates/docs/dist/preactpress-content/guide__default-theme.json +0 -36
- package/templates/docs/dist/preactpress-content/guide__deploy.json +0 -56
- package/templates/docs/dist/preactpress-content/guide__first-five-minutes.json +0 -36
- package/templates/docs/dist/preactpress-content/guide__getting-started.json +0 -51
- package/templates/docs/dist/preactpress-content/guide__markdown-and-mdx.json +0 -31
- package/templates/docs/dist/preactpress-content/guide__routing.json +0 -71
- package/templates/docs/dist/preactpress-content/guide__what-is-preactpress.json +0 -51
- package/templates/docs/dist/preactpress-content/markdown-examples.json +0 -71
- package/templates/docs/dist/preactpress-content/tags__markdown.json +0 -16
- package/templates/docs/dist/preactpress-search.json +0 -166
- package/templates/docs/dist/preactpress-theme.js +0 -1
- package/templates/docs/dist/tags/markdown/index.html +0 -32
- package/templates/docs/index.md +0 -28
- package/templates/hono/dist/404.html +0 -29
- package/templates/hono/dist/README/index.html +0 -104
- package/templates/hono/dist/about/index.html +0 -32
- package/templates/hono/dist/assets/Counter-CCEByS-J.js +0 -1
- package/templates/hono/dist/assets/Hero--o6WMNvm.js +0 -2
- package/templates/hono/dist/assets/de-D5r6Ye70.js +0 -10
- package/templates/hono/dist/assets/hono-BXWYYdyv.js +0 -10
- package/templates/hono/dist/assets/interactive-Bxo-WBpC.js +0 -9
- package/templates/hono/dist/assets/interactive-BznI4IQ3.js +0 -9
- package/templates/hono/dist/assets/main-Bqi-VFEk.js +0 -2
- package/templates/hono/dist/assets/main-DIIN7FO0.css +0 -1
- package/templates/hono/dist/de/about/index.html +0 -32
- package/templates/hono/dist/de/guide/commands/index.html +0 -41
- package/templates/hono/dist/de/guide/configuration/index.html +0 -105
- package/templates/hono/dist/de/guide/deploy/index.html +0 -195
- package/templates/hono/dist/de/guide/first-five-minutes/index.html +0 -99
- package/templates/hono/dist/de/guide/getting-started/index.html +0 -173
- package/templates/hono/dist/de/guide/routing/index.html +0 -165
- package/templates/hono/dist/de/guide/seiten-erstellen/index.html +0 -234
- package/templates/hono/dist/de/guide/what-is-preactpress/index.html +0 -141
- package/templates/hono/dist/de/index.html +0 -30
- package/templates/hono/dist/de/interactive/index.html +0 -37
- package/templates/hono/dist/de/markdown-examples/index.html +0 -97
- package/templates/hono/dist/de/parts/include-body/index.html +0 -36
- package/templates/hono/dist/de/tags/markdown/index.html +0 -32
- package/templates/hono/dist/favicon-32.png +0 -0
- package/templates/hono/dist/favicon.png +0 -0
- package/templates/hono/dist/favicon.svg +0 -28
- package/templates/hono/dist/guide/commands/index.html +0 -41
- package/templates/hono/dist/guide/configuration/index.html +0 -158
- package/templates/hono/dist/guide/creating-pages/index.html +0 -234
- package/templates/hono/dist/guide/deploy/index.html +0 -195
- package/templates/hono/dist/guide/first-five-minutes/index.html +0 -99
- package/templates/hono/dist/guide/getting-started/index.html +0 -173
- package/templates/hono/dist/guide/routing/index.html +0 -165
- package/templates/hono/dist/guide/what-is-preactpress/index.html +0 -141
- package/templates/hono/dist/index.html +0 -30
- package/templates/hono/dist/interactive/index.html +0 -37
- package/templates/hono/dist/markdown-examples/index.html +0 -105
- package/templates/hono/dist/partials/shared-note/index.html +0 -30
- package/templates/hono/dist/parts/include-body/index.html +0 -36
- package/templates/hono/dist/preactpress-content/404.json +0 -8
- package/templates/hono/dist/preactpress-content/README.json +0 -26
- package/templates/hono/dist/preactpress-content/about.json +0 -15
- package/templates/hono/dist/preactpress-content/de__about.json +0 -15
- package/templates/hono/dist/preactpress-content/de__guide__commands.json +0 -36
- package/templates/hono/dist/preactpress-content/de__guide__configuration.json +0 -41
- package/templates/hono/dist/preactpress-content/de__guide__deploy.json +0 -56
- package/templates/hono/dist/preactpress-content/de__guide__first-five-minutes.json +0 -36
- package/templates/hono/dist/preactpress-content/de__guide__getting-started.json +0 -51
- package/templates/hono/dist/preactpress-content/de__guide__routing.json +0 -61
- package/templates/hono/dist/preactpress-content/de__guide__seiten-erstellen.json +0 -71
- package/templates/hono/dist/preactpress-content/de__guide__what-is-preactpress.json +0 -51
- package/templates/hono/dist/preactpress-content/de__markdown-examples.json +0 -131
- package/templates/hono/dist/preactpress-content/de__parts__include-body.json +0 -16
- package/templates/hono/dist/preactpress-content/de__tags__markdown.json +0 -16
- package/templates/hono/dist/preactpress-content/guide__commands.json +0 -36
- package/templates/hono/dist/preactpress-content/guide__configuration.json +0 -51
- package/templates/hono/dist/preactpress-content/guide__creating-pages.json +0 -71
- package/templates/hono/dist/preactpress-content/guide__deploy.json +0 -56
- package/templates/hono/dist/preactpress-content/guide__first-five-minutes.json +0 -36
- package/templates/hono/dist/preactpress-content/guide__getting-started.json +0 -51
- package/templates/hono/dist/preactpress-content/guide__routing.json +0 -61
- package/templates/hono/dist/preactpress-content/guide__what-is-preactpress.json +0 -51
- package/templates/hono/dist/preactpress-content/markdown-examples.json +0 -141
- package/templates/hono/dist/preactpress-content/partials__shared-note.json +0 -10
- package/templates/hono/dist/preactpress-content/parts__include-body.json +0 -16
- package/templates/hono/dist/preactpress-content/tags__markdown.json +0 -16
- package/templates/hono/dist/preactpress-search.json +0 -242
- package/templates/hono/dist/preactpress-theme.js +0 -1
- package/templates/hono/dist/tags/markdown/index.html +0 -32
|
@@ -1,53 +0,0 @@
|
|
|
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>Default theme | PreactPress</title>
|
|
7
|
-
<script src="/preactpress/preactpress-theme.js"></script>
|
|
8
|
-
<meta name="description" content="Configure navigation, sidebars, search, locales, and responsive behavior.">
|
|
9
|
-
<meta property="og:title" content="Default theme | PreactPress">
|
|
10
|
-
<meta property="og:description" content="Configure navigation, sidebars, search, locales, and responsive behavior.">
|
|
11
|
-
<meta property="og:type" content="website">
|
|
12
|
-
<meta property="og:url" content="/preactpress/guide/default-theme/">
|
|
13
|
-
<meta name="twitter:card" content="summary">
|
|
14
|
-
<meta name="twitter:title" content="Default theme | PreactPress">
|
|
15
|
-
<meta name="twitter:description" content="Configure navigation, sidebars, search, locales, and responsive behavior.">
|
|
16
|
-
<link rel="canonical" href="/preactpress/guide/default-theme/">
|
|
17
|
-
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Default theme | PreactPress","name":"Default theme | PreactPress","description":"Configure navigation, sidebars, search, locales, and responsive behavior.","url":"/preactpress/guide/default-theme/","dateModified":"2026-06-08T15:16:59.431Z"}</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="/preactpress/assets/main-oodK-zZy.css">
|
|
23
|
-
</head>
|
|
24
|
-
<body>
|
|
25
|
-
<template id="__PREACTPRESS_PAGE_DATA__">{"kind":"markdown","meta":{"title":"Default theme","description":"Configure navigation, sidebars, search, locales, and responsive behavior."},"html":"\u003cp>The bundled theme provides a responsive header, mobile drawer, sidebar, page outline, local or Algolia search, dark mode, tags, previous/next links, edit links, and last-updated metadata.\u003c/p>\n\u003ch2 id=\"navigation\" class=\"pp-heading\">Navigation\u003ca class=\"pp-heading-anchor\" href=\"#navigation\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>\u003ccode>themeConfig.nav\u003c/code> accepts links and nested dropdowns. \u003ccode>themeConfig.sidebar\u003c/code> accepts one global array or a path-prefix map.\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">themeConfig\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\"> nav\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Guide'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/guide/getting-started'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> { text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Resources'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, items: [{ text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Preact'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'https://preactjs.com'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }] }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\"> sidebar\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> '/guide/'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: [{ text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Guide'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, items: [{ text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Start'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/guide/getting-started'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }] }],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> '/reference/'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: [{ text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Reference'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, items: [{ text: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'API'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">, link: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/reference/api'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }] }]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>Groups and nested items support \u003ccode>collapsed: true\u003c/code>.\u003c/p>\n\u003ch2 id=\"mobile-behavior\" class=\"pp-heading\">Mobile behavior\u003ca class=\"pp-heading-anchor\" href=\"#mobile-behavior\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>Below 900px, the header exposes an off-canvas menu. It contains the main navigation, locale links, social links, local search, and the active documentation sidebar. The drawer traps focus, closes with Escape or the backdrop, and restores focus to its trigger.\u003c/p>\n\u003ch2 id=\"search\" class=\"pp-heading\">Search\u003ca class=\"pp-heading-anchor\" href=\"#search\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cul>\n\u003cli>\u003ccode>search: true\u003c/code> enables the generated local search index.\u003c/li>\n\u003cli>\u003ccode>{ provider: 'local' }\u003c/code> is the explicit equivalent.\u003c/li>\n\u003cli>\u003ccode>{ provider: 'algolia', options: ... }\u003c/code> mounts Algolia DocSearch.\u003c/li>\n\u003c/ul>\n\u003ch2 id=\"page-chrome\" class=\"pp-heading\">Page chrome\u003ca class=\"pp-heading-anchor\" href=\"#page-chrome\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>Frontmatter can select \u003ccode>layout: doc\u003c/code>, \u003ccode>home\u003c/code>, or \u003ccode>page\u003c/code> and override \u003ccode>navbar\u003c/code>, \u003ccode>sidebar\u003c/code>, \u003ccode>aside\u003c/code>, \u003ccode>outline\u003c/code>, \u003ccode>footer\u003c/code>, \u003ccode>editLink\u003c/code>, and \u003ccode>lastUpdated\u003c/code>.\u003c/p>\n\u003cp>See \u003ca href=\"/guide/configuration\">Configuration\u003c/a> for every option.\u003c/p>\n","title":"Default theme","description":"Configure navigation, sidebars, search, locales, and responsive behavior.","tags":[],"pageType":"website","headings":[{"id":"navigation","text":"Navigation","level":2},{"id":"mobile-behavior","text":"Mobile behavior","level":2},{"id":"search","text":"Search","level":2},{"id":"page-chrome","text":"Page chrome","level":2}],"relativePath":"guide/default-theme.md","lastUpdated":"2026-06-08T15:16:59.431Z"}</template>
|
|
26
|
-
<div id="app"><div class="pp-layout"><a class="pp-skip-link" href="#content">Skip to content</a><header class="pp-nav"><div class="pp-nav-inner"><a class="pp-title" href="/" aria-label="PreactPress"><svg class="pp-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1756 317" role="img" aria-label="PreactPress"><path d="M 1647 76 L 1637 81 L 1633 84 L 1625 93 L 1620 103 L 1619 112 L 1618 113 L 1618 122 L 1619 123 L 1619 128 L 1624 140 L 1636 153 L 1647 159 L 1657 161 L 1658 162 L 1695 163 L 1702 166 L 1711 174 L 1713 179 L 1713 182 L 1714 183 L 1714 188 L 1710 198 L 1704 204 L 1701 206 L 1699 206 L 1695 208 L 1622 208 L 1622 229 L 1699 229 L 1700 228 L 1703 228 L 1704 227 L 1712 225 L 1721 219 L 1726 214 L 1730 208 L 1734 199 L 1734 195 L 1735 194 L 1735 177 L 1730 164 L 1718 151 L 1707 145 L 1705 145 L 1701 143 L 1698 143 L 1697 142 L 1660 141 L 1652 138 L 1644 131 L 1641 126 L 1641 123 L 1640 122 L 1640 113 L 1643 106 L 1648 100 L 1657 95 L 1660 95 L 1661 94 L 1722 94 L 1722 74 L 1654 74 L 1653 75 Z M 1502 78 L 1494 83 L 1487 90 L 1484 96 L 1482 98 L 1482 100 L 1480 103 L 1479 111 L 1478 112 L 1478 123 L 1479 124 L 1479 128 L 1480 129 L 1481 134 L 1484 140 L 1491 149 L 1499 155 L 1507 159 L 1517 161 L 1518 162 L 1554 163 L 1562 166 L 1566 169 L 1571 175 L 1573 179 L 1574 187 L 1573 188 L 1573 192 L 1570 198 L 1565 203 L 1555 208 L 1482 208 L 1482 229 L 1559 229 L 1560 228 L 1563 228 L 1564 227 L 1569 226 L 1577 222 L 1584 216 L 1584 215 L 1588 211 L 1593 201 L 1593 198 L 1595 193 L 1595 179 L 1594 178 L 1594 175 L 1593 174 L 1592 169 L 1587 160 L 1579 152 L 1573 148 L 1561 143 L 1558 143 L 1557 142 L 1540 142 L 1539 141 L 1521 141 L 1520 140 L 1517 140 L 1512 138 L 1509 136 L 1502 128 L 1502 126 L 1500 123 L 1500 112 L 1504 104 L 1509 99 L 1514 96 L 1520 95 L 1521 94 L 1582 94 L 1582 74 L 1514 74 L 1513 75 L 1510 75 L 1504 78 Z M 1280 74 L 1236 74 L 1235 75 L 1227 76 L 1214 82 L 1204 89 L 1198 95 L 1192 103 L 1190 108 L 1187 112 L 1187 114 L 1184 121 L 1183 132 L 1182 133 L 1182 229 L 1204 229 L 1204 131 L 1210 115 L 1221 103 L 1227 100 L 1229 98 L 1231 98 L 1237 95 L 1241 95 L 1242 94 L 1280 94 Z M 312 74 L 267 74 L 266 75 L 259 76 L 241 85 L 237 89 L 236 89 L 225 101 L 217 117 L 216 124 L 215 125 L 215 129 L 214 130 L 214 229 L 236 229 L 236 130 L 237 129 L 238 123 L 242 115 L 253 103 L 259 99 L 269 95 L 273 95 L 274 94 L 312 94 L 312 90 L 313 89 L 313 76 Z M 1362 72 L 1361 73 L 1356 73 L 1355 74 L 1351 74 L 1350 75 L 1344 76 L 1341 78 L 1334 80 L 1332 82 L 1327 84 L 1324 87 L 1320 89 L 1304 106 L 1296 121 L 1296 123 L 1292 133 L 1292 136 L 1291 137 L 1291 143 L 1290 144 L 1290 160 L 1291 161 L 1291 167 L 1292 168 L 1292 171 L 1294 175 L 1295 181 L 1301 193 L 1308 203 L 1323 217 L 1326 218 L 1331 222 L 1337 225 L 1339 225 L 1342 227 L 1344 227 L 1348 229 L 1351 229 L 1352 230 L 1356 230 L 1357 231 L 1367 231 L 1368 232 L 1385 231 L 1386 230 L 1390 230 L 1391 229 L 1394 229 L 1395 228 L 1403 226 L 1418 218 L 1432 206 L 1441 194 L 1445 186 L 1444 185 L 1421 185 L 1410 197 L 1403 202 L 1393 207 L 1391 207 L 1387 209 L 1383 209 L 1382 210 L 1376 210 L 1375 211 L 1360 210 L 1359 209 L 1349 207 L 1341 203 L 1330 195 L 1323 187 L 1320 181 L 1318 179 L 1317 175 L 1315 172 L 1315 169 L 1314 168 L 1313 163 L 1314 162 L 1451 162 L 1452 161 L 1452 143 L 1451 142 L 1450 132 L 1449 131 L 1446 120 L 1442 112 L 1435 102 L 1422 89 L 1413 83 L 1410 82 L 1408 80 L 1406 80 L 1403 78 L 1401 78 L 1398 76 L 1395 76 L 1391 74 L 1386 74 L 1385 73 L 1380 73 L 1379 72 Z M 1313 139 L 1315 135 L 1316 129 L 1320 121 L 1325 114 L 1333 106 L 1340 101 L 1348 97 L 1350 97 L 1357 94 L 1361 94 L 1362 93 L 1379 93 L 1380 94 L 1385 94 L 1386 95 L 1394 97 L 1405 103 L 1409 106 L 1421 119 L 1427 130 L 1427 132 L 1429 136 L 1429 140 L 1428 141 L 1314 141 Z M 1114 84 L 1109 82 L 1107 80 L 1105 80 L 1097 76 L 1090 75 L 1089 74 L 1085 74 L 1084 73 L 1079 73 L 1078 72 L 1061 72 L 1060 73 L 1055 73 L 1054 74 L 1045 75 L 1025 84 L 1018 89 L 1005 102 L 1000 109 L 998 114 L 995 118 L 995 120 L 991 128 L 991 131 L 989 136 L 989 141 L 988 142 L 988 296 L 990 296 L 1010 285 L 1010 209 L 1011 208 L 1016 213 L 1027 221 L 1046 229 L 1054 230 L 1055 231 L 1063 231 L 1064 232 L 1084 231 L 1085 230 L 1089 230 L 1090 229 L 1093 229 L 1094 228 L 1102 226 L 1114 220 L 1125 212 L 1133 204 L 1133 203 L 1137 199 L 1138 196 L 1141 193 L 1146 183 L 1146 181 L 1149 174 L 1150 167 L 1151 166 L 1151 155 L 1152 154 L 1152 149 L 1151 148 L 1151 139 L 1150 138 L 1150 134 L 1149 133 L 1149 130 L 1148 129 L 1146 121 L 1142 113 L 1136 104 L 1125 92 Z M 1059 93 L 1080 93 L 1081 94 L 1085 94 L 1086 95 L 1091 96 L 1094 98 L 1096 98 L 1100 101 L 1103 102 L 1107 105 L 1121 120 L 1127 132 L 1128 138 L 1129 139 L 1129 143 L 1130 144 L 1130 160 L 1129 161 L 1128 169 L 1122 182 L 1118 188 L 1108 198 L 1104 200 L 1101 203 L 1093 207 L 1083 209 L 1082 210 L 1078 210 L 1077 211 L 1062 211 L 1061 210 L 1057 210 L 1056 209 L 1046 207 L 1035 201 L 1031 198 L 1019 185 L 1014 176 L 1014 174 L 1011 167 L 1011 164 L 1010 163 L 1010 142 L 1013 134 L 1013 131 L 1019 119 L 1032 105 L 1038 101 L 1048 96 L 1050 96 L 1054 94 L 1058 94 Z M 769 73 L 768 74 L 764 74 L 763 75 L 757 76 L 754 78 L 747 80 L 745 82 L 740 84 L 733 89 L 717 106 L 711 116 L 711 118 L 708 123 L 708 125 L 706 129 L 706 132 L 705 133 L 705 137 L 704 138 L 704 142 L 703 143 L 703 161 L 704 162 L 704 167 L 705 168 L 705 171 L 706 172 L 706 175 L 707 176 L 708 181 L 715 195 L 718 198 L 720 202 L 731 213 L 741 220 L 753 226 L 755 226 L 762 229 L 765 229 L 766 230 L 770 230 L 771 231 L 796 231 L 797 230 L 802 230 L 806 228 L 809 228 L 810 227 L 815 226 L 827 220 L 838 212 L 841 209 L 841 207 L 828 194 L 824 195 L 817 201 L 807 206 L 805 206 L 801 208 L 798 208 L 797 209 L 792 209 L 791 210 L 776 210 L 775 209 L 770 209 L 754 203 L 748 199 L 736 187 L 729 175 L 729 173 L 726 166 L 726 163 L 725 162 L 725 142 L 726 141 L 726 138 L 727 137 L 729 129 L 738 114 L 749 104 L 759 98 L 761 98 L 764 96 L 766 96 L 770 94 L 774 94 L 775 93 L 792 93 L 793 94 L 797 94 L 813 100 L 815 102 L 818 103 L 826 110 L 828 110 L 841 97 L 841 95 L 837 91 L 826 83 L 808 75 L 804 75 L 803 74 L 799 74 L 798 73 L 793 73 L 792 72 L 776 72 L 775 73 Z M 528 103 L 524 109 L 522 114 L 520 116 L 519 120 L 515 128 L 514 136 L 513 137 L 513 142 L 512 143 L 512 160 L 513 161 L 513 167 L 514 168 L 515 176 L 517 179 L 517 181 L 519 184 L 520 188 L 522 190 L 524 195 L 527 198 L 529 202 L 540 213 L 553 222 L 555 222 L 562 226 L 564 226 L 574 230 L 579 230 L 580 231 L 606 231 L 607 230 L 611 230 L 612 229 L 615 229 L 616 228 L 624 226 L 636 220 L 642 216 L 651 208 L 652 209 L 652 229 L 674 229 L 674 145 L 673 144 L 672 133 L 671 132 L 671 129 L 670 128 L 669 123 L 662 109 L 657 102 L 645 90 L 635 83 L 620 76 L 617 76 L 612 74 L 608 74 L 607 73 L 602 73 L 601 72 L 584 72 L 583 73 L 578 73 L 577 74 L 569 75 L 563 78 L 556 80 L 554 82 L 549 84 L 543 88 Z M 578 94 L 582 94 L 583 93 L 602 93 L 603 94 L 607 94 L 608 95 L 613 96 L 616 98 L 618 98 L 622 100 L 632 107 L 639 114 L 647 126 L 647 128 L 650 134 L 650 137 L 652 142 L 652 161 L 651 162 L 651 166 L 650 167 L 648 175 L 645 181 L 641 187 L 629 199 L 623 203 L 621 203 L 611 208 L 607 208 L 606 209 L 602 209 L 601 210 L 584 210 L 583 209 L 575 208 L 563 203 L 552 195 L 544 186 L 540 178 L 538 176 L 538 174 L 535 167 L 534 157 L 533 156 L 533 148 L 534 147 L 534 142 L 537 134 L 537 131 L 542 121 L 546 115 L 555 106 L 562 101 Z M 396 72 L 395 73 L 390 73 L 389 74 L 381 75 L 364 82 L 351 91 L 341 101 L 333 113 L 327 127 L 327 130 L 325 135 L 325 139 L 324 140 L 324 163 L 325 164 L 325 168 L 326 169 L 328 179 L 331 184 L 331 186 L 334 192 L 341 202 L 357 217 L 371 225 L 373 225 L 376 227 L 378 227 L 382 229 L 385 229 L 386 230 L 390 230 L 391 231 L 417 231 L 418 230 L 423 230 L 424 229 L 427 229 L 428 228 L 436 226 L 454 216 L 468 203 L 476 191 L 478 186 L 477 185 L 456 185 L 455 186 L 453 186 L 452 188 L 442 198 L 428 206 L 426 206 L 422 208 L 419 208 L 418 209 L 413 209 L 412 210 L 396 210 L 395 209 L 386 208 L 383 206 L 381 206 L 375 203 L 365 196 L 355 185 L 349 173 L 347 163 L 348 162 L 476 162 L 477 161 L 485 161 L 485 141 L 484 140 L 484 135 L 483 134 L 483 131 L 482 130 L 481 125 L 474 110 L 465 98 L 455 89 L 448 84 L 443 82 L 441 80 L 439 80 L 428 75 L 420 74 L 419 73 L 413 73 L 412 72 Z M 347 136 L 348 135 L 349 130 L 351 127 L 351 125 L 353 123 L 356 117 L 364 108 L 372 102 L 375 101 L 379 98 L 381 98 L 384 96 L 386 96 L 390 94 L 394 94 L 395 93 L 413 93 L 414 94 L 418 94 L 419 95 L 427 97 L 441 105 L 452 116 L 456 122 L 460 130 L 460 132 L 462 136 L 462 140 L 461 141 L 348 141 L 347 140 Z M 145 83 L 132 77 L 130 77 L 126 75 L 123 75 L 122 74 L 118 74 L 117 73 L 111 73 L 110 72 L 94 72 L 93 73 L 82 74 L 81 75 L 78 75 L 77 76 L 72 77 L 69 79 L 67 79 L 56 85 L 53 88 L 49 90 L 38 101 L 31 111 L 25 123 L 24 129 L 21 137 L 21 143 L 20 144 L 20 296 L 22 296 L 40 287 L 42 285 L 42 209 L 43 208 L 51 215 L 60 221 L 70 226 L 72 226 L 82 230 L 86 230 L 87 231 L 95 231 L 96 232 L 116 231 L 117 230 L 122 230 L 123 229 L 126 229 L 127 228 L 135 226 L 151 217 L 167 202 L 175 190 L 181 175 L 181 172 L 183 167 L 183 161 L 184 160 L 184 143 L 183 142 L 183 137 L 182 136 L 181 129 L 180 128 L 179 123 L 176 118 L 176 116 L 166 101 L 156 91 Z M 87 94 L 91 94 L 92 93 L 112 93 L 113 94 L 117 94 L 118 95 L 126 97 L 132 100 L 142 107 L 149 114 L 154 121 L 158 129 L 158 131 L 161 138 L 161 142 L 162 143 L 162 161 L 161 162 L 161 166 L 160 167 L 158 175 L 155 181 L 146 193 L 135 202 L 119 209 L 110 210 L 109 211 L 95 211 L 94 210 L 85 209 L 71 203 L 60 195 L 53 187 L 49 181 L 44 169 L 43 161 L 42 160 L 42 144 L 43 143 L 44 135 L 48 127 L 48 125 L 52 120 L 53 117 L 65 105 L 74 99 Z M 872 20 L 871 21 L 871 174 L 872 175 L 872 182 L 873 183 L 875 193 L 880 203 L 886 211 L 898 221 L 908 226 L 911 226 L 912 227 L 919 228 L 920 229 L 952 229 L 952 208 L 922 208 L 909 203 L 899 193 L 895 185 L 894 178 L 893 177 L 893 95 L 894 94 L 952 94 L 952 74 L 895 74 L 893 72 L 893 20 Z" fill="currentColor" fill-rule="evenodd"></path></svg></a><div class="pp-nav-right"><div class="pp-nav-desktop"><nav class="pp-nav-links" aria-label="Navigation"><a class href="/guide/getting-started">Guide</a><a class href="/guide/configuration">Reference</a><a class href="/markdown-examples">Examples</a></nav></div><button type="button" class="pp-theme-toggle" aria-label="Toggle light and dark theme"><span class="pp-theme-toggle-moon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"></path></svg></span><span class="pp-theme-toggle-sun" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path></svg></span></button><button type="button" class="pp-menu-toggle" aria-label="Menu" aria-expanded="false" aria-controls="pp-mobile-drawer"><span aria-hidden="true"></span><span aria-hidden="true"></span><span aria-hidden="true"></span></button></div></div></header><div class="pp-mobile-menu"><button type="button" class="pp-mobile-overlay" aria-label="Close menu" tabindex="-1"></button><aside id="pp-mobile-drawer" class="pp-mobile-drawer" aria-label="Menu" aria-hidden="true" inert><div class="pp-mobile-drawer-header"><strong>Menu</strong><button type="button" class="pp-mobile-close" aria-label="Close menu"><span aria-hidden="true">×</span></button></div><nav class="pp-mobile-nav" aria-label="Navigation"><a class href="/guide/getting-started">Guide</a><a class href="/guide/configuration">Reference</a><a class href="/markdown-examples">Examples</a></nav><div class="pp-mobile-docs"><strong>Navigation</strong><label class="pp-search"><span>Search</span><input type="search" value placeholder="Filter pages"/></label><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Introduction</summary><ul><li><a class href="/">Overview</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/first-five-minutes">First five minutes</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Authoring</summary><ul><li><a class href="/guide/creating-pages">Creating pages</a></li><li><a class href="/guide/markdown-and-mdx">Markdown and MDX</a></li><li><a class href="/guide/routing">Routing and i18n</a></li><li><a class="active" href="/guide/default-theme" aria-current="page">Default theme</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Reference</summary><ul><li><a class href="/guide/configuration">Configuration</a></li><li><a class href="/guide/commands">CLI and validation</a></li><li><a class href="/guide/advanced">Advanced APIs</a></li><li><a class href="/guide/custom-themes">Custom themes</a></li><li><a class href="/guide/deploy">Deploy</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Examples</summary><ul><li><a class href="/markdown-examples">Markdown examples</a></li><li><a class href="/interactive">Interactive MDX</a></li></ul></details></div></aside></div><div class="pp-body pp-body-doc"><aside class="pp-sidebar" aria-label="Navigation"><details class="pp-sidebar-panel" open><summary>Navigation</summary><label class="pp-search"><span>Search</span><input type="search" value placeholder="Filter pages"/></label><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Introduction</summary><ul><li><a class href="/">Overview</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/first-five-minutes">First five minutes</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Authoring</summary><ul><li><a class href="/guide/creating-pages">Creating pages</a></li><li><a class href="/guide/markdown-and-mdx">Markdown and MDX</a></li><li><a class href="/guide/routing">Routing and i18n</a></li><li><a class="active" href="/guide/default-theme" aria-current="page">Default theme</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Reference</summary><ul><li><a class href="/guide/configuration">Configuration</a></li><li><a class href="/guide/commands">CLI and validation</a></li><li><a class href="/guide/advanced">Advanced APIs</a></li><li><a class href="/guide/custom-themes">Custom themes</a></li><li><a class href="/guide/deploy">Deploy</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Examples</summary><ul><li><a class href="/markdown-examples">Markdown examples</a></li><li><a class href="/interactive">Interactive MDX</a></li></ul></details></details></aside><main id="content" class="pp-main" tabindex="-1" aria-live="polite"><article class="pp-doc pp-doc-doc"><h1 class="pp-doc-title">Default theme</h1><p class="pp-doc-lead">Configure navigation, sidebars, search, locales, and responsive behavior.</p><div class="pp-doc-content"><p>The bundled theme provides a responsive header, mobile drawer, sidebar, page outline, local or Algolia search, dark mode, tags, previous/next links, edit links, and last-updated metadata.</p>
|
|
27
|
-
<h2 id="navigation" class="pp-heading">Navigation<a class="pp-heading-anchor" href="#navigation" aria-label="Link to this section">#</a></h2>
|
|
28
|
-
<p><code>themeConfig.nav</code> accepts links and nested dropdowns. <code>themeConfig.sidebar</code> accepts one global array or a path-prefix map.</p>
|
|
29
|
-
<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">themeConfig</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
|
|
30
|
-
<span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0"> nav</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: [</span></span>
|
|
31
|
-
<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">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/guide/getting-started'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> },</span></span>
|
|
32
|
-
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> { text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Resources'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, items: [{ text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Preact'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'https://preactjs.com'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }] }</span></span>
|
|
33
|
-
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> ],</span></span>
|
|
34
|
-
<span class="line"><span style="color:#6F42C1;--shiki-dark:#B392F0"> sidebar</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: {</span></span>
|
|
35
|
-
<span class="line"><span style="color:#032F62;--shiki-dark:#9ECBFF"> '/guide/'</span><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">, items: [{ text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Start'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/guide/getting-started'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }] }],</span></span>
|
|
36
|
-
<span class="line"><span style="color:#032F62;--shiki-dark:#9ECBFF"> '/reference/'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">: [{ text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'Reference'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, items: [{ text: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'API'</span><span style="color:#24292E;--shiki-dark:#E1E4E8">, link: </span><span style="color:#032F62;--shiki-dark:#9ECBFF">'/reference/api'</span><span style="color:#24292E;--shiki-dark:#E1E4E8"> }] }]</span></span>
|
|
37
|
-
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
|
|
38
|
-
<span class="line"><span style="color:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre><p>Groups and nested items support <code>collapsed: true</code>.</p>
|
|
39
|
-
<h2 id="mobile-behavior" class="pp-heading">Mobile behavior<a class="pp-heading-anchor" href="#mobile-behavior" aria-label="Link to this section">#</a></h2>
|
|
40
|
-
<p>Below 900px, the header exposes an off-canvas menu. It contains the main navigation, locale links, social links, local search, and the active documentation sidebar. The drawer traps focus, closes with Escape or the backdrop, and restores focus to its trigger.</p>
|
|
41
|
-
<h2 id="search" class="pp-heading">Search<a class="pp-heading-anchor" href="#search" aria-label="Link to this section">#</a></h2>
|
|
42
|
-
<ul>
|
|
43
|
-
<li><code>search: true</code> enables the generated local search index.</li>
|
|
44
|
-
<li><code>{ provider: 'local' }</code> is the explicit equivalent.</li>
|
|
45
|
-
<li><code>{ provider: 'algolia', options: ... }</code> mounts Algolia DocSearch.</li>
|
|
46
|
-
</ul>
|
|
47
|
-
<h2 id="page-chrome" class="pp-heading">Page chrome<a class="pp-heading-anchor" href="#page-chrome" aria-label="Link to this section">#</a></h2>
|
|
48
|
-
<p>Frontmatter can select <code>layout: doc</code>, <code>home</code>, or <code>page</code> and override <code>navbar</code>, <code>sidebar</code>, <code>aside</code>, <code>outline</code>, <code>footer</code>, <code>editLink</code>, and <code>lastUpdated</code>.</p>
|
|
49
|
-
<p>See <a href="/guide/configuration">Configuration</a> for every option.</p>
|
|
50
|
-
</div><nav class="pp-pager" aria-label="Page navigation"><a class="pp-pager-link previous" href="/guide/routing"><span>Previous</span>Routing and i18n</a><a class="pp-pager-link next" href="/guide/configuration"><span>Next</span>Configuration</a></nav><footer class="pp-doc-meta"><span>Last updated Jun 8, 2026</span></footer></article></main><aside class="pp-outline" aria-label="On this page"><div class="pp-outline-heading">On this page</div><nav><a class="level-2" href="#navigation">Navigation</a><a class="level-2" href="#mobile-behavior">Mobile behavior</a><a class="level-2" href="#search">Search</a><a class="level-2" href="#page-chrome">Page chrome</a></nav></aside></div><footer class="pp-footer">Built with PreactPress.</footer></div></div>
|
|
51
|
-
<script type="module" crossorigin src="/preactpress/assets/main-CreUBb3N.js"></script>
|
|
52
|
-
</body>
|
|
53
|
-
</html>
|
|
@@ -1,195 +0,0 @@
|
|
|
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 | PreactPress</title>
|
|
7
|
-
<script src="/preactpress/preactpress-theme.js"></script>
|
|
8
|
-
<meta name="description" content="Build and publish a PreactPress site">
|
|
9
|
-
<meta property="og:title" content="Deploy | PreactPress">
|
|
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="/preactpress/guide/deploy/">
|
|
13
|
-
<meta name="twitter:card" content="summary">
|
|
14
|
-
<meta name="twitter:title" content="Deploy | PreactPress">
|
|
15
|
-
<meta name="twitter:description" content="Build and publish a PreactPress site">
|
|
16
|
-
<link rel="canonical" href="/preactpress/guide/deploy/">
|
|
17
|
-
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","headline":"Deploy | PreactPress","name":"Deploy | PreactPress","description":"Build and publish a PreactPress site","url":"/preactpress/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="/preactpress/assets/main-oodK-zZy.css">
|
|
23
|
-
</head>
|
|
24
|
-
<body>
|
|
25
|
-
<template id="__PREACTPRESS_PAGE_DATA__">{"kind":"markdown","meta":{"title":"Deploy","description":"Build and publish a PreactPress site"},"html":"\u003ch1 id=\"deploy\" class=\"pp-heading\">Deploy\u003ca class=\"pp-heading-anchor\" href=\"#deploy\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h1>\n\u003cp>PreactPress builds static files. Production deployment means running a build and uploading the output directory, usually \u003ccode>dist/\u003c/code>, to a static host.\u003c/p>\n\u003cp>No Node server is required in production.\u003c/p>\n\u003ch2 id=\"build-and-test-locally\" class=\"pp-heading\">Build and test locally\u003ca class=\"pp-heading-anchor\" href=\"#build-and-test-locally\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>Run the release checks and production build from your site directory:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> run\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> check\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> run\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> build\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>Preview the build locally:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> run\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> preview\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>The preview server serves the built output at \u003cstrong>\u003ca href=\"http://localhost:4173\" target=\"_blank\" rel=\"noopener noreferrer\">http://localhost:4173\u003c/a>\u003c/strong> by default.\u003c/p>\n\u003ch2 id=\"configure-production-metadata\" class=\"pp-heading\">Configure production metadata\u003ca class=\"pp-heading-anchor\" href=\"#configure-production-metadata\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>Set \u003ccode>site.url\u003c/code> before publishing. PreactPress uses it for canonical URLs, Open Graph metadata, \u003ccode>sitemap.xml\u003c/code>, and \u003ccode>robots.txt\u003c/code>.\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">export\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> default\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> site: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> title: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'My site'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> description: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'Short summary for search and social previews'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> url: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'https://example.com'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> base: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/'\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> build: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> sitemap: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">true\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> robots: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">true\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003ch2 id=\"public-base-path\" class=\"pp-heading\">Public base path\u003ca class=\"pp-heading-anchor\" href=\"#public-base-path\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>By default, PreactPress assumes your site is served at the domain root:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan>https://example.com/\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>If the site is served from a subpath, set \u003ccode>site.base\u003c/code>:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">export\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> default\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> site: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> url: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'https://user.github.io'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> base: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/my-repo/'\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>You can also override the base path for a single build:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> exec\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> preactpress\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> build\u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\"> --base\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> /my-repo/\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003ch2 id=\"build-output\" class=\"pp-heading\">Build output\u003ca class=\"pp-heading-anchor\" href=\"#build-output\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>The default output directory is \u003ccode>dist/\u003c/code>:\u003c/p>\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Output\u003c/th>\n\u003cth>Description\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>\u003ccode>index.html\u003c/code>, \u003ccode>*/index.html\u003c/code>\u003c/td>\n\u003ctd>Static HTML for each route\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>\u003ccode>assets/*\u003c/code>\u003c/td>\n\u003ctd>Hashed JavaScript and CSS from Vite\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>\u003ccode>404.html\u003c/code>\u003c/td>\n\u003ctd>Not-found page\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>\u003ccode>preactpress-search.json\u003c/code>\u003c/td>\n\u003ctd>Search index for the default theme\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>\u003ccode>preactpress-content/*.json\u003c/code>\u003c/td>\n\u003ctd>Lazy-loaded Markdown payloads for client navigation\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>\u003ccode>sitemap.xml\u003c/code>, \u003ccode>robots.txt\u003c/code>\u003c/td>\n\u003ctd>Generated when \u003ccode>site.url\u003c/code> and build flags are set\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>\u003ccode>feed.xml\u003c/code>\u003c/td>\n\u003ctd>Generated when \u003ccode>build.feed\u003c/code> is configured\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\u003cp>Deploy only the output directory. Do not deploy \u003ccode>node_modules\u003c/code>, \u003ccode>.preactpress\u003c/code>, or the build cache.\u003c/p>\n\u003ch2 id=\"platform-settings\" class=\"pp-heading\">Platform settings\u003ca class=\"pp-heading-anchor\" href=\"#platform-settings\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>For most static hosts, use these settings:\u003c/p>\n\u003ctable>\n\u003cthead>\n\u003ctr>\n\u003cth>Host\u003c/th>\n\u003cth>Build command\u003c/th>\n\u003cth>Output directory\u003c/th>\n\u003c/tr>\n\u003c/thead>\n\u003ctbody>\n\u003ctr>\n\u003ctd>Netlify\u003c/td>\n\u003ctd>\u003ccode>pnpm run build\u003c/code>\u003c/td>\n\u003ctd>\u003ccode>dist\u003c/code>\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Vercel\u003c/td>\n\u003ctd>\u003ccode>pnpm run build\u003c/code>\u003c/td>\n\u003ctd>\u003ccode>dist\u003c/code>\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Cloudflare Pages\u003c/td>\n\u003ctd>\u003ccode>pnpm run build\u003c/code>\u003c/td>\n\u003ctd>\u003ccode>dist\u003c/code>\u003c/td>\n\u003c/tr>\n\u003ctr>\n\u003ctd>Render Static Site\u003c/td>\n\u003ctd>\u003ccode>pnpm run build\u003c/code>\u003c/td>\n\u003ctd>\u003ccode>dist\u003c/code>\u003c/td>\n\u003c/tr>\n\u003c/tbody>\n\u003c/table>\n\u003cp>Install command:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> install\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>Node version: \u003cstrong>20 or higher\u003c/strong>.\u003c/p>\n\u003ch2 id=\"github-pages\" class=\"pp-heading\">GitHub Pages\u003ca class=\"pp-heading-anchor\" href=\"#github-pages\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>For a project site at \u003ccode>https://user.github.io/my-repo/\u003c/code>, configure:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\">export\u003c/span>\u003cspan style=\"color:#D73A49;--shiki-dark:#F97583\"> default\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> site: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> url: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'https://user.github.io'\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> base: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">'/my-repo/'\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">}\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>Then deploy the \u003ccode>dist/\u003c/code> directory.\u003c/p>\n\u003cp>A minimal GitHub Actions workflow can look like this:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">name\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">Deploy PreactPress site to Pages\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">on\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> push\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> branches\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: [\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">main\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> workflow_dispatch\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">permissions\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> contents\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">read\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> pages\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">write\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> id-token\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">write\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">concurrency\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> group\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">pages\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> cancel-in-progress\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">false\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">jobs\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> build\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> runs-on\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">ubuntu-latest\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> steps\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">uses\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">actions/checkout@v4\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">uses\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">pnpm/action-setup@v4\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">uses\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">actions/setup-node@v4\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> with\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> node-version\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">22\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> cache\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">pnpm\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">uses\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">actions/configure-pages@v5\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">run\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">pnpm install\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">run\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">pnpm run check\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">run\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">pnpm run build\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">uses\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">actions/upload-pages-artifact@v3\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> with\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> path\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">dist\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> deploy\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> needs\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">build\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> runs-on\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">ubuntu-latest\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> environment\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> name\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">github-pages\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> url\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">${{ steps.deployment.outputs.page_url }}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> steps\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">:\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\"> - \u003c/span>\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\">id\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">deployment\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#22863A;--shiki-dark:#85E89D\"> uses\u003c/span>\u003cspan style=\"color:#24292E;--shiki-dark:#E1E4E8\">: \u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\">actions/deploy-pages@v4\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>In your repository settings, set Pages source to \u003cstrong>GitHub Actions\u003c/strong>.\u003c/p>\n\u003ch2 id=\"monorepos\" class=\"pp-heading\">Monorepos\u003ca class=\"pp-heading-anchor\" href=\"#monorepos\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>In a monorepo, run commands from the site package directory:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#005CC5;--shiki-dark:#79B8FF\">cd\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> packages/docs\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> run\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> check\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> run\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> build\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>Or pass the site path to the CLI:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan style=\"color:#6F42C1;--shiki-dark:#B392F0\">pnpm\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> exec\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> preactpress\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> build\u003c/span>\u003cspan style=\"color:#032F62;--shiki-dark:#9ECBFF\"> ./packages/docs\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003ch2 id=\"cache-headers\" class=\"pp-heading\">Cache headers\u003ca class=\"pp-heading-anchor\" href=\"#cache-headers\" aria-label=\"Link to this section\">#\u003c/a>\u003c/h2>\n\u003cp>Files under \u003ccode>assets/\u003c/code> include content hashes in their filenames. If your host lets you set HTTP headers, cache those files aggressively:\u003c/p>\n\u003cpre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8\" tabindex=\"0\">\u003ccode>\u003cspan class=\"line\">\u003cspan>Cache-Control: public, max-age=31536000, immutable\u003c/span>\u003c/span>\u003c/code>\u003c/pre>\u003cp>Do not apply immutable caching to HTML files or JSON payloads such as \u003ccode>preactpress-search.json\u003c/code> and \u003ccode>preactpress-content/*.json\u003c/code>, because those URLs can keep the same names when content changes.\u003c/p>\n","title":"Deploy","description":"Build and publish a PreactPress site","tags":[],"pageType":"website","headings":[{"id":"build-and-test-locally","text":"Build and test locally","level":2},{"id":"configure-production-metadata","text":"Configure production metadata","level":2},{"id":"public-base-path","text":"Public base path","level":2},{"id":"build-output","text":"Build output","level":2},{"id":"platform-settings","text":"Platform settings","level":2},{"id":"github-pages","text":"GitHub Pages","level":2},{"id":"monorepos","text":"Monorepos","level":2},{"id":"cache-headers","text":"Cache headers","level":2}],"relativePath":"guide/deploy.md","lastUpdated":"2026-06-04T07:28:10.774Z"}</template>
|
|
26
|
-
<div id="app"><div class="pp-layout"><a class="pp-skip-link" href="#content">Skip to content</a><header class="pp-nav"><div class="pp-nav-inner"><a class="pp-title" href="/" aria-label="PreactPress"><svg class="pp-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1756 317" role="img" aria-label="PreactPress"><path d="M 1647 76 L 1637 81 L 1633 84 L 1625 93 L 1620 103 L 1619 112 L 1618 113 L 1618 122 L 1619 123 L 1619 128 L 1624 140 L 1636 153 L 1647 159 L 1657 161 L 1658 162 L 1695 163 L 1702 166 L 1711 174 L 1713 179 L 1713 182 L 1714 183 L 1714 188 L 1710 198 L 1704 204 L 1701 206 L 1699 206 L 1695 208 L 1622 208 L 1622 229 L 1699 229 L 1700 228 L 1703 228 L 1704 227 L 1712 225 L 1721 219 L 1726 214 L 1730 208 L 1734 199 L 1734 195 L 1735 194 L 1735 177 L 1730 164 L 1718 151 L 1707 145 L 1705 145 L 1701 143 L 1698 143 L 1697 142 L 1660 141 L 1652 138 L 1644 131 L 1641 126 L 1641 123 L 1640 122 L 1640 113 L 1643 106 L 1648 100 L 1657 95 L 1660 95 L 1661 94 L 1722 94 L 1722 74 L 1654 74 L 1653 75 Z M 1502 78 L 1494 83 L 1487 90 L 1484 96 L 1482 98 L 1482 100 L 1480 103 L 1479 111 L 1478 112 L 1478 123 L 1479 124 L 1479 128 L 1480 129 L 1481 134 L 1484 140 L 1491 149 L 1499 155 L 1507 159 L 1517 161 L 1518 162 L 1554 163 L 1562 166 L 1566 169 L 1571 175 L 1573 179 L 1574 187 L 1573 188 L 1573 192 L 1570 198 L 1565 203 L 1555 208 L 1482 208 L 1482 229 L 1559 229 L 1560 228 L 1563 228 L 1564 227 L 1569 226 L 1577 222 L 1584 216 L 1584 215 L 1588 211 L 1593 201 L 1593 198 L 1595 193 L 1595 179 L 1594 178 L 1594 175 L 1593 174 L 1592 169 L 1587 160 L 1579 152 L 1573 148 L 1561 143 L 1558 143 L 1557 142 L 1540 142 L 1539 141 L 1521 141 L 1520 140 L 1517 140 L 1512 138 L 1509 136 L 1502 128 L 1502 126 L 1500 123 L 1500 112 L 1504 104 L 1509 99 L 1514 96 L 1520 95 L 1521 94 L 1582 94 L 1582 74 L 1514 74 L 1513 75 L 1510 75 L 1504 78 Z M 1280 74 L 1236 74 L 1235 75 L 1227 76 L 1214 82 L 1204 89 L 1198 95 L 1192 103 L 1190 108 L 1187 112 L 1187 114 L 1184 121 L 1183 132 L 1182 133 L 1182 229 L 1204 229 L 1204 131 L 1210 115 L 1221 103 L 1227 100 L 1229 98 L 1231 98 L 1237 95 L 1241 95 L 1242 94 L 1280 94 Z M 312 74 L 267 74 L 266 75 L 259 76 L 241 85 L 237 89 L 236 89 L 225 101 L 217 117 L 216 124 L 215 125 L 215 129 L 214 130 L 214 229 L 236 229 L 236 130 L 237 129 L 238 123 L 242 115 L 253 103 L 259 99 L 269 95 L 273 95 L 274 94 L 312 94 L 312 90 L 313 89 L 313 76 Z M 1362 72 L 1361 73 L 1356 73 L 1355 74 L 1351 74 L 1350 75 L 1344 76 L 1341 78 L 1334 80 L 1332 82 L 1327 84 L 1324 87 L 1320 89 L 1304 106 L 1296 121 L 1296 123 L 1292 133 L 1292 136 L 1291 137 L 1291 143 L 1290 144 L 1290 160 L 1291 161 L 1291 167 L 1292 168 L 1292 171 L 1294 175 L 1295 181 L 1301 193 L 1308 203 L 1323 217 L 1326 218 L 1331 222 L 1337 225 L 1339 225 L 1342 227 L 1344 227 L 1348 229 L 1351 229 L 1352 230 L 1356 230 L 1357 231 L 1367 231 L 1368 232 L 1385 231 L 1386 230 L 1390 230 L 1391 229 L 1394 229 L 1395 228 L 1403 226 L 1418 218 L 1432 206 L 1441 194 L 1445 186 L 1444 185 L 1421 185 L 1410 197 L 1403 202 L 1393 207 L 1391 207 L 1387 209 L 1383 209 L 1382 210 L 1376 210 L 1375 211 L 1360 210 L 1359 209 L 1349 207 L 1341 203 L 1330 195 L 1323 187 L 1320 181 L 1318 179 L 1317 175 L 1315 172 L 1315 169 L 1314 168 L 1313 163 L 1314 162 L 1451 162 L 1452 161 L 1452 143 L 1451 142 L 1450 132 L 1449 131 L 1446 120 L 1442 112 L 1435 102 L 1422 89 L 1413 83 L 1410 82 L 1408 80 L 1406 80 L 1403 78 L 1401 78 L 1398 76 L 1395 76 L 1391 74 L 1386 74 L 1385 73 L 1380 73 L 1379 72 Z M 1313 139 L 1315 135 L 1316 129 L 1320 121 L 1325 114 L 1333 106 L 1340 101 L 1348 97 L 1350 97 L 1357 94 L 1361 94 L 1362 93 L 1379 93 L 1380 94 L 1385 94 L 1386 95 L 1394 97 L 1405 103 L 1409 106 L 1421 119 L 1427 130 L 1427 132 L 1429 136 L 1429 140 L 1428 141 L 1314 141 Z M 1114 84 L 1109 82 L 1107 80 L 1105 80 L 1097 76 L 1090 75 L 1089 74 L 1085 74 L 1084 73 L 1079 73 L 1078 72 L 1061 72 L 1060 73 L 1055 73 L 1054 74 L 1045 75 L 1025 84 L 1018 89 L 1005 102 L 1000 109 L 998 114 L 995 118 L 995 120 L 991 128 L 991 131 L 989 136 L 989 141 L 988 142 L 988 296 L 990 296 L 1010 285 L 1010 209 L 1011 208 L 1016 213 L 1027 221 L 1046 229 L 1054 230 L 1055 231 L 1063 231 L 1064 232 L 1084 231 L 1085 230 L 1089 230 L 1090 229 L 1093 229 L 1094 228 L 1102 226 L 1114 220 L 1125 212 L 1133 204 L 1133 203 L 1137 199 L 1138 196 L 1141 193 L 1146 183 L 1146 181 L 1149 174 L 1150 167 L 1151 166 L 1151 155 L 1152 154 L 1152 149 L 1151 148 L 1151 139 L 1150 138 L 1150 134 L 1149 133 L 1149 130 L 1148 129 L 1146 121 L 1142 113 L 1136 104 L 1125 92 Z M 1059 93 L 1080 93 L 1081 94 L 1085 94 L 1086 95 L 1091 96 L 1094 98 L 1096 98 L 1100 101 L 1103 102 L 1107 105 L 1121 120 L 1127 132 L 1128 138 L 1129 139 L 1129 143 L 1130 144 L 1130 160 L 1129 161 L 1128 169 L 1122 182 L 1118 188 L 1108 198 L 1104 200 L 1101 203 L 1093 207 L 1083 209 L 1082 210 L 1078 210 L 1077 211 L 1062 211 L 1061 210 L 1057 210 L 1056 209 L 1046 207 L 1035 201 L 1031 198 L 1019 185 L 1014 176 L 1014 174 L 1011 167 L 1011 164 L 1010 163 L 1010 142 L 1013 134 L 1013 131 L 1019 119 L 1032 105 L 1038 101 L 1048 96 L 1050 96 L 1054 94 L 1058 94 Z M 769 73 L 768 74 L 764 74 L 763 75 L 757 76 L 754 78 L 747 80 L 745 82 L 740 84 L 733 89 L 717 106 L 711 116 L 711 118 L 708 123 L 708 125 L 706 129 L 706 132 L 705 133 L 705 137 L 704 138 L 704 142 L 703 143 L 703 161 L 704 162 L 704 167 L 705 168 L 705 171 L 706 172 L 706 175 L 707 176 L 708 181 L 715 195 L 718 198 L 720 202 L 731 213 L 741 220 L 753 226 L 755 226 L 762 229 L 765 229 L 766 230 L 770 230 L 771 231 L 796 231 L 797 230 L 802 230 L 806 228 L 809 228 L 810 227 L 815 226 L 827 220 L 838 212 L 841 209 L 841 207 L 828 194 L 824 195 L 817 201 L 807 206 L 805 206 L 801 208 L 798 208 L 797 209 L 792 209 L 791 210 L 776 210 L 775 209 L 770 209 L 754 203 L 748 199 L 736 187 L 729 175 L 729 173 L 726 166 L 726 163 L 725 162 L 725 142 L 726 141 L 726 138 L 727 137 L 729 129 L 738 114 L 749 104 L 759 98 L 761 98 L 764 96 L 766 96 L 770 94 L 774 94 L 775 93 L 792 93 L 793 94 L 797 94 L 813 100 L 815 102 L 818 103 L 826 110 L 828 110 L 841 97 L 841 95 L 837 91 L 826 83 L 808 75 L 804 75 L 803 74 L 799 74 L 798 73 L 793 73 L 792 72 L 776 72 L 775 73 Z M 528 103 L 524 109 L 522 114 L 520 116 L 519 120 L 515 128 L 514 136 L 513 137 L 513 142 L 512 143 L 512 160 L 513 161 L 513 167 L 514 168 L 515 176 L 517 179 L 517 181 L 519 184 L 520 188 L 522 190 L 524 195 L 527 198 L 529 202 L 540 213 L 553 222 L 555 222 L 562 226 L 564 226 L 574 230 L 579 230 L 580 231 L 606 231 L 607 230 L 611 230 L 612 229 L 615 229 L 616 228 L 624 226 L 636 220 L 642 216 L 651 208 L 652 209 L 652 229 L 674 229 L 674 145 L 673 144 L 672 133 L 671 132 L 671 129 L 670 128 L 669 123 L 662 109 L 657 102 L 645 90 L 635 83 L 620 76 L 617 76 L 612 74 L 608 74 L 607 73 L 602 73 L 601 72 L 584 72 L 583 73 L 578 73 L 577 74 L 569 75 L 563 78 L 556 80 L 554 82 L 549 84 L 543 88 Z M 578 94 L 582 94 L 583 93 L 602 93 L 603 94 L 607 94 L 608 95 L 613 96 L 616 98 L 618 98 L 622 100 L 632 107 L 639 114 L 647 126 L 647 128 L 650 134 L 650 137 L 652 142 L 652 161 L 651 162 L 651 166 L 650 167 L 648 175 L 645 181 L 641 187 L 629 199 L 623 203 L 621 203 L 611 208 L 607 208 L 606 209 L 602 209 L 601 210 L 584 210 L 583 209 L 575 208 L 563 203 L 552 195 L 544 186 L 540 178 L 538 176 L 538 174 L 535 167 L 534 157 L 533 156 L 533 148 L 534 147 L 534 142 L 537 134 L 537 131 L 542 121 L 546 115 L 555 106 L 562 101 Z M 396 72 L 395 73 L 390 73 L 389 74 L 381 75 L 364 82 L 351 91 L 341 101 L 333 113 L 327 127 L 327 130 L 325 135 L 325 139 L 324 140 L 324 163 L 325 164 L 325 168 L 326 169 L 328 179 L 331 184 L 331 186 L 334 192 L 341 202 L 357 217 L 371 225 L 373 225 L 376 227 L 378 227 L 382 229 L 385 229 L 386 230 L 390 230 L 391 231 L 417 231 L 418 230 L 423 230 L 424 229 L 427 229 L 428 228 L 436 226 L 454 216 L 468 203 L 476 191 L 478 186 L 477 185 L 456 185 L 455 186 L 453 186 L 452 188 L 442 198 L 428 206 L 426 206 L 422 208 L 419 208 L 418 209 L 413 209 L 412 210 L 396 210 L 395 209 L 386 208 L 383 206 L 381 206 L 375 203 L 365 196 L 355 185 L 349 173 L 347 163 L 348 162 L 476 162 L 477 161 L 485 161 L 485 141 L 484 140 L 484 135 L 483 134 L 483 131 L 482 130 L 481 125 L 474 110 L 465 98 L 455 89 L 448 84 L 443 82 L 441 80 L 439 80 L 428 75 L 420 74 L 419 73 L 413 73 L 412 72 Z M 347 136 L 348 135 L 349 130 L 351 127 L 351 125 L 353 123 L 356 117 L 364 108 L 372 102 L 375 101 L 379 98 L 381 98 L 384 96 L 386 96 L 390 94 L 394 94 L 395 93 L 413 93 L 414 94 L 418 94 L 419 95 L 427 97 L 441 105 L 452 116 L 456 122 L 460 130 L 460 132 L 462 136 L 462 140 L 461 141 L 348 141 L 347 140 Z M 145 83 L 132 77 L 130 77 L 126 75 L 123 75 L 122 74 L 118 74 L 117 73 L 111 73 L 110 72 L 94 72 L 93 73 L 82 74 L 81 75 L 78 75 L 77 76 L 72 77 L 69 79 L 67 79 L 56 85 L 53 88 L 49 90 L 38 101 L 31 111 L 25 123 L 24 129 L 21 137 L 21 143 L 20 144 L 20 296 L 22 296 L 40 287 L 42 285 L 42 209 L 43 208 L 51 215 L 60 221 L 70 226 L 72 226 L 82 230 L 86 230 L 87 231 L 95 231 L 96 232 L 116 231 L 117 230 L 122 230 L 123 229 L 126 229 L 127 228 L 135 226 L 151 217 L 167 202 L 175 190 L 181 175 L 181 172 L 183 167 L 183 161 L 184 160 L 184 143 L 183 142 L 183 137 L 182 136 L 181 129 L 180 128 L 179 123 L 176 118 L 176 116 L 166 101 L 156 91 Z M 87 94 L 91 94 L 92 93 L 112 93 L 113 94 L 117 94 L 118 95 L 126 97 L 132 100 L 142 107 L 149 114 L 154 121 L 158 129 L 158 131 L 161 138 L 161 142 L 162 143 L 162 161 L 161 162 L 161 166 L 160 167 L 158 175 L 155 181 L 146 193 L 135 202 L 119 209 L 110 210 L 109 211 L 95 211 L 94 210 L 85 209 L 71 203 L 60 195 L 53 187 L 49 181 L 44 169 L 43 161 L 42 160 L 42 144 L 43 143 L 44 135 L 48 127 L 48 125 L 52 120 L 53 117 L 65 105 L 74 99 Z M 872 20 L 871 21 L 871 174 L 872 175 L 872 182 L 873 183 L 875 193 L 880 203 L 886 211 L 898 221 L 908 226 L 911 226 L 912 227 L 919 228 L 920 229 L 952 229 L 952 208 L 922 208 L 909 203 L 899 193 L 895 185 L 894 178 L 893 177 L 893 95 L 894 94 L 952 94 L 952 74 L 895 74 L 893 72 L 893 20 Z" fill="currentColor" fill-rule="evenodd"></path></svg></a><div class="pp-nav-right"><div class="pp-nav-desktop"><nav class="pp-nav-links" aria-label="Navigation"><a class href="/guide/getting-started">Guide</a><a class href="/guide/configuration">Reference</a><a class href="/markdown-examples">Examples</a></nav></div><button type="button" class="pp-theme-toggle" aria-label="Toggle light and dark theme"><span class="pp-theme-toggle-moon" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"></path></svg></span><span class="pp-theme-toggle-sun" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" stroke="currentColor" strokeWidth="1.5" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path></svg></span></button><button type="button" class="pp-menu-toggle" aria-label="Menu" aria-expanded="false" aria-controls="pp-mobile-drawer"><span aria-hidden="true"></span><span aria-hidden="true"></span><span aria-hidden="true"></span></button></div></div></header><div class="pp-mobile-menu"><button type="button" class="pp-mobile-overlay" aria-label="Close menu" tabindex="-1"></button><aside id="pp-mobile-drawer" class="pp-mobile-drawer" aria-label="Menu" aria-hidden="true" inert><div class="pp-mobile-drawer-header"><strong>Menu</strong><button type="button" class="pp-mobile-close" aria-label="Close menu"><span aria-hidden="true">×</span></button></div><nav class="pp-mobile-nav" aria-label="Navigation"><a class href="/guide/getting-started">Guide</a><a class href="/guide/configuration">Reference</a><a class href="/markdown-examples">Examples</a></nav><div class="pp-mobile-docs"><strong>Navigation</strong><label class="pp-search"><span>Search</span><input type="search" value placeholder="Filter pages"/></label><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Introduction</summary><ul><li><a class href="/">Overview</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/first-five-minutes">First five minutes</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Authoring</summary><ul><li><a class href="/guide/creating-pages">Creating pages</a></li><li><a class href="/guide/markdown-and-mdx">Markdown and MDX</a></li><li><a class href="/guide/routing">Routing and i18n</a></li><li><a class href="/guide/default-theme">Default theme</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Reference</summary><ul><li><a class href="/guide/configuration">Configuration</a></li><li><a class href="/guide/commands">CLI and validation</a></li><li><a class href="/guide/advanced">Advanced APIs</a></li><li><a class href="/guide/custom-themes">Custom themes</a></li><li><a class="active" href="/guide/deploy" aria-current="page">Deploy</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Examples</summary><ul><li><a class href="/markdown-examples">Markdown examples</a></li><li><a class href="/interactive">Interactive MDX</a></li></ul></details></div></aside></div><div class="pp-body pp-body-doc"><aside class="pp-sidebar" aria-label="Navigation"><details class="pp-sidebar-panel" open><summary>Navigation</summary><label class="pp-search"><span>Search</span><input type="search" value placeholder="Filter pages"/></label><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Introduction</summary><ul><li><a class href="/">Overview</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/first-five-minutes">First five minutes</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Authoring</summary><ul><li><a class href="/guide/creating-pages">Creating pages</a></li><li><a class href="/guide/markdown-and-mdx">Markdown and MDX</a></li><li><a class href="/guide/routing">Routing and i18n</a></li><li><a class href="/guide/default-theme">Default theme</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Reference</summary><ul><li><a class href="/guide/configuration">Configuration</a></li><li><a class href="/guide/commands">CLI and validation</a></li><li><a class href="/guide/advanced">Advanced APIs</a></li><li><a class href="/guide/custom-themes">Custom themes</a></li><li><a class="active" href="/guide/deploy" aria-current="page">Deploy</a></li></ul></details><details class="pp-sidebar-group pp-sidebar-group-collapsible" open><summary class="pp-sidebar-heading">Examples</summary><ul><li><a class href="/markdown-examples">Markdown examples</a></li><li><a class href="/interactive">Interactive MDX</a></li></ul></details></details></aside><main id="content" class="pp-main" tabindex="-1" aria-live="polite"><article class="pp-doc pp-doc-doc"><h1 class="pp-doc-title">Deploy</h1><p class="pp-doc-lead">Build and publish a PreactPress site</p><div class="pp-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="pp-pager" aria-label="Page navigation"><a class="pp-pager-link previous" href="/guide/custom-themes"><span>Previous</span>Custom themes</a><a class="pp-pager-link next" href="/markdown-examples"><span>Next</span>Markdown examples</a></nav><footer class="pp-doc-meta"><span>Last updated Jun 4, 2026</span></footer></article></main><aside class="pp-outline" aria-label="On this page"><div class="pp-outline-heading">On this page</div><nav><a class="level-2" href="#build-and-test-locally">Build and test locally</a><a class="level-2" href="#configure-production-metadata">Configure production metadata</a><a class="level-2" href="#public-base-path">Public base path</a><a class="level-2" href="#build-output">Build output</a><a class="level-2" href="#platform-settings">Platform settings</a><a class="level-2" href="#github-pages">GitHub Pages</a><a class="level-2" href="#monorepos">Monorepos</a><a class="level-2" href="#cache-headers">Cache headers</a></nav></aside></div><footer class="pp-footer">Built with PreactPress.</footer></div></div>
|
|
193
|
-
<script type="module" crossorigin src="/preactpress/assets/main-CreUBb3N.js"></script>
|
|
194
|
-
</body>
|
|
195
|
-
</html>
|