summaryrefslogtreecommitdiff
path: root/IkiWiki.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-07-26 19:10:11 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-07-26 19:10:11 -0400
commit52bbdbb1a5ce994c9afac253c1d9bfd94acf4d1d (patch)
tree798d8593ef3d780b93fda50d9fbcba3af47e956f /IkiWiki.pm
parentf892cc8c50ea6117fcc908838be58c6c34e1d0ea (diff)
load all plugins when generating setup
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r--IkiWiki.pm20
1 files changed, 20 insertions, 0 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 4410fc985..a2b9a3e24 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -417,6 +417,26 @@ sub checkconfig () { #{{{
return 1;
} #}}}
+sub listplugins () { #{{{
+ my %ret;
+
+ foreach my $dir (@INC, $config{libdir}) {
+ next unless defined $dir;
+ foreach my $file (glob("$dir/IkiWiki/Plugin/*.pm")) {
+ my ($plugin)=$file=~/.*\/(.*)\.pm$/;
+ $ret{$plugin}=1;
+ }
+ }
+ foreach my $dir ($config{libdir}, "$installdir/lib/ikiwiki") {
+ next unless defined $dir;
+ foreach my $file (glob("$dir/plugins/*")) {
+ $ret{basename($file)}=1 if -x $file;
+ }
+ }
+
+ return keys %ret;
+} #}}}
+
sub loadplugins () { #{{{
if (defined $config{libdir}) {
unshift @INC, possibly_foolish_untaint($config{libdir});