]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Render.pm
close
[git.ikiwiki.info.git] / IkiWiki / Render.pm
index 233d093eda602387902cfade75573ee62760a3ed..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);
@@ -232,7 +232,7 @@ sub render ($$) {
                        linkify($page, $page,
                        preprocess($page, $page,
                        filter($page, $page,
                        linkify($page, $page,
                        preprocess($page, $page,
                        filter($page, $page,
-                       readfile($srcfile), 'fullpage'))));
+                       readfile($srcfile)))));
                
                my $output=htmlpage($page);
                writefile($output, $config{destdir}, genpage($page, $content));
                
                my $output=htmlpage($page);
                writefile($output, $config{destdir}, genpage($page, $content));
@@ -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) {
@@ -837,7 +840,7 @@ sub commandline_render () {
        my $content=readfile($srcfile);
        my $page=pagename($file);
        $pagesources{$page}=$file;
        my $content=readfile($srcfile);
        my $page=pagename($file);
        $pagesources{$page}=$file;
-       $content=filter($page, $page, $content, 'fullpage');
+       $content=filter($page, $page, $content);
        $content=preprocess($page, $page, $content);
        $content=linkify($page, $page, $content);
        $content=htmlize($page, $page, $type, $content);
        $content=preprocess($page, $page, $content);
        $content=linkify($page, $page, $content);
        $content=htmlize($page, $page, $type, $content);