Migrate all 17 docs/content/ files from --- YAML to +++ TOML frontmatter delimiters and key = value syntax. Update 8 embedded frontmatter examples in 7 documentation pages to match (configuration, content-organization, getting-started, security, sections, sitemap, feeds, templates). Update configuration.md frontmatter reference table: add draft and aliases fields, correct date type from string to date.
2.0 KiB
+++ title = "Deployment" description = "Deploy your sukr site to any static hosting platform" weight = 1 +++
sukr builds your site to public/. This directory contains self-contained static HTML, CSS, and assets — no server-side runtime needed. Upload it anywhere that serves static files. If you haven't built a site yet, start with the Getting Started guide.
Local Preview
Preview your site locally before deploying:
cd public
python3 -m http.server 8000
Open http://localhost:8000 in your browser.
GitHub Pages
- Push your repository to GitHub
- Build your site:
sukr - Deploy the
public/directory using one of:- GitHub Actions — add a workflow that runs
sukrand deployspublic/to Pages - Manual — push the
public/contents to agh-pagesbranch
- GitHub Actions — add a workflow that runs
Example workflow (.github/workflows/deploy.yml):
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: cargo install --path .
- run: sukr
- uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
Netlify
- Connect your repository in the Netlify dashboard
- Set build command:
cargo install --path . && sukr - Set publish directory:
public
Netlify detects changes and rebuilds automatically on push.
Cloudflare Pages
- Connect your repository in the Cloudflare Pages dashboard
- Set build command:
cargo install --path . && sukr - Set build output directory:
public
Any Static Host
For any host that serves static files (S3, DigitalOcean Spaces, a VPS):
sukr
rsync -avz public/ user@server:/var/www/mysite/
Or use scp, aws s3 sync, or your host's CLI tool.
Security Headers
sukr outputs zero JavaScript, which means you can set a strict Content Security Policy that blocks all script execution. See Security for recommended CSP headers and platform-specific configuration.