- # 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}->() };
+ my %section_plugins;
+ push @ret, dumpvalues(\%setup, IkiWiki::getsetup());
+ foreach my $pair (IkiWiki::Setup::getsetup()) {
+ my $plugin=$pair->[0];
+ my $setup=$pair->[1];
+ my %s=@{$setup};
+ my $section=$s{plugin}->{section};
+ push @{$section_plugins{$section}}, $plugin;
+ if (@{$section_plugins{$section}} == 1) {
+ push @ret, "", "\t".("#" x 70), "\t# $section plugins",
+ sub {
+ wrap("\t# (", "\t# ",
+ join(", ", @{$section_plugins{$section}})).")"
+ },
+ "\t".("#" x 70);