This plugin provides several methods of achieving the same thing:
<pre><code>
elements, use <script type="text/plain">
:
<script type="text/plain" class="language-markup">
<p>Example</p>
</script>
<pre class="language-markup"><code><!--
<p>Example</p>
--></code></pre>
This will only work if the code
element contains exactly one comment and nothing else (not even spaces).
E.g. <code> <!-- some text --></code>
and <code>text<!-- more text --></code>
will not work.
View source to see that the following didn’t need escaping (except for </script>
, that does):
The next example uses the HTML-comment method:
Why not use the HTML <template>
tag?
Because it is a PITA to get its textContent
and needs to be pointlessly cloned.
Feel free to implement it yourself and send a pull request though, if you are so inclined.
Can I use this inline?
Not out of the box, because I figured it’s more of a hassle to type <script type="text/plain">
than escape the 1-2 <
characters you need to escape in inline code.
Also inline code is not as frequently copy-pasted, which was the major source of annoyance that got me to write this plugin.