X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/63995039bee70bbc1209addfd0095d2ae8342fd7..6887ef169e525e303c7d6f3f6d23cdc939b17f54:/IkiWiki/Render.pm diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index 92993fd95..5fd0dea0d 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -69,7 +69,15 @@ sub genpage ($$$) { #{{{ my $content=shift; my $mtime=shift; - my $template=template("page.tmpl", blind_cache => 1); + my $templatefile; + run_hooks(templatefile => sub { + return if defined $templatefile; + my $file=shift->(page => $page); + if (defined $file && defined template_file($file)) { + $templatefile=$file; + } + }); + my $template=template(defined $templatefile ? $templatefile : 'page.tmpl', blind_cache => 1); my $actions=0; if (length $config{cgiurl}) { @@ -159,7 +167,7 @@ sub scan ($) { #{{{ # Always needs to be done, since filters might add links # to the content. - $content=filter($page, $content); + $content=filter($page, $page, $content); my @links; while ($content =~ /(? sub { shift->(\@needsbuild) }); - # scan and rendder files + # scan and render files foreach my $file (@needsbuild) { debug(sprintf(gettext("scanning %s"), $file)); scan($file); @@ -454,7 +467,7 @@ sub commandline_render () { #{{{ my $content=readfile($srcfile); my $page=pagename($file); $pagesources{$page}=$file; - $content=filter($page, $content); + $content=filter($page, $page, $content); $content=preprocess($page, $page, $content); $content=linkify($page, $page, $content); $content=htmlize($page, $type, $content);