add getsetup
authorJoey Hess <joey@kodama.kitenet.net>
Fri, 25 Jul 2008 21:52:00 +0000 (17:52 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Fri, 25 Jul 2008 21:52:00 +0000 (17:52 -0400)
Also, avoid dying with a fatal error if multimarkdown is enabled and the
module doesh't load.

IkiWiki/Plugin/mdwn.pm

index 11f3f0137627643fe285e0464b59b2e0086b3f88..920d90e5e5eb8f81abf8560f402cd8d849e4c72b 100644 (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')) {