Reference
Every command, setting and front matter key, in one place. The full details are inside siv: siv help TOPIC.
Commands # ↑
siv What to do next
siv init NAME Create a project from a starter
--starter minimal Which starter: minimal or kitchen-sink
siv new "Title" Create a page: content/title/index.md
siv new boats/tugboat Create a page in a folder
siv preview Show the site on localhost while you write
--port 8888 First port to try
--bind 0.0.0.0 Listen on all interfaces (default localhost)
siv build Build the website into public/
--strict Exit with code 2 if there are warnings
--drafts Include pages marked draft = true
siv check [FILE] Run the checks, write nothing
siv explain [-r] [PATH] Explain files, folders and addresses
siv explain --vars PATH Values a template sees
siv clean Delete the cache, .siv/cache/
siv config List every setting and where it comes from
siv config KEY VALUE Change a setting in siv.toml
siv fmt [--check] Tidy front matter
siv stats A report about the site
siv import hugo DIR [NAME] Create a project from a Hugo site
siv help [TOPIC|CODE] Documentation
siv help --dump-all Every help page as one text, for grep
Tools:
siv util archive PAGE [YEAR] [LABEL] a dated edition of a page
siv util insert NAME [PAGE] insert a snippet from skel/snippets/
siv util imgtest FILE compare image qualities by eye
siv util vitag edit the tags of all pages at once
siv util lang [PAGE...] write detected languages into pages
siv util chooseimg [DIR] print Markdown for an image
siv util completion bash|zsh Tab completion for the shell
siv util micro settings for the micro editor
Every command works anywhere inside the project: siv finds siv.toml in the folder or the folders above it. Exit codes: 0 success, 1 errors, 2 warnings with --strict.
Settings # ↑
Settings are in siv.toml. siv config lists every one, with its value and where the value comes from. Change one with siv config KEY VALUE, or edit the file.
title the site's title
base-url the site's address: needed for the feed and sitemap
lang the default language of pages, like "en"
autodetect-lang languages siv may detect, like ["en", "fi"]
links how links are written: relative, root, absolute or file
hints next-step hints: all, pro or off
timezone for the feed, like "Europe/Helsinki"
text-width width of the text column, in em
wide-width width of {.wide} images, in em
image-widths sizes of AVIF images, in pixels
fallback-widths sizes of JPEG and PNG images
avif-quality 1-100
jpeg-quality 1-100
autodetect-code-lang guess the language of code blocks
verbatim files copied byte for byte
dotfiles dotfiles that are published, like [".well-known"]
[keys] your own front matter keys and their defaults
[checks] turn checks off, or make them errors
Front matter # ↑
title the page title
published the date, optionally with a time
updated the date of the last real update
tags a list of tags
lang the page's language, like "fi"
summary-lang the language of the summary, if different
cover an image for lists of pages
template the template, like "list.html"
allow-templating true lets the text use template code
skel the skeleton for new pages below (in [recursive])
aliases old addresses that lead here
draft true: shown in preview only
listed false: left out of lists
in-feed false: left out of the feed
archived, edition set on dated copies by siv util archive
for-each make a page for each value, like each tag
verbatim files copied byte for byte
[recursive] settings for this folder and everything below
[checks] turn checks off for this page
[recursive] settings apply to the folder's page and everything below it. What is written closer to the page wins: the command line, then the page, then the nearest folder, then folders further up, then siv.toml.
Safety # ↑
siv never runs as root. While it runs, it limits itself with Linux's Landlock: each command can only touch the files it needs, and only the preview may use the network, for its own port. Even a bug, or a malicious template, can't read your other files or send them anywhere.
Sandbox landlock (files and network)
For a second sandbox, any command runs inside bubblewrap with --bwrap. Details: siv help security.
Your website is yours # ↑
siv is free software, licensed GPL-3.0-or-later. That license does not extend to your website. The files siv init makes, the pages you write and everything siv build writes are yours to use, change, publish and license however you like. Details: siv help license.
All help topics # ↑
$
lists every topic. To read or search all of it at once:
$