]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/skeleton.pm.example
Provide the current time to edittemplate.
[git.ikiwiki.info.git] / IkiWiki / Plugin / skeleton.pm.example
index 10c7002e478919ca5b84a74549350ecc815a5377..f9caef40c1f44b9c6a14d0f9b67bd3a251be5ec6 100644 (file)
@@ -6,10 +6,11 @@ package IkiWiki::Plugin::skeleton;
 
 use warnings;
 use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "skeleton",  call => \&getopt);
+       hook(type => "getsetup", id => "skeleton",  call => \&getsetup);
        hook(type => "checkconfig", id => "skeleton", call => \&checkconfig);
        hook(type => "refresh", id => "skeleton", call => \&refresh);
        hook(type => "needsbuild", id => "skeleton", call => \&needsbuild);
@@ -19,173 +20,253 @@ sub import { #{{{
        hook(type => "scan", id => "skeleton", call => \&scan);
        hook(type => "htmlize", id => "skeleton", call => \&htmlize);
        hook(type => "sanitize", id => "skeleton", call => \&sanitize);
-       hook(type => "postscan", id => "skeleton", call => \&postscan);
+       hook(type => "indexhtml", id => "skeleton", call => \&indexhtml);
        hook(type => "format", id => "skeleton", call => \&format);
        hook(type => "pagetemplate", id => "skeleton", call => \&pagetemplate);
        hook(type => "templatefile", id => "skeleton", call => \&templatefile);
+       hook(type => "pageactions", id => "skeleton", call => \&pageactions);
        hook(type => "delete", id => "skeleton", call => \&delete);
-       hook(type => "change", id => "skeleton", call => \&change);
+       hook(type => "rendered", id => "skeleton", call => \&rendered);
+       hook(type => "changes", id => "skeleton", call => \&changes);
        hook(type => "cgi", id => "skeleton", call => \&cgi);
        hook(type => "auth", id => "skeleton", call => \&auth);
        hook(type => "sessioncgi", id => "skeleton", call => \&sessioncgi);
        hook(type => "canedit", id => "skeleton", call => \&canedit);
+       hook(type => "canremove", id => "skeleton", call => \&canremove);
+       hook(type => "canrename", id => "skeleton", call => \&canrename);
+       hook(type => "checkcontent", id => "skeleton", call => \&checkcontent);
        hook(type => "editcontent", id => "skeleton", call => \&editcontent);
        hook(type => "formbuilder_setup", id => "skeleton", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
+       hook(type => "renamepage", id => "skeleton", call => \&renamepage);
+       hook(type => "rename", id => "skeleton", call => \&rename);
        hook(type => "savestate", id => "skeleton", call => \&savestate);
-} # }}}
+       hook(type => "genwrapper", id => "skeleton", call => \&genwrapper);
+       hook(type => "disable", id => "skeleton", call => \&disable);
+}
 
-sub getopt () { #{{{
+sub getopt () {
        debug("skeleton plugin getopt");
-} #}}}
-
-sub checkconfig () { #{{{
+}
+
+sub getsetup () {
+       return
+               plugin => {
+                       safe => 1,
+                       rebuild => undef,
+               },
+               skeleton => {
+                       type => "boolean",
+                       example => 0,
+                       description => "example option",
+                       safe => 0,
+                       rebuild => 0,
+               },
+}
+
+sub checkconfig () {
        debug("skeleton plugin checkconfig");
-} #}}}
+}
 
-sub refresh () { #{{{
+sub refresh () {
        debug("skeleton plugin refresh");
-} #}}}
+}
+
+sub needsbuild ($) {
+       my $needsbuild=shift;
 
-sub needsbuild () { #{{{
        debug("skeleton plugin needsbuild");
-} #}}}
 
-sub preprocess (@) { #{{{
+       return $needsbuild;
+}
+
+sub preprocess (@) {
        my %params=@_;
 
        return "skeleton plugin result";
-} # }}}
+}
 
-sub filter (@) { #{{{
+sub filter (@) {
        my %params=@_;
        
        debug("skeleton plugin running as filter");
 
        return $params{content};
-} # }}}
+}
 
