mix markdown with HTML more correctly
[ikiwiki.git] / doc / bugs / escaped_style_tag_becomes_elyts.mdwn
1 When IkiWiki uses discount to implement [[plugins/mdwn]] rendering,
2 there is a workaround for <https://rt.cpan.org/Ticket/Display.html?id=74016>:
3
4 <pre><code>$t=~s/&lt;style/&lt;elyts/ig;
5 my $r=Text::Markdown::Discount::markdown($t);
6 $r=~s/&lt;elyts/&lt;style/ig;
7 </code></pre>
8
9 However, this workaround also applies to indented text or text in backticks:
10 if you write <code>there is a bug involving the \`&lt;style&gt;\` tag</code>,
11 or use indentation like
12
13 <pre><code>you can use this markup:
14
15     &lt;style type="text/css"&gt;...&lt;/style&gt;
16 </code></pre>
17
18 then that gets turned into `&lt;elyts` in the HTML too. This makes it quite
19 difficult to talk about HTML on an IkiWiki instance (I had to use raw HTML in
20 this bug report's source to avoid the bug).
21
22 I think the side-effect of the workaround is more damaging than the actual bug
23 being worked around: I've never wanted to write inline style tags in the body of
24 a Markdown page (which isn't even valid HTML) but I have certainly wanted to
25 discuss style markup several times. The first couple of times I saw this happen,
26 I thought it was some sort of misguided anti-cross-site-scripting filter...
27
28 --[[smcv]]