"syslog!" => \$config{syslog},
"rebuild!" => \$config{rebuild},
"refresh!" => \$config{refresh},
+ "clean!" => \$config{clean},
"post-commit" => \$config{post_commit},
"render=s" => \$config{render},
"wrappers!" => \$config{genwrappers},
"exclude=s@" => sub {
push @{$config{wiki_file_prune_regexps}}, $_[1];
},
+ "include=s@" => sub {
+ $config{include}=defined $config{include} && length $config{include} ? "$config{include}|$_[1]" : $_[1];
+ },
"adminuser=s@" => sub {
push @{$config{adminuser}}, $_[1]
},
if (@{$config{wrappers}} &&
! $config{render} && ! $config{dumpsetup} &&
+ ! $config{clean} &&
((! $config{refresh} && ! $config{post_commit})
|| $config{genwrappers})) {
debug(gettext("generating wrappers.."));
# setup implies a wiki rebuild by default
if (! $config{refresh} && ! $config{render} &&
- ! $config{post_commit}) {
+ ! $config{post_commit} && ! $config{clean}) {
$config{rebuild}=1;
}
}
elsif ($config{post_commit} && ! commit_hook_enabled()) {
# do nothing
}
+ elsif ($config{clean}) {
+ require IkiWiki::Render;
+ foreach my $wrapper (@{$config{wrappers}}) {
+ prune($wrapper->{wrapper});
+ }
+ clean_rendered();
+ system("rm", "-rf", $config{wikistatedir});
+ }
else {
if ($config{rebuild}) {
debug(gettext("rebuilding wiki.."));