]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
improved docs, add a tutorial for writing plugins
[ikiwiki.git] / IkiWiki.pm
index 0af4a4fe9303f292977294a8de5ec88d5ddf7d24..7c35ce2b5598a6ad40f8e290337309c9782e87fb 100644 (file)
@@ -160,11 +160,20 @@ sub loadplugin ($) { #{{{
 
        return if grep { $_ eq $plugin} @{$config{disable_plugins}};
 
+       foreach my $dir ($config{libdir}, "$installdir/lib/ikiwiki") {
+               if (defined $dir && -x "$dir/plugins/$plugin") {
+                       require IkiWiki::Plugin::external;
+                       import IkiWiki::Plugin::external "$dir/plugins/$plugin";
+                       return 1;
+               }
+       }
+
        my $mod="IkiWiki::Plugin::".possibly_foolish_untaint($plugin);
        eval qq{use $mod};
        if ($@) {
                error("Failed to load plugin $mod: $@");
        }
+       return 1;
 } #}}}
 
 sub error ($;$) { #{{{
@@ -1041,7 +1050,7 @@ sub pagespec_translate ($) { #{{{
                |
                        \)              # )
                |
-                       \w+\([^\)]+\)   # command(params)
+                       \w+\([^\)]*\)   # command(params)
                |
                        [^\s()]+        # any other text
                )