Everything between {ignore} and {/ignore} is written out as it
stands: the characters PAD reads as syntax - { } | = , @ - are swapped for
stand-ins before the engine looks at the content, and turned back into the real characters
when the page is written. Nothing inside runs: no tag, no field. A comment is the exception -
comments are dropped before the template is scanned, so one inside the pair is gone too.
It is what inline code with braces needs. A <script> with an object
literal, a <style> with its selector blocks, a JSON sample in a
<pre> - without {ignore} each { ... } would be
read as a tag, and the strict check would report it. External files are better still; the
pair is for the few lines that belong in the page.
The same protection comes in two more forms. The ignore option on any tag wraps
that tag's content in {ignore}: {data 'config' ignore},
{markdown ignore}. The ignore pipe escapes a value:
{echo $json | ignore}. For a single brace in text,
{open} and {close}
are enough. {highlight} takes its content as it
stands too, so a coloured code sample needs no {ignore}.
An {ignore} without its {/ignore} protects nothing; the strict
check names it rather than blaming some tag inside.