-sub linkify (@) { #{{{
+sub linkify (@) {
        my %params=@_;
        
        debug("skeleton plugin running as linkify");
 
        return $params{content};
-} # }}}
+}
 
-sub scan (@) { #{{{a
+sub scan (@) {
        my %params=@_;
 
        debug("skeleton plugin running as scan");
-} # }}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
 
        debug("skeleton plugin running as htmlize");
 
        return $params{content};
-} # }}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
        
        debug("skeleton plugin running as a sanitizer");
 
        return $params{content};
-} # }}}
+}
 
-sub postscan (@) { #{{{
+sub indexhtml (@) {
        my %params=@_;
        
-       debug("skeleton plugin running as postscan");
-} # }}}
+       debug("skeleton plugin running as indexhtml");
+}
 
-sub format (@) { #{{{
+sub format (@) {
        my %params=@_;
        
        debug("skeleton plugin running as a formatter");
 
        return $params{content};
-} # }}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $page=$params{page};
        my $template=$params{template};
        
        debug("skeleton plugin running as a pagetemplate hook");
-} # }}}
+}
 
-sub templatefile (@) { #{{{
+sub templatefile (@) {
        my %params=@_;
        my $page=$params{page};
        
        debug("skeleton plugin running as a templatefile hook");
-} # }}}
+}
+
+sub pageactions (@) {
+       my %params=@_;
+       my $page=$params{page};
+
+       debug("skeleton plugin running as a pageactions hook");
+       return ();
+}
 
-sub delete (@) { #{{{
+sub delete (@) {
        my @files=@_;
 
        debug("skeleton plugin told that files were deleted: @files");
-} #}}}
+}
 
-sub change (@) { #{{{
+sub rendered (@) {
        my @files=@_;
 
-       debug("skeleton plugin told that changed files were rendered: @files");
-} #}}}
+       debug("skeleton plugin told that files were rendered: @files");
+}
 
-sub cgi ($) { #{{{
+sub changes (@) {
+       my @files=@_;
+
+       debug("skeleton plugin told that files were changed: @files");
+}
+
+sub cgi ($) {
        my $cgi=shift;
 
        debug("skeleton plugin running in cgi");
-} #}}}
+}
 
-sub auth ($$) { #{{{
+sub auth ($$) {
        my $cgi=shift;
        my $session=shift;
 
        debug("skeleton plugin running in auth");
-} #}}}
+}
 
-sub sessionncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $cgi=shift;
        my $session=shift;
 
        debug("skeleton plugin running in sessioncgi");
-} #}}}
+}
 
-sub canedit ($$$) { #{{{
+sub canedit ($$$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
 
        debug("skeleton plugin running in canedit");
-} #}}}
+}
 
-sub editcontent ($$$) { #{{{
+sub canremove (@) {
+       my %params=@_;
+
+       debug("skeleton plugin running in canremove");
+}
+
+sub canrename (@) {
+       my %params=@_;
+
+       debug("skeleton plugin running in canrename");
+}
+
+sub checkcontent (@) {
+       my %params=@_;
+
+       debug("skeleton plugin running in checkcontent");
+}
+
+sub editcontent ($$$) {
        my %params=@_;
 
        debug("skeleton plugin running in editcontent");
 
        return $params{content};
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
        
        debug("skeleton plugin running in formbuilder_setup");
-} # }}}
+}
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
        
        debug("skeleton plugin running in formbuilder");
-} # }}}
+}
 
-sub savestate () { #{{{
+sub renamepage (@) {
+       my %params=@_;
+       
+       debug("skeleton plugin running in renamepage");
+}
+
+sub rename (@) {
+       my %params=@_;
+       
+       debug("skeleton plugin running in rename");
+}
+
+sub savestate () {
        debug("skeleton plugin running in savestate");
-} #}}}
+}
+
+sub genwrapper () {
+       debug("skeleton plugin running in genwrapper");
+}
+
+sub disable () {
+       debug("skeleton plugin running in disable");
+}
 
 1