gramr collects every problem of a step before stopping, so one run reports them all. When in doubt, it fails: an error means nothing was built or pushed.

Configuration

SituationResult
Invalid configuration, unknown keyerror
Site repository with both path and url, or neither, or url without referror
No source.path in the site nor in the global configurationerror
image.name with a tag or a digesterror
gramr.toml missing at the root of the site repositoryerror

Notes

SituationResult
Note without front matter, or without gramrignored
Note with gramr but without publishignored
Invalid gramr block, even for another siteerror
Front matter that is not valid YAMLwarning, note skipped (gramr cannot know whether it targets it)
Unknown site in gramr.sitewarning
Unlisted note without token, or with an invalid oneerror
slug, path or url on an unlisted noteerror
No slug, no title and a file name that gives an empty slugerror
SituationResult
Link matching several fileserror: use a path, e.g. [[Folder/Index]]
Link to a missing, unpublished or (from a public page) unlisted noteremoved, listed by --dry-run
Block reference ([[Note#^block]])warning, linked to the page
Unclosed commentwarning, rest of the note removed

Before writing

SituationResult
Section without _index.md in the site repositoryerror: create the section in the site
Two pages or attachments for the same file (same slug, same token)error. File names are compared case-insensitively.
Page that would overwrite a file of the site repository (content/notes/about.md, a section's _index.md)error