]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/template.pm
When loading a template in scan mode, let preprocess know it only needs to scan.
[ikiwiki.git] / IkiWiki / Plugin / template.pm
index 57bff20ff32ba57ce3e19ff9c2e5ec5d01bcb927..b6097bb49d26133a54dc2fa27c3fc98e59d657bb 100644 (file)
@@ -10,7 +10,8 @@ use Encode;
 
 sub import {
        hook(type => "getsetup", id => "template", call => \&getsetup);
 
 sub import {
        hook(type => "getsetup", id => "template", call => \&getsetup);
-       hook(type => "preprocess", id => "template", call => \&preprocess);
+       hook(type => "preprocess", id => "template", call => \&preprocess,
+               scan => 1);
 }
 
 sub getsetup () {
 }
 
 sub getsetup () {
@@ -68,9 +69,13 @@ sub preprocess (@) {
                }
        }
 
                }
        }
 
+       # This needs to run even in scan mode, in order to process
+       # links and other metadata includes via the template.
+       my $scan=! defined wantarray;
+
        return IkiWiki::preprocess($params{page}, $params{destpage},
                IkiWiki::filter($params{page}, $params{destpage},
        return IkiWiki::preprocess($params{page}, $params{destpage},
                IkiWiki::filter($params{page}, $params{destpage},
-               $template->output));
+               $template->output), $scan);
 }
 
 1
 }
 
 1