]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/pagetemplate.pm
(no commit message)
[ikiwiki.git] / IkiWiki / Plugin / pagetemplate.pm
index 69a2433a8ffb1d74119762c8d9aeae3e3cedae01..1d8a84ca77726d5d8486fc632b2606b98e25b5f6 100644 (file)
@@ -3,22 +3,31 @@ package IkiWiki::Plugin::pagetemplate;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 
 my %templates;
 
-sub import { #{{{
+sub import {
+       hook(type => "getsetup", id => "pagetemplate", call => \&getsetup);
        hook(type => "preprocess", id => "pagetemplate", call => \&preprocess);
        hook(type => "templatefile", id => "pagetemplate", call => \&templatefile);
-} # }}}
+}
 
-sub preprocess (@) { #{{{
+sub getsetup () {
+       return 
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+}
+
+sub preprocess (@) {
        my %params=@_;
 
        if (! exists $params{template} ||
            $params{template} !~ /^[-A-Za-z0-9._+]+$/ ||
            ! defined IkiWiki::template_file($params{template})) {
-                return "[[pagetemplate ".gettext("bad or missing template")."]]";
+                error gettext("bad or missing template")
        }
 
        if ($params{page} eq $params{destpage}) {
@@ -26,9 +35,9 @@ sub preprocess (@) { #{{{
        }
 
        return "";
-} # }}}
+}
 
-sub templatefile (@) { #{{{
+sub templatefile (@) {
        my %params=@_;
 
        if (exists $templates{$params{page}}) {
@@ -36,6 +45,6 @@ sub templatefile (@) { #{{{
        }
        
        return undef;
-} # }}}
+}
 
 1