X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/db9f2b1b2b97fd92b09f170c3b567ec59030bf0a..ea8c7a7e024e0574ce0d4f6e42f267256980fba4:/IkiWiki/Plugin/transient.pm?ds=sidebyside diff --git a/IkiWiki/Plugin/transient.pm b/IkiWiki/Plugin/transient.pm index 9811aa010..d4eb005ea 100644 --- a/IkiWiki/Plugin/transient.pm +++ b/IkiWiki/Plugin/transient.pm @@ -8,7 +8,7 @@ use IkiWiki 3.00; sub import { hook(type => "getsetup", id => "transient", call => \&getsetup); hook(type => "checkconfig", id => "transient", call => \&checkconfig); - hook(type => "change", id => "transient", call => \&change); + hook(type => "rendered", id => "transient", call => \&rendered); } sub getsetup () { @@ -25,13 +25,15 @@ sub getsetup () { our $transientdir; sub checkconfig () { - $transientdir = $config{wikistatedir}."/transient"; - # add_underlay treats relative underlays as relative to the installed - # location, not the cwd. That's not what we want here. - IkiWiki::add_literal_underlay($transientdir); + if (defined $config{wikistatedir}) { + $transientdir = $config{wikistatedir}."/transient"; + # add_underlay treats relative underlays as relative to the installed + # location, not the cwd. That's not what we want here. + IkiWiki::add_literal_underlay($transientdir); + } } -sub change (@) { +sub rendered (@) { foreach my $file (@_) { # If the corresponding file exists in the transient underlay # and isn't actually being used, we can get rid of it. @@ -41,7 +43,7 @@ sub change (@) { my $casualty = "$transientdir/$file"; if (srcfile($file) ne $casualty && -e $casualty) { debug(sprintf(gettext("removing transient version of %s"), $file)); - IkiWiki::prune($casualty); + IkiWiki::prune($casualty, $transientdir); } } }