Built with Chinaski

Guides & Recipes

Step-by-step walkthroughs for common goals, written as reach-your-goal recipes rather than feature documentation. Each guide exists as a complete walk-through; the sublinked pages cover the underlying references.

Migration

  • Migrate from WordPress: the verified paths that work today: Markdown-with-front-matter import, JSON/CSV round-trips, or the REST API bulk endpoints; media re-upload; redirect-export handling; the list of what doesn’t migrate automatically.

Multilingual

  • Set Up a Multilingual Site: the actual decision order: languages → URL mode → permalinks → per-language menus/copy, with the language-removal rules.

Deployment

  • Custom Domain & TLS: pointing DNS, serving TLS (automatic in Caddy; certbot in nginx), and matching the proxy to the CMS bind.
  • Deploy to Caddy: the shipped Caddyfile adapted per instance, including the redirect-include and cache policy.
  • Deploy to nginx: the three placeholders, the two must-proxy routes, the root sync.
  • Deploy to Netlify: publishing the static output to Netlify, with the _redirects caveat.

Content recipes

  • Set Up a Blog: the posting defaults to set before the first post (permalinks, posts per page, feed).
  • Add a Contact Form: form creation → embed (or standalone URL) → SMTP (and optionally Turnstile) → submission testing; mail/webhook settings live on the forms pages.
  • Build a Theme from Scratch: the recommended route (clone, then customize, then activate) and where the authoring toolkit lives.

Identity

  • Set Up SSO: putting an OAuth/OIDC identity provider in front of admin sign-in, the fields to configure, and how new accounts behave.

What guides assume

  • Getting Started is done: the instance is installed, the setup password changed, and the admin reachable.
  • Guides narrow, not replace, the reference: every step points at the reference page that documents the values it sets. When a guide and a reference ever disagree, the reference is the fact.

Also in Guides & Recipes

Migrate from WordPress using Chinaski's real import paths: Markdown with front matter, what is unsupported, and a practical order of work.

Move from a single-language site to multilingual publishing: enable languages, set the default, structure URLs, and author and translate each locale.

Point your domain at your server in four steps: DNS records, the canonical Site URL, the reverse proxy, and a TLS check.

Set up a working blog in Chinaski: choose the post URL prefix, write and organize posts and categories, tune the index page, and enable the feed.

Create a contact form with fields in the admin, place it on a page with a form block, and see what happens after a visitor submits.

Build a Chinaski theme end to end: clone a starter, generate one with Claude, or copy the site templates, then wire blocks and menus and test.

Publish Chinaski's built output to Netlify: the _redirects file the builder writes, and the two caveats to check before shipping there.

Deploy Chinaski behind Caddy: prerequisites, adapting the shipped Caddyfile example, the per-site block for static output, and the redirect snippet.

A production recipe for running a Chinaski site behind nginx: serve static output, proxy dynamic routes to the daemon, add TLS, and sync deploys.

Set up single sign-on with any OAuth 2.0 or OpenID Connect provider: what to register at the provider and which settings to fill in.

Read this site in