2 # Standard ikiwiki setup module.
3 # Parameters to import should be all the standard ikiwiki config stuff,
4 # plus an array of wrappers to set up.
11 package IkiWiki::Setup::Standard;
14 IkiWiki::setup_standard(@_);
22 $setup{plugin}=$config{plugin};
23 if (exists $setup{add_plugins}) {
24 push @{$setup{plugin}}, @{$setup{add_plugins}};
25 delete $setup{add_plugins};
27 if (exists $setup{disable_plugins}) {
28 foreach my $plugin (@{$setup{disable_plugins}}) {
29 $setup{plugin}=[grep { $_ ne $plugin } @{$setup{plugin}}];
31 delete $setup{disable_plugins};
34 debug("generating wrappers..");
35 my @wrappers=@{$setup{wrappers}};
36 delete $setup{wrappers};
37 my %startconfig=(%config);
38 foreach my $wrapper (@wrappers) {
39 %config=(%startconfig, verbose => 0, %setup, %{$wrapper});
43 %config=(%startconfig);
45 foreach my $c (keys %setup) {
46 if (defined $setup{$c}) {
47 if (! ref $setup{$c}) {
48 $config{$c}=possibly_foolish_untaint($setup{$c});
50 elsif (ref $setup{$c} eq 'ARRAY') {
51 $config{$c}=[map { possibly_foolish_untaint($_) } @{$setup{$c}}]
59 if (! $config{refresh}) {
61 debug("rebuilding wiki..");
64 debug("refreshing wiki..");