diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2010-02-12 00:51:19 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2010-02-12 01:10:27 -0500 |
commit | 0ea2f0936bf9d51f4760fe5a8e57d46d1b6ecce6 (patch) | |
tree | 74e8d081bfa6a8603485b648643e2ec4b856cae4 /IkiWiki/Setup | |
parent | 5b76fc824cf5fdf8d78afb74724a6d5453c79baa (diff) |
add plugin section, and show which plugins need no configuration
Diffstat (limited to 'IkiWiki/Setup')
-rw-r--r-- | IkiWiki/Setup/Standard.pm | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/IkiWiki/Setup/Standard.pm b/IkiWiki/Setup/Standard.pm index c99dbb620..bdf52f25a 100644 --- a/IkiWiki/Setup/Standard.pm +++ b/IkiWiki/Setup/Standard.pm @@ -90,16 +90,24 @@ sub gendump ($) { # disable logging to syslog while dumping $config{syslog}=undef; - my $curr_section; + eval q{use Text::Wrap}; + die $@ if $@; + + 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}; - if (! defined $curr_section || $curr_section ne $section) { - $curr_section=$section; - push @ret, "", "\t#", "\t# $section plugins", "\t#"; + push @{$section_plugins{$section}}, $plugin; + if (@{$section_plugins{$section}} == 1) { + push @ret, "", "\t#", "\t# $section plugins", + sub { + wrap("\t# (", "\t# ", + join(", ", @{$section_plugins{$section}})).")" + }, + "\t#"; } my @values=dumpvalues(\%setup, @{$setup}); @@ -119,7 +127,7 @@ sub gendump ($) { "use IkiWiki::Setup::Standard {"; push @ret, "}"; - return @ret; + return map { ref $_ ? $_->() : $_ } @ret; } 1 |