aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Setup
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-08-02 13:38:45 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-08-02 16:41:35 -0400
commit0b6dd9247bd442560ab740051f0e60b22bf2dccc (patch)
tree6405c6dd84780014b9c2ecf79fec255fc1fff597 /IkiWiki/Setup
parentd3cad5d2cab108a06b043137a42d18c083975e5a (diff)
downloadikiwiki-0b6dd9247bd442560ab740051f0e60b22bf2dccc.tar
ikiwiki-0b6dd9247bd442560ab740051f0e60b22bf2dccc.tar.gz
refactor
Diffstat (limited to 'IkiWiki/Setup')
-rw-r--r--IkiWiki/Setup/Standard.pm27
1 files changed, 5 insertions, 22 deletions
diff --git a/IkiWiki/Setup/Standard.pm b/IkiWiki/Setup/Standard.pm
index 9d4732b6f..f3d4994fb 100644
--- a/IkiWiki/Setup/Standard.pm
+++ b/IkiWiki/Setup/Standard.pm
@@ -89,31 +89,14 @@ sub gendump ($) { #{{{
# disable logging to syslog while dumping
$config{syslog}=0;
- push @ret, "\t# basic setup";
push @ret, dumpvalues(\%setup, IkiWiki::getsetup());
-
- # Load all plugins, so that all setup options are available.
- # (But skip a few problematic external demo plugins.)
- my @plugins=grep { ! /^(externaldemo|pythondemo|\Q$config{rcs}\E)$/ }
- sort(IkiWiki::listplugins());
- unshift @plugins, $config{rcs} if $config{rcs}; # rcs plugin 1st
- foreach my $plugin (@plugins) {
- eval { IkiWiki::loadplugin($plugin) };
- if (exists $IkiWiki::hooks{checkconfig}{$plugin}{call}) {
- my @s=eval { $IkiWiki::hooks{checkconfig}{$plugin}{call}->() };
- }
+ foreach my $pair (IkiWiki::Setup::getsetup()) {
+ my $plugin=$pair->[0];
+ my $setup=$pair->[1];
+ push @ret, "", "\t# $plugin plugin";
+ push @ret, dumpvalues(\%setup, @{$setup});
}
- foreach my $id (@plugins) {
- if (exists $IkiWiki::hooks{getsetup}{$id}{call}) {
- # use an array rather than a hash, to preserve order
- my @s=eval { $IkiWiki::hooks{getsetup}{$id}{call}->() };
- next unless @s;
- push @ret, "", "\t# $id plugin";
- push @ret, dumpvalues(\%setup, @s);
- }
- }
-
unshift @ret,
"#!/usr/bin/perl",
"# $description",