Mistakes Keystone can't catch
Keystone checks your document after Pandoc has read your Markdown into a document tree. A mistake that stops Pandoc from building an element in the first place leaves nothing for Keystone to inspect — so it passes through silently and leaks into your book. Knowing this boundary matters as much as knowing the checks.
Malformed fences
A fenced div needs three or more colons. Type two and it isn't a fence at all — Pandoc sees plain text, no element is created, and the line prints verbatim in your book:
:: vspace size="medium" ::
No warning, no error — the literal text :: vspace size="medium" :: appears on
the page. Keystone never saw a vspace.
Unclosed spans
The same applies to a bracketed span you forget to close. Pandoc treats the stray
[ as ordinary text; no span is created, nothing is flagged:
Here is [an unclosed span with no closing bracket, so it stays literal.
The one that is caught
An unclosed div — an opened ::: with no close — is the
single structural slip Pandoc reports, with a line number. Every other
structural mistake is silent.
What fills the gap
Because these slip through, two habits do the checking Keystone can't:
- Always close your fences and brackets — every
:::opener needs its closer; every[needs its]. - Turn on strict mode before you publish — it turns the mistakes Keystone does catch as warnings into hard stops, so a clean strict build is a real signal.