mdwn: Make flags passed to libdiscount explicit

The Perl binding defaults to MKD_NOHEADER|MKD_NOPANTS anyway, but
making them explicit means we can use other flags of our choice,
and makes it easier to justify why those flags are appropriate.
master
Simon McVittie 2017-05-14 17:34:12 +01:00
parent 60cb2ac458
commit 5d65c1ad2c
1 changed files with 13 additions and 1 deletions

View File

@ -64,14 +64,26 @@ sub htmlize (@) {
if (! $@) { if (! $@) {
$markdown_sub=sub { $markdown_sub=sub {
my $t=shift; my $t=shift;
# Workaround for discount binding bug # Workaround for discount binding bug
# https://rt.cpan.org/Ticket/Display.html?id=73657 # https://rt.cpan.org/Ticket/Display.html?id=73657
return "" if $t=~/^\s*$/; return "" if $t=~/^\s*$/;
my $flags=0;
# Disable Pandoc-style % Title, % Author, % Date
# Use the meta plugin instead
$flags |= Text::Markdown::Discount::MKD_NOHEADER();
# Disable Unicodification of quote marks, em dashes...
# Use the typography plugin instead
$flags |= Text::Markdown::Discount::MKD_NOPANTS();
# Workaround for discount's eliding # Workaround for discount's eliding
# of <style> blocks. # of <style> blocks.
# https://rt.cpan.org/Ticket/Display.html?id=74016 # https://rt.cpan.org/Ticket/Display.html?id=74016
$t=~s/<style/<elyts/ig; $t=~s/<style/<elyts/ig;
my $r=Text::Markdown::Discount::markdown($t); my $r=Text::Markdown::Discount::markdown($t, $flags);
$r=~s/<elyts/<style/ig; $r=~s/<elyts/<style/ig;
return $r; return $r;
} }