From: Simon McVittie Date: Sat, 25 Dec 2010 23:02:47 +0000 (+0000) Subject: Allow autoindex files to be written into the transient underlay X-Git-Tag: 3.20110225~79^2~3 X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/commitdiff_plain/059259ecd1f974b98718bf05f8be63fa0e7c4e32?hp=594a9194561ad373a31a7d34c6b5c7a84ec417a0 Allow autoindex files to be written into the transient underlay As with the tag plugin, for the moment keep the old behaviour in the test. --- diff --git a/IkiWiki/Plugin/autoindex.pm b/IkiWiki/Plugin/autoindex.pm index 5a58c820a..d02618581 100644 --- a/IkiWiki/Plugin/autoindex.pm +++ b/IkiWiki/Plugin/autoindex.pm @@ -9,6 +9,7 @@ use Encode; sub import { hook(type => "getsetup", id => "autoindex", call => \&getsetup); hook(type => "refresh", id => "autoindex", call => \&refresh); + IkiWiki::loadplugin("transient"); } sub getsetup () { @@ -17,6 +18,14 @@ sub getsetup () { safe => 1, rebuild => 0, }, + autoindex_commit => { + type => "boolean", + example => 1, + default => 1, + description => "commit autocreated index pages", + safe => 1, + rebuild => 0, + }, } sub genindex ($) { @@ -28,11 +37,16 @@ sub genindex ($) { $page); debug($message); + my $dir = $config{srcdir}; + if (! $config{autoindex_commit}) { + $dir = $IkiWiki::Plugin::transient::transientdir; + } + my $template = template("autoindex.tmpl"); $template->param(page => $page); - writefile($file, $config{srcdir}, $template->output); + writefile($file, $dir, $template->output); - if ($config{rcs}) { + if ($config{rcs} && $config{autoindex_commit}) { IkiWiki::disable_commit_hook(); IkiWiki::rcs_add($file); IkiWiki::rcs_commit_staged(message => $message); diff --git a/t/autoindex.t b/t/autoindex.t index 665f0dc1c..1e40b4c53 100755 --- a/t/autoindex.t +++ b/t/autoindex.t @@ -26,6 +26,7 @@ $config{userdir} = "users"; $config{tagbase} = "tags"; $config{default_pageext} = "mdwn"; $config{wiki_file_prune_regexps} = [qr/^\./]; +$config{autoindex_commit} = 1; is(checkconfig(), 1);