When IkiWiki uses discount to implement mdwn rendering, there is a workaround for https://rt.cpan.org/Ticket/Display.html?id=74016:
$t=~s/<style/<elyts/ig;
my $r=Text::Markdown::Discount::markdown($t);
$r=~s/<elyts/<style/ig;
However, this workaround also applies to indented text or text in backticks:
if you write there is a bug involving the `<style>` tag
,
or use indentation like
you can use this markup:
<style type="text/css">...</style>
then that gets turned into <elyts
in the source before passing through
markdown
, comes out as <elyts
in the output HTML, and is rendered
as <elyts
by the browser. This makes it quite difficult to talk about
HTML stylesheet markup on an IkiWiki instance (I had to use raw HTML in
this bug report's source to avoid the bug).
I think the side-effect of the workaround is more damaging than the actual bug being worked around: I've never wanted to write inline style tags in the body of a Markdown page (which isn't even valid HTML) but I have certainly wanted to discuss style markup several times. The first couple of times I saw this happen, I thought it was some sort of misguided anti-cross-site-scripting filter...
--smcv
Fixed by passing the
MKD_NOSTYLE
flag to Discount instead. Unfortunately this isn't bound by Text::Markdown::Discount yet, so for now I'm hard-coding its numeric value. --smcv