aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/template.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2010-04-02 16:54:06 -0400
committerJoey Hess <joey@gnu.kitenet.net>2010-04-02 16:54:06 -0400
commit59ba938822ba0752e8d97e769c0d14f2eb0bbeb3 (patch)
tree6400db6797bb044b902a101c7c82bec3b65943db /IkiWiki/Plugin/template.pm
parent1c8ac7d88c5a3d2c63892737e54be8a1b535936c (diff)
downloadikiwiki-59ba938822ba0752e8d97e769c0d14f2eb0bbeb3.tar
ikiwiki-59ba938822ba0752e8d97e769c0d14f2eb0bbeb3.tar.gz
template: Search for templates in the templatedir, if they are not found as pages in the wiki.
Diffstat (limited to 'IkiWiki/Plugin/template.pm')
-rw-r--r--IkiWiki/Plugin/template.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/template.pm b/IkiWiki/Plugin/template.pm
index 3e024c5f8..36282055a 100644
--- a/IkiWiki/Plugin/template.pm
+++ b/IkiWiki/Plugin/template.pm
@@ -37,7 +37,13 @@ sub preprocess (@) {
my $template_page="templates/$params{id}";
add_depends($params{page}, $template_page);
- my $template_file=$pagesources{$template_page};
+ my $template_file;
+ if (exists $pagesources{$template_page}) {
+ $template_file=srcfile($pagesources{$template_page});
+ }
+ else {
+ $template_file=template_file("$params{id}.tmpl")
+ }
return sprintf(gettext("template %s not found"),
htmllink($params{page}, $params{destpage}, "/".$template_page))
unless defined $template_file;
@@ -50,7 +56,7 @@ sub preprocess (@) {
$$text_ref=&Encode::decode_utf8($$text_ref);
chomp $$text_ref;
},
- filename => srcfile($template_file),
+ filename => $template_file,
die_on_bad_params => 0,
no_includes => 1,
blind_cache => 1,