+[…]
+----
+
+Vale config:
+
+.vale.ini
+[source,ini]
+----
+[…]
+IgnoredClasses = my-vale-ignore-class
+[…]
+----
+
+Resulting Vale output:
+
+[source,]
+----
+ 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms
+ 8:15 suggestion 'FUBAR' has no definition. Microsoft.Acronyms
+----
+
+So—pretty simple, and effective.
+The only issue I see with this is that you can't granularly target different Vale rules—it's either on, or off.
+
+== Now the fiddly one: Pass-through config with HTML comments
+
+The idea here is that you use Asciidoc's https://docs.asciidoctor.org/asciidoc/latest/pass/pass-macro/#inline-pass[inline `pass` macro] to embed HTML comments (``) in the generated HTML, which then passes the commands to Vale like `vale off`:
+
+Here's what I tried originally:
+
+.test-option2a.adoc
+[source,asciidoc,linenums]
+----
+= Test doc
+
+This line has an acronym: NAT
+
+pass:[]
+Let's not lint this one: KVM
+pass:[]
+
+But not this one: FUBAR
+----
+
+and got dismayed when my Vale output was:
+
+[source,]
+----
+ 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms
+ 6:19 suggestion 'KVM' has no definition. Microsoft.Acronyms
+ 9:15 suggestion 'FUBAR' has no definition. Microsoft.Acronyms
+----
+
+The generated HTML does show the comments:
+
+[source,html]
+----
+[…]
+
+
+
This line has an acronym: NAT
+
+
+
+Let's not lint this one: KVM
+
+
+
+
But not this one: FUBAR
+
+[…]
+----
+
+So I was stumped, until I started randomly jiggling things (and, to be fair, looking more closely at the Vale documentation itself) and noticed a difference between the effectiveness of
+
+[source,asciidoc,linenums]
+----
+pass:[]
+Let's not lint this one: KVM
+pass:[]
+----
+
+compared to
+
+[source,asciidoc,linenums]
+----
+pass:[]
+Let's not lint this one: KVM
+<1>
+pass:[]
+----
+<1> An innocuous blank line!
+
+Putting these two into a test doc:
+
+.test-option2b.adoc
+[source,asciidoc,linenums]
+----
+= Test doc
+
+This line has an acronym: NAT
+
+pass:[]
+Let's not lint this one: KVM
+pass:[]
+
+pass:[]
+Let's not lint this one too: SNAFU
+
+pass:[]
+
+But not this one: FUBAR
+----
+
+Here's the Vale output:
+
+[source,]
+----
+ 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms
+ 6:26 suggestion 'KVM' has no definition. Microsoft.Acronyms
+ 14:19 suggestion 'FUBAR' has no definition. Microsoft.Acronyms
+----
+
+Notice how the first one doesn't work, but the second one (`SNAFU`) with the line break before `vale on` does?
+
+What about this?
+
+.test-option2c.adoc
+[source,asciidoc,linenums]
+----
+= Test doc
+
+This line has an acronym: NAT
+
+pass:[]
+Let's not lint this one: KVM
+
+Let's not lint this one too: SNAFU
+----
+
+Vale is happy with that:
+
+[source,]
+----
+ 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms
+----
+
+Let's take a look at the HTML generated by `test-option2b.adoc`:
+
+[source,html]
+----
+
+
+
This line has an acronym: NAT
+
+
+
+Let’s not lint this one: KVM
+
<1>
+
+
+
+Let’s not lint this one too: SNAFU
+
+
+
+
But not this one: FUBAR
+
+
+----
+<1> `vale on` is within the `
` tags
+<2> `vale on` is _outside_ the `
` tags
+
+So what seems to be happening is that Vale is parsing the whole of the paragraph (`
`) contents and applying the configuration to it—so if it has an `off` and then `on`, the two cancel out and thus the effect is nullified.
+
+Pass-through configuration *is* more flexible, because rather than just turning Vale on and off, you can target individual rules. As above—don't just ignore rules if they're inconvenient (they're called rules for a reason), but if you have a good reason to make an exception, you can do this:
+
+.test-option3.adoc
+[source,asciidoc,linenums]
+----
+= Test doc
+
+This line has an acronym: NAT
+
+pass:[]
+This should trigger one rule violation for do not, but ignore the acronym: BHAG
+
+pass:[]
+
+pass:[]
+This should not trigger a rule violation for do not, nor for the acronym: GTFO
+
+pass:[]
+
+We'll catch this acronymn tho: FUBAR
+----
+
+Vale output is as expected:
+
+[source,]
+----
+ 3:27 suggestion 'NAT' has no definition. Microsoft.Acronyms
+ 6:44 error Use 'don't' instead of 'do Microsoft.Contractions
+ not'.
+ 15:32 suggestion 'FUBAR' has no definition. Microsoft.Acronyms
+----
+----