]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blob - IkiWiki/Setup/Standard.pm
56ed5ab3b553e7f17b3b257cc82ee94049821770
[git.ikiwiki.info.git] / IkiWiki / Setup / Standard.pm
1 #!/usr/bin/perl
2 # Standard ikiwiki setup module.
3 # Parameters to import should be all the standard ikiwiki config stuff,
4 # plus hashes for cgiwrapper and svnwrapper, which specify any differing
5 # config stuff for them and cause the wrappers to be made.
7 use warnings;
8 use strict;
9 use IkiWiki::Wrapper;
10 use IkiWiki::Render;
12 package IkiWiki::Setup::Standard;
14 sub import {
15         IkiWiki::setup_standard(@_);
16 }
17         
18 package IkiWiki;
20 sub setup_standard {
21         my %setup=%{$_[1]};
23         debug("generating wrappers..");
24         my %startconfig=(%config);
25         foreach my $wrapper (@{$setup{wrappers}}) {
26                 %config=(%startconfig, verbose => 0, %setup, %{$wrapper});
27                 checkconfig();
28                 gen_wrapper();
29         }
30         %config=(%startconfig);
31         
32         debug("rebuilding wiki..");
33         foreach my $c (keys %setup) {
34                 $config{$c}=possibly_foolish_untaint($setup{$c})
35                         if defined $setup{$c} && ! ref $setup{$c};
36         }
37         $config{rebuild}=1;
39         checkconfig();
40         lockwiki();
41         refresh();
43         debug("done");
44         saveindex();
45 }
47 1