Deployment
Tasty Docs always produces a static Astro build. The output in dist/ can be
served by GitHub Pages, Cloudflare Pages, Netlify, Vercel static hosting, or a
plain file server.
Build locally
npm run buildnpm run previewRun tasty-docs doctor in CI before building
when you want a focused content diagnostic step.
GitHub Pages
Give the deployment workflow read access to the repository plus permission to write Pages and request an identity token:
permissions: contents: read pages: write id-token: writeBuild the site, upload dist/ with the official Pages artifact action, and
deploy it with the official Pages deploy action. Use GitHub’s github-pages
environment so the deployment URL and protection rules remain visible in the
repository.
For an organization or user site, keep base: "/". For a project site served
at https://owner.github.io/repository/, configure both Astro and Tasty Docs
with base: "/repository/".
Custom domains
Set Astro’s canonical site and Tasty Docs metadata to the same HTTPS origin:
export default defineConfig({ site: "https://docs.example.com", integrations: [ tastyDocs({ config: { site: { url: "https://docs.example.com" }, }, }), ],});Configure the custom domain in the repository’s Pages settings and point DNS
at the GitHub Pages host. For a custom Actions workflow, GitHub stores the
domain in the Pages settings; a CNAME file in the artifact is ignored and is
not required.
This site is deployed by the repository’s Pages workflow to
tastydocs.tenphi.me with HTTPS enforcement enabled.
Other static hosts
Use the host’s ordinary static-site settings:
- build command:
npm run build - publish directory:
dist - Node.js: 22.14 or newer
If the host serves the site below a path rather than at an origin root, set the
same base in Astro and the build configuration.