X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/1f56dead00ee1188d9ed9650b9b2483b69c4d525..cddb39cbf5d385273645f62f15bdf29b7607aac2:/IkiWiki/Plugin/autoindex.pm diff --git a/IkiWiki/Plugin/autoindex.pm b/IkiWiki/Plugin/autoindex.pm index 23a17d4e9..11595e217 100644 --- a/IkiWiki/Plugin/autoindex.pm +++ b/IkiWiki/Plugin/autoindex.pm @@ -33,16 +33,21 @@ sub genindex ($) { sub refresh () { eval q{use File::Find}; error($@) if $@; + eval q{use Cwd}; + error($@) if $@; + my $origdir=getcwd(); my (%pages, %dirs); foreach my $dir ($config{srcdir}, @{$config{underlaydirs}}, $config{underlaydir}) { + chdir($dir) || next; + find({ no_chdir => 1, wanted => sub { my $file=decode_utf8($_); - $file=~s/^\Q$dir\E\/?//; + $file=~s/^\.\/?//; return unless length $file; - if (IkiWiki::file_pruned($_)) { + if (IkiWiki::file_pruned($file)) { $File::Find::prune=1; } elsif (! -l $_) { @@ -57,7 +62,9 @@ sub refresh () { } } } - }, $dir); + }, '.'); + + chdir($origdir) || die "chdir $origdir: $!"; } my %deleted; @@ -110,8 +117,8 @@ sub refresh () { } if ($config{rcs}) { IkiWiki::rcs_commit_staged( - gettext("automatic index generation"), - undef, undef); + message => gettext("automatic index generation"), + ); IkiWiki::enable_commit_hook(); } }