Deployment
Inkstead Writer can publish your built site without changing how you write posts or build themes.
Choose a deployment target during inkstead-writer init, or change it later in inkstead-writer.json.
Some publishing targets, such as GitHub Pages and GitLab Pages, run through their matching CI provider. Inkstead Writer checks those combinations when it loads your config.
What Publish Does
./inkstead-writer publish runs the full publishing flow:
- Build the site.
- Deploy the built output.
- Syndicate posts that ask to be syndicated.
- Rebuild and deploy again if syndication added new links to post frontmatter.
That order means social posts can link to pages that are already live.
If you only want to deploy an already-built site, run:
$./inkstead-writer build$./inkstead-writer deployBefore Publishing
When you are ready to publish, check the deployment requirements:
$./inkstead-writer doctorIf doctor reports missing environment variables and you want to publish from your own machine, create a local .env file:
$cp .env.example .envFill in the required values in .env, then run ./inkstead-writer doctor again. If you publish through CI, add the same names from .env.example as secrets or variables in your CI provider instead.
If doctor says a generated workflow differs from Inkstead Writer's current template, run:
$./inkstead-writer migrateThe migrate command updates generated workflow files such as .github/workflows/publish.yml, .gitlab-ci.yml, .forgejo/workflows/publish.yml, and the root ./inkstead-writer command.
Inkstead Writer writes a custom not-found page to 404.html in the build output. Static hosts that support custom 404 files can serve it automatically; Cloudflare Workers deployments use the same file through Workers static asset handling.
Provider guides: