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