diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm index 254ab51d0..1520b3eec 100644 --- a/IkiWiki/Plugin/mdwn.pm +++ b/IkiWiki/Plugin/mdwn.pm @@ -41,6 +41,8 @@ sub htmlize (@) { #{{{ require Encode; } + my $oneline = $content !~ /\n/; + # Workaround for perl bug (#376329) $content=Encode::encode_utf8($content); eval {$content=&$markdown_sub($content)}; @@ -50,6 +52,13 @@ sub htmlize (@) { #{{{ } $content=Encode::decode_utf8($content); + if ($oneline) { + # hack to get rid of enclosing junk added by markdown + $content=~s!^
!!; + $content=~s!
$!!; + chomp $content; + } + return $content; } # }}} diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index 42fddb0bb..d2c6e7f8b 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -46,18 +46,10 @@ sub scrub ($) { #{{{ sub htmlize ($$$) { #{{{ my $page = shift; my $destpage = shift; - my $text = shift; - $text=IkiWiki::htmlize($page, pagetype($pagesources{$page}), + return IkiWiki::htmlize($page, pagetype($pagesources{$page}), IkiWiki::linkify($page, $destpage, - IkiWiki::preprocess($page, $destpage, $text))); - - # hack to get rid of enclosing junk added by markdown - $text=~s!^!!; - $text=~s!
$!!; - chomp $text; - - return $text; + IkiWiki::preprocess($page, $destpage, shift))); } sub preprocess (@) { #{{{ @@ -184,7 +176,7 @@ sub preprocess (@) { #{{{ } elsif ($key eq 'link') { if (%params) { - $meta{$page}.=scrub("!!; - $text=~s!$!!; - chomp $text; - - return $text; + return IkiWiki::htmlize($page, pagetype($pagesources{$page}), + IkiWiki::preprocess($page, $destpage, shift)); } 1 diff --git a/debian/changelog b/debian/changelog index 3bebe7f25..ee2ecc4d5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,10 @@ ikiwiki (2.20) UNRELEASED; urgency=low * template: Remove bogus htmlize pass added in 2.16. * template: Htmlize template variables, but also provide a raw version via `