]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Render.pm
Complete rcs_preprevert and lightly test.
[git.ikiwiki.info.git] / IkiWiki / Render.pm
index aae1f90b033f7a0954ef85c7e911d8f4a1ebf0f1..7ea919abc3d76c2b9fc280c81ed4f87cbb95d8cb 100644 (file)
@@ -174,15 +174,15 @@ sub scan ($) {
                }
                delete $typedlinks{$page};
 
                }
                delete $typedlinks{$page};
 
+               # Preprocess in scan-only mode.
+               preprocess($page, $page, $content, 1);
+
                run_hooks(scan => sub {
                        shift->(
                                page => $page,
                                content => $content,
                        );
                });
                run_hooks(scan => sub {
                        shift->(
                                page => $page,
                                content => $content,
                        );
                });
-
-               # Preprocess in scan-only mode.
-               preprocess($page, $page, $content, 1);
        }
        else {
                will_render($file, $file, 1);
        }
        else {
                will_render($file, $file, 1);
@@ -374,7 +374,7 @@ sub find_new_files ($) {
                        }
 
                        eval {
                        }
 
                        eval {
-                               my $ctime=rcs_getctime("$config{srcdir}/$file");
+                               my $ctime=rcs_getctime($file);
                                if ($ctime > 0) {
                                        $pagectime{$page}=$ctime;
                                }
                                if ($ctime > 0) {
                                        $pagectime{$page}=$ctime;
                                }
@@ -384,7 +384,7 @@ sub find_new_files ($) {
                        }
                        my $mtime;
                        eval {
                        }
                        my $mtime;
                        eval {
-                               $mtime=rcs_getmtime("$config{srcdir}/$file");
+                               $mtime=rcs_getmtime($file);
                        };
                        if ($@) {
                                print STDERR $@;
                        };
                        if ($@) {
                                print STDERR $@;
@@ -759,7 +759,10 @@ sub refresh () {
        my ($new, $internal_new)=find_new_files($files);
        my ($del, $internal_del)=find_del_files($pages);
        my ($changed, $internal_changed)=find_changed($files);
        my ($new, $internal_new)=find_new_files($files);
        my ($del, $internal_del)=find_del_files($pages);
        my ($changed, $internal_changed)=find_changed($files);
-       run_hooks(needsbuild => sub { shift->($changed) });
+       run_hooks(needsbuild => sub {
+               my $ret=shift->($changed, [@$del, @$internal_del]);
+               $changed=$ret if ref $ret eq 'ARRAY';
+       });
        my $oldlink_targets=calculate_old_links($changed, $del);
 
        foreach my $file (@$changed) {
        my $oldlink_targets=calculate_old_links($changed, $del);
 
        foreach my $file (@$changed) {