use Encode;
sub import {
+ hook(type => "checkconfig", id => "autoindex", call => \&checkconfig);
hook(type => "getsetup", id => "autoindex", call => \&getsetup);
hook(type => "refresh", id => "autoindex", call => \&refresh);
IkiWiki::loadplugin("transient");
},
}
+sub checkconfig () {
+ if (! defined $config{autoindex_commit}) {
+ $config{autoindex_commit} = 1;
+ }
+}
+
sub genindex ($) {
my $page=shift;
my $file=newpagefile($page, $config{default_pageext});
my $dir = $config{srcdir};
if (! $config{autoindex_commit}) {
+ no warnings 'once';
$dir = $IkiWiki::Plugin::transient::transientdir;
}
$file=~s/^\.\/?//;
return unless length $file;
if (IkiWiki::file_pruned($file)) {
+ no warnings 'once';
$File::Find::prune=1;
}
elsif (! -l $_) {
if (! -d _) {
$pages{pagename($f)}=1;
}
- elsif ($dir eq $config{srcdir}) {
+ elsif ($dir eq $config{srcdir} || ! $config{autoindex_commit}) {
$dirs{$f}=1;
}
}