aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-05-13 12:43:25 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-05-13 12:43:25 -0400
commitfba4a198b58bdfb33590bda5eaf89bf96ed60099 (patch)
tree433736214267b6d5e4d13b0ca5a07759220ef302 /IkiWiki
parentd06e4c2c3310dbca56110210bf5b89f538731106 (diff)
downloadikiwiki-fba4a198b58bdfb33590bda5eaf89bf96ed60099.tar
ikiwiki-fba4a198b58bdfb33590bda5eaf89bf96ed60099.tar.gz
mdwn: Add a multimarkdown setup file option.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/mdwn.pm27
1 files changed, 19 insertions, 8 deletions
diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm
index 2ffe7bc3e..11f3f0137 100644
--- a/IkiWiki/Plugin/mdwn.pm
+++ b/IkiWiki/Plugin/mdwn.pm
@@ -17,15 +17,19 @@ sub htmlize (@) { #{{{
if (! defined $markdown_sub) {
# Markdown is forked and splintered upstream and can be
- # available in a variety of incompatible forms. Support
- # them all.
+ # available in a variety of forms. Support them all.
no warnings 'once';
$blosxom::version="is a proper perl module too much to ask?";
use warnings 'all';
- eval q{use Markdown};
- if (! $@) {
- $markdown_sub=\&Markdown::Markdown;
+ if (exists $config{multimarkdown} && $config{multimarkdown}) {
+ eval q{use Text::MultiMarkdown};
+ if ($@) {
+ error(gettext("multimarkdown is enabled, but Text::MultiMarkdown is not installed"));
+ }
+ $markdown_sub=sub {
+ Text::MultiMarkdown::markdown(shift, {use_metadata => 0});
+ }
}
else {
eval q{use Text::Markdown};
@@ -38,11 +42,18 @@ sub htmlize (@) { #{{{
}
}
else {
- do "/usr/bin/markdown" ||
- error(sprintf(gettext("failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"), $@, $!));
- $markdown_sub=\&Markdown::Markdown;
+ eval q{use Markdown};
+ if (! $@) {
+ $markdown_sub=\&Markdown::Markdown;
+ }
+ else {
+ do "/usr/bin/markdown" ||
+ error(sprintf(gettext("failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"), $@, $!));
+ $markdown_sub=\&Markdown::Markdown;
+ }
}
}
+
require Encode;
}