X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f00ccd0bf65e2a8d3d0ff4a3960e32c7aeba835a..4b369f0f67554454025f3c2065e4e8929fe4b643:/IkiWiki/Render.pm?ds=sidebyside diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index d34e39e8a..e8ed627a4 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -111,7 +111,7 @@ sub genpage ($$) { } templateactions($template, $page); - my @backlinks=sort { $a->{page} cmp $b->{page} } backlinks($page); + my @backlinks=sort { $a->{page} cmp $b->{page} || $a->{url} cmp $b->{url} } backlinks($page); my ($backlinks, $more_backlinks); if (@backlinks <= $config{numbacklinks} || ! $config{numbacklinks}) { $backlinks=\@backlinks; @@ -326,6 +326,7 @@ sub find_src_files (;$$$) { $page = pagename($file); if (! exists $pagesources{$page} && file_pruned($file)) { + no warnings 'once'; $File::Find::prune=1; return; } @@ -349,7 +350,7 @@ sub find_src_files (;$$$) { else { push @files, $f; if ($pages{$page}) { - debug(sprintf(gettext("%s has multiple possible source pages"), $page)); + debug(sprintf(gettext("%s has multiple possible source files; one will be chosen at random"), $page)); } $pages{$page}=1; } @@ -398,7 +399,7 @@ sub process_changed_files ($$) { } push @files, $f; if ($pages{$page}) { - debug(sprintf(gettext("%s has multiple possible source pages"), $page)); + debug(sprintf(gettext("%s has multiple possible source files; one will be chosen at random"), $page)); } $pages{$page}=1; } @@ -474,7 +475,11 @@ sub find_new_files ($) { } $pagecase{lc $page}=$page; if (! exists $pagectime{$page}) { - my $ctime=(srcfile_stat($file, 1))[10]; + my @stat=srcfile_stat($file, 1); + # For the creation time of the page, take the + # inode change time (not creation time!) or + # the modification time, whichever is older. + my $ctime=($stat[10] < $stat[9] ? $stat[10] : $stat[9]); $pagectime{$page}=$ctime if defined $ctime; } }