aboutsummaryrefslogtreecommitdiff
path: root/ikiwiki.in
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2010-02-28 00:12:47 -0500
committerJoey Hess <joey@gnu.kitenet.net>2010-02-28 00:12:47 -0500
commit60d2dd318f66563c3ee3bde950d7f53426530acc (patch)
treec540152a29cc4112124a6432ef77e9d186e39257 /ikiwiki.in
parent70972b16874583bb642b093fb9906a0967d69ac3 (diff)
downloadikiwiki-60d2dd318f66563c3ee3bde950d7f53426530acc.tar
ikiwiki-60d2dd318f66563c3ee3bde950d7f53426530acc.tar.gz
Add new --clean option; this makes ikiwiki remove all built files in the destdir, as well as wrappers and the .ikiwiki directory.
Diffstat (limited to 'ikiwiki.in')
-rwxr-xr-xikiwiki.in12
1 files changed, 11 insertions, 1 deletions
diff --git a/ikiwiki.in b/ikiwiki.in
index b8581d880..ae1251ff6 100755
--- a/ikiwiki.in
+++ b/ikiwiki.in
@@ -37,6 +37,7 @@ sub getconfig () {
"syslog!" => \$config{syslog},
"rebuild!" => \$config{rebuild},
"refresh!" => \$config{refresh},
+ "clean!" => \$config{clean},
"post-commit" => \$config{post_commit},
"render=s" => \$config{render},
"wrappers!" => \$config{genwrappers},
@@ -135,6 +136,7 @@ sub main () {
if (@{$config{wrappers}} &&
! $config{render} && ! $config{dumpsetup} &&
+ ! $config{clean} &&
((! $config{refresh} && ! $config{post_commit})
|| $config{genwrappers})) {
debug(gettext("generating wrappers.."));
@@ -159,7 +161,7 @@ sub main () {
# setup implies a wiki rebuild by default
if (! $config{refresh} && ! $config{render} &&
- ! $config{post_commit}) {
+ ! $config{post_commit} && ! $config{clean}) {
$config{rebuild}=1;
}
}
@@ -190,6 +192,14 @@ sub main () {
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.."));