* Improve handling of edits of locked pages by users who are not yet signed
[ikiwiki.git] / IkiWiki / Plugin / skeleton.pm
1 #!/usr/bin/perl
2 # Ikiwiki skeleton plugin. Replace "skeleton" with the name of your plugin
3 # in the lines below, remove hooks you don't use, and flesh out the code to
4 # make it do something.
5 package IkiWiki::Plugin::skeleton;
6
7 use warnings;
8 use strict;
9 use IkiWiki 2.00;
10
11 sub import { #{{{
12         hook(type => "getopt", id => "skeleton",  call => \&getopt);
13         hook(type => "checkconfig", id => "skeleton", call => \&checkconfig);
14         hook(type => "preprocess", id => "skeleton", call => \&preprocess);
15         hook(type => "filter", id => "skeleton", call => \&filter);
16         hook(type => "htmlize", id => "skeleton", call => \&htmlize);
17         hook(type => "sanitize", id => "skeleton", call => \&sanitize);
18         hook(type => "format", id => "skeleton", call => \&format);
19         hook(type => "pagetemplate", id => "skeleton", call => \&pagetemplate);
20         hook(type => "delete", id => "skeleton", call => \&delete);
21         hook(type => "change", id => "skeleton", call => \&change);
22         hook(type => "cgi", id => "skeleton", call => \&cgi);
23         hook(type => "auth", id => "skeleton", call => \&auth);
24         hook(type => "canedit", id => "skeleton", call => \&canedit);
25         hook(type => "formbuilder_setup", id => "skeleton", call => \&formbuilder_setup);
26         hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
27         hook(type => "savestate", id => "savestate", call => \&savestate);
28 } # }}}
29
30 sub getopt () { #{{{
31         debug("skeleton plugin getopt");
32 } #}}}
33
34 sub checkconfig () { #{{{
35         debug("skeleton plugin checkconfig");
36 } #}}}
37
38 sub preprocess (@) { #{{{
39         my %params=@_;
40
41         return "skeleton plugin result";
42 } # }}}
43
44 sub filter (@) { #{{{
45         my %params=@_;
46         
47         debug("skeleton plugin running as filter");
48
49         return $params{content};
50 } # }}}
51
52 sub htmlize (@) { #{{{
53         my %params=@_;
54
55         debug("skeleton plugin running as htmlize");
56
57         return $params{content};
58 } # }}}
59
60 sub sanitize (@) { #{{{
61         my %params=@_;
62         
63         debug("skeleton plugin running as a sanitizer");
64
65         return $params{content};
66 } # }}}
67
68 sub format (@) { #{{{
69         my %params=@_;
70         
71         debug("skeleton plugin running as a formatter");
72
73         return $params{content};
74 } # }}}
75
76 sub pagetemplate (@) { #{{{
77         my %params=@_;
78         my $page=$params{page};
79         my $template=$params{template};
80         
81         debug("skeleton plugin running as a pagetemplate hook");
82 } # }}}
83
84 sub delete (@) { #{{{
85         my @files=@_;
86
87         debug("skeleton plugin told that files were deleted: @files");
88 } #}}}
89
90 sub change (@) { #{{{
91         my @files=@_;
92
93         debug("skeleton plugin told that changed files were rendered: @files");
94 } #}}}
95
96 sub cgi ($) { #{{{
97         my $cgi=shift;
98
99         debug("skeleton plugin running in cgi");
100 } #}}}
101
102 sub auth ($$) { #{{{
103         my $cgi=shift;
104         my $session=shift;
105
106         debug("skeleton plugin running in auth");
107 } #}}}
108
109 sub canedit ($$$) { #{{{
110         my $page=shift;
111         my $cgi=shift;
112         my $session=shift;
113
114         debug("skeleton plugin running in canedit");
115 } #}}}
116
117 sub formbuilder_setup (@) { #{{{
118         my %params=@_;
119         
120         debug("skeleton plugin running in formbuilder_setup");
121 } # }}}
122
123 sub formbuilder (@) { #{{{
124         my %params=@_;
125         
126         debug("skeleton plugin running in formbuilder");
127 } # }}}
128
129 sub savestate () { #{{{
130         debug("skeleton plugin running in savestate");
131 } #}}}
132
133 1