GitHub Pages
GitHub Pages hosts a static site next to its source, free for public repositories, and since deployments from Actions artifacts it publishes the output of any generator rather than only Jekyll. The guides below cover publishing Hugo, Astro, Eleventy, Jekyll and VitePress through one reusable workflow, getting base paths right for project sites, and moving to a custom domain with enforced HTTPS.
Pages has gaps compared with commercial static hosts, and two guides work around the most felt of them: it has no pull request previews, so one guide adds them through a second host or a second Pages site, and it cannot set response headers, which shapes how the other guides handle redirects and security.
Choosing the Right Static Site Generator for Production
- Custom Domains and HTTPS for Jekyll on GitHub PagesHow-toPoint a custom domain at a Jekyll site on GitHub Pages, get HTTPS enforced, fix certificate and DNS errors, and keep url and baseurl correct in _config.yml.
- Deploying Jekyll with GitHub ActionsHow-toReplace the classic GitHub Pages Jekyll builder with a GitHub Actions workflow: any plugin, any Jekyll version, caching, previews and Pages deployment.
- Running Jekyll on GitHub Pages Without PluginsHow-toThe allowlist blocks most gems. Replace plugin behaviour with Liquid, data files and a build step — or take the Actions route and keep the plugins you actually need.
Production-Ready Deployment & CI/CD for SSGs
- Deploying to GitHub Pages with ActionsHow-toDeploy any static site generator to GitHub Pages with the official Actions workflow: artifacts, base paths, custom domains and what Pages cannot do.
- Publishing Any Generator to GitHub Pages With ActionsHow-toOne reusable GitHub Actions workflow that publishes Hugo, Astro, Eleventy, Jekyll or VitePress sites to GitHub Pages, with base paths, caching and a 404 page.
- Pull Request Previews for GitHub Pages SitesHow-toGive a GitHub Pages site a preview per pull request: deploy builds to a preview host or a subfolder, comment the URL, handle base paths and clean up on close.
Often used with GitHub Pages
- Jekyll3 shared guidesPlugins, reproducible builds, upgrades and migration away.
- GitHub Actions3 shared guidesCaching, matrix builds, reusable workflows and pinning.