aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Setup
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-03 21:29:56 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-03 21:29:56 +0000
commit7ea8df24b32a36687cfea94e2b84272777562325 (patch)
treec30bb00a324877fe4c2764d69f5e4af51385e17f /IkiWiki/Setup
parent929b9de9c2b0f3ed1a0c9e006d084519bd5e0479 (diff)
downloadikiwiki-7ea8df24b32a36687cfea94e2b84272777562325.tar
ikiwiki-7ea8df24b32a36687cfea94e2b84272777562325.tar.gz
* Introduce add_plugins and disable_plugins config options in setup files.
This allows adding or removing plugins w/o overriding the whole list of default plugins, which makes it easier to upgrade when new default plugins are added.
Diffstat (limited to 'IkiWiki/Setup')
-rw-r--r--IkiWiki/Setup/Standard.pm12
1 files changed, 12 insertions, 0 deletions
diff --git a/IkiWiki/Setup/Standard.pm b/IkiWiki/Setup/Standard.pm
index 786ba70ac..d42ceffa0 100644
--- a/IkiWiki/Setup/Standard.pm
+++ b/IkiWiki/Setup/Standard.pm
@@ -19,6 +19,18 @@ package IkiWiki;
sub setup_standard {
my %setup=%{$_[1]};
+ $setup{plugin}=$config{plugin};
+ if (exists $setup{add_plugins}) {
+ push @{$setup{plugin}}, @{$setup{add_plugins}};
+ delete $setup{add_plugins};
+ }
+ if (exists $setup{disable_plugins}) {
+ foreach my $plugin (@{$setup{disable_plugins}}) {
+ $setup{plugin}=[grep { $_ ne $plugin } @{$setup{plugin}}];
+ }
+ delete $setup{disable_plugins};
+ }
+
if (! $config{refresh}) {
debug("generating wrappers..");
my @wrappers=@{$setup{wrappers}};