add getsetup

Also, avoid dying with a fatal error if multimarkdown is enabled and the
module doesh't load.
master
Joey Hess 2008-07-25 17:52:00 -04:00
parent bf6198baf3
commit cf6c2f142f
1 changed files with 14 additions and 2 deletions

View File

@ -7,9 +7,21 @@ use strict;
use IkiWiki 2.00;
sub import { #{{{
hook(type => "getsetup", id => "mdwn", call => \&getsetup);
hook(type => "htmlize", id => "mdwn", call => \&htmlize);
} # }}}
sub getsetup () { #{{{
return
multimarkdown => {
type => "boolean",
default => 0,
description => "enable use of multimarkdown features",
safe => 1,
rebuild => 1,
},
} #}}}
my $markdown_sub;
sub htmlize (@) { #{{{
my %params=@_;
@ -25,13 +37,13 @@ sub htmlize (@) { #{{{
if (exists $config{multimarkdown} && $config{multimarkdown}) {
eval q{use Text::MultiMarkdown};
if ($@) {
error(gettext("multimarkdown is enabled, but Text::MultiMarkdown is not installed"));
debug(gettext("multimarkdown is enabled, but Text::MultiMarkdown is not installed"));
}
$markdown_sub=sub {
Text::MultiMarkdown::markdown(shift, {use_metadata => 0});
}
}
else {
if (! defined $markdown_sub) {
eval q{use Text::Markdown};
if (! $@) {
if (Text::Markdown->can('markdown')) {