aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/mdwn.pm
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-10 04:11:58 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-10 04:11:58 +0000
commitcade16fbb6df5b1374f28a393ef9bf2b715c143b (patch)
tree868cc0587c9c1b3469f8d52766b1e6c94e66e78a /IkiWiki/Plugin/mdwn.pm
parent3ed1116c11eb5fb13d1f011535f7f0f4c8961c83 (diff)
downloadikiwiki-cade16fbb6df5b1374f28a393ef9bf2b715c143b.tar
ikiwiki-cade16fbb6df5b1374f28a393ef9bf2b715c143b.tar.gz
* Improve markdown loading. First, try to load it as a properl perl module,
in case it was installed as one. Then fall back to trying /usr/bin/markdown. * Document in install page how to install markdown, since it has no installation procedure in the upstream tarball.
Diffstat (limited to 'IkiWiki/Plugin/mdwn.pm')
-rw-r--r--IkiWiki/Plugin/mdwn.pm14
1 files changed, 11 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/mdwn.pm b/IkiWiki/Plugin/mdwn.pm
index c1f978ad3..8e037f5de 100644
--- a/IkiWiki/Plugin/mdwn.pm
+++ b/IkiWiki/Plugin/mdwn.pm
@@ -10,16 +10,24 @@ sub import { #{{{
IkiWiki::hook(type => "htmlize", id => "mdwn", call => \&htmlize);
} # }}}
+my $markdown_loaded=0;
sub htmlize ($) { #{{{
my $content = shift;
- if (! $INC{"/usr/bin/markdown"}) {
- # Note: a proper perl module is available in Debian
+ if (! $markdown_loaded) {
+ # Note: This hack to make markdown run as a proper perl
+ # module. A proper perl module is available in Debian
# for markdown, but not upstream yet.
no warnings 'once';
$blosxom::version="is a proper perl module too much to ask?";
use warnings 'all';
- do "/usr/bin/markdown" || IkiWiki::error("failed to load /usr/bin/markdown: $!");
+
+ eval q{use Markdown};
+ if ($@) {
+ do "/usr/bin/markdown" ||
+ IkiWiki::error("failed to load Markdown.pm perl module ($@) or /usr/bin/markdown ($!)");
+ }
+ $markdown_loaded=1;
require Encode;
}