]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/skeleton.pm
Hope encrico doesn't mind, but I changed the location and layout of the
[ikiwiki.git] / IkiWiki / Plugin / skeleton.pm
index c9a7a421d4c5b67e16cd14162f735f375a16e684..acbc88994048e31e6020f8f11bf8cba98711a000 100644 (file)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl
 # Ikiwiki skeleton plugin. Replace "skeleton" with the name of your plugin
-# in the lines below, and flesh out the methods to make it do something.
+# in the lines below, remove hooks you don't use, and flesh out the code to
+# make it do something.
 package IkiWiki::Plugin::skeleton;
 
 use warnings;
@@ -8,13 +9,84 @@ use strict;
 use IkiWiki;
 
 sub import { #{{{
-       IkiWiki::register_plugin("preprocess", "skeleton", \&preprocess);
+       IkiWiki::hook(type => "checkconfig", id => "skeleton", 
+               call => \&checkconfig);
+       IkiWiki::hook(type => "preprocess", id => "skeleton", 
+               call => \&preprocess);
+       IkiWiki::hook(type => "filter", id => "skeleton", 
+               call => \&filter);
+       IkiWiki::hook(type => "htmlize", id => "skeleton",
+               call => \&htmlize);
+       IkiWiki::hook(type => "sanitize", id => "skeleton", 
+               call => \&sanitize);
+       IkiWiki::hook(type => "pagetemplate", id => "skeleton", 
+               call => \&pagetemplate);
+       IkiWiki::hook(type => "delete", id => "skeleton", 
+               call => \&delete);
+       IkiWiki::hook(type => "change", id => "skeleton", 
+               call => \&change);
+       IkiWiki::hook(type => "cgi", id => "skeleton", 
+               call => \&cgi);
 } # }}}
 
+sub checkconfig () { #{{{
+       IkiWiki::debug("skeleton plugin checkconfig");
+} #}}}
+
 sub preprocess (@) { #{{{
        my %params=@_;
 
        return "skeleton plugin result";
 } # }}}
 
+sub filter (@) { #{{{
+       my %params=@_;
+       
+       IkiWiki::debug("skeleton plugin running as filter");
+
+       return $params{content};
+} # }}}
+
+sub htmlize ($) { #{{{
+       my $content=shift;
+
+       IkiWiki::debug("skeleton plugin running as htmlize");
+
+       return $content;
+} # }}}
+
+sub sanitize ($) { #{{{
+       my $content=shift;
+       
+       IkiWiki::debug("skeleton plugin running as a sanitizer");
+
+       return $content;
+} # }}}
+
+sub pagetemplate (@) { #{{{
+       my %params=@_;
+       my $page=$params{page};
+       my $template=$params{template};
+       
+       IkiWiki::debug("skeleton plugin running as a pagetemplate hook");
+} # }}}
+
+sub delete (@) { #{{{
+       my @files=@_;
+
+       IkiWiki::debug("skeleton plugin told that files were deleted: @files");
+} #}}}
+
+sub change (@) { #{{{
+       my @files=@_;
+
+       IkiWiki::debug("skeleton plugin told that changed files were rendered: @files");
+} #}}}
+
+sub cgi ($) { #{{{
+       my $cgi=shift;
+
+       IkiWiki::debug("skeleton plugin running in cgi");
+} #}}}
+
 1