Checks and explanations
siv checks your site on every build, so visitors don't find the mistakes first. Every message says the file, the line and what to do.
A broken link # ↑
$
siv 0.1.31 build 2026-10-15 w42 Thu 04:24
content/my-first-page/index.md:22: error[siv5001 broken-link]: link to /my-cat/ goes nowhere
Build failed: 1 error. Nothing was written to public/.
The message has the file and line, error or warning, a code and a name, and what is wrong. An error stops the build, and the website in public/ stays as it was. A warning doesn't stop the build.
Each code has a help page with an example and the fix:
$
# siv5001 broken-link
An internal link points to an address where nothing is published.
...
What siv checks # ↑
- links between your pages, and links to anchors, like
#tables - links to drafts, which won't be published
- dates, front matter and settings
- HTML elements left open or closed twice, the same id twice
- images without a description or a size
- links without text, which screen readers can't name
- CSS with a missing
{or} - invisible characters, like zero-width spaces
- JPEG files published with the camera's GPS location
A wrong weekday in a date is an error too, with the right one:
content/my-first-page/index.md:3:25: error[siv2201 date]: 2026-10-15 is w42 Thu, not w42 Fri
Every code: siv help codes.
Check without building # ↑
$
Checks OK.
With a file, siv check content/my-first-page/index.md shows only the messages about that file. Editors can run it every time you save, and jump to the line: Editors.
Turn a check off # ↑
Most checks can be turned off, or made a warning or an error, by name. In siv.toml:
[checks]
dotfile = "off"
url-name = "error"
Or for one folder and everything below it, in the folder's index.md:
[recursive.checks]
dotfile = "off"
What is this file? # ↑
siv explain tells what a file is, what uses it and where it goes:
$
content/my-first-page/index.md — page source
Published at /my-first-page/
Output public/my-first-page/index.html
Template templates/page.html
Language en
Front matter:
title "My first page" page title
published "2026-10-15 w42 Thu 04:13" publication date, optionally with time
Code blocks without a language name:
line 17: guessed linuxcli
It also explains folders, templates, settings and addresses:
siv explain the current folder
siv explain templates/page.html which pages use the template
siv explain siv.toml every setting and its value
siv explain /my-first-page/ an address: its source and template
Other tools # ↑
siv stats a report of the site: pages, images, words
siv fmt tidies the front matter of every page
siv util vitag edit the tags of every page at once, in an editor
siv config lists every setting, or changes one
Every command: Reference.
Next: Editors