Reference

Commands

Every hotdog-cms command and its options, in one place.

Run any command with -h for its options: hotdog-cms serve -h. Options go before other words: hotdog-cms new -name "My site" mysite, not after.

hotdog-cms version: the version, the license and where the source code is

Making and looking at sites

hotdog-cms new FOLDER

Start a site from the template. -name sets the site's name (default: the folder's name).

hotdog-cms serve

Preview the site, rebuilding as you save.

Option Default Meaning
-addr 127.0.0.1:8140 Where to listen.
-site . The site's folder.
-drafts true Include pages marked draft: true.
-reload true Reload the browser on changes.
-endpoint A running endpoint to pass /_hotdog/ to, such as http://127.0.0.1:8180.

hotdog-cms build

Write the finished site to public/. -site, -out (where to write it) and -drafts (include drafts; off by default).

hotdog-cms check

Build, then check every page. Exits with 1 if there are errors. -site, -out, -drafts, and:

  • -fix: say under each finding what usually puts it right;
  • -csp: also print the Content-Security-Policy the pages need.

Publishing

hotdog-cms publish TARGET…

Build, check, then publish to targets in publish.yaml.

Option Meaning
-all Publish to every target in the file.
-no-build Publish the build already in public/.
-targets The targets file (default publish.yaml in the site); keep it outside the repository if it names servers.
-site The site's folder.

hotdog-cms pull

On a web server: publish from git when the branch moves. See The pull agent.

-repo (required), -out (required), -branch (default main), -every (keep checking at this interval; 0 checks once), -subdir, -cache, -hook (listen for webhooks; needs HOTDOG_HOOK_SECRET), -indexnow, -platform.

hotdog-cms preview

Build every branch as it would be published, each at its own address. See Previews.

-repo (required), -addr (default 127.0.0.1:8160; anything else needs HOTDOG_PREVIEW_AUTH), -domain (default localhost), -scheme, -port, -branches (patterns such as main,draft/*), -every (default 30s), -drafts (default true), -frame, -root, -subdir, -platform.

hotdog-cms ci PLATFORM

Write the pipeline file for github, gitlab, gitea, forgejo, bitbucket, woodpecker, or git (a post-receive hook). -write puts it in the repository (otherwise it's printed); -branch is the publishing branch (default main); -site is the site's folder within the repository.

Bringing sites in

hotdog-cms import FROM

From Required Notes
wordpress -url -user for drafts and private posts, with HOTDOG_WP_PASSWORD.
wxr -file A WordPress export. -url for pictures linked relative to the old site.
ghost -file, -url A Ghost export, and the old site's address for pictures.
hugo -from -rename sections, as from=to (default posts=articles).
jekyll -from

All take -site, -posts (the collection posts go into, default articles) and -overwrite. See Moving from another tool.

Packs

hotdog-cms pack

add [-force] <name|folder|git-url[@tag]>, remove <name>, list, check <name|folder|git-url>. Each takes -site DIR before its argument. See Packs.

Servers

hotdog-cms editor

The editor. -config (default editor.yaml). See The editor.

hotdog-cms endpoint

Forms and search. -config (default endpoint.yaml). See Forms and search on your server.

Secrets

Never options, always from the environment, so they don't end up in scripts, shell history or the list of running programs:

Variable For
HOTDOG_GIT_TOKEN, HOTDOG_GIT_USER Cloning private repositories over HTTPS.
HOTDOG_HOOK_SECRET Checking push webhooks (preview, pull -hook).
HOTDOG_FORGE_TOKEN Posting preview links on pull requests.
HOTDOG_PREVIEW_AUTH user:password for a preview server listening beyond your own computer.
HOTDOG_WP_PASSWORD A WordPress Application Password, for import wordpress -user.
HOTDOG_EDITOR_SECRET Sealing editor sign-ins (at least 32 characters).
HOTDOG_FORM_SECRET Signing form tokens (the same on every endpoint for a site).
HOTDOG_SMTP_PASSWORD The endpoint's email password.
HOTDOG_TURNSTILE_SECRET Checking Cloudflare Turnstile on forms that use it.

hotdog-cms version

The version, the license, and where the source code is.