<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/perl
# Ikiwiki skeleton plugin. Replace "skeleton" with the name of your plugin
# 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;
use strict;
use IkiWiki '1.00';

sub import { #{{{
	hook(type =&gt; "getopt", id =&gt; "skeleton",  call =&gt; \&amp;getopt);
	hook(type =&gt; "checkconfig", id =&gt; "skeleton", call =&gt; \&amp;checkconfig);
	hook(type =&gt; "preprocess", id =&gt; "skeleton", call =&gt; \&amp;preprocess);
	hook(type =&gt; "filter", id =&gt; "skeleton", call =&gt; \&amp;filter);
	hook(type =&gt; "htmlize", id =&gt; "skeleton", call =&gt; \&amp;htmlize);
	hook(type =&gt; "sanitize", id =&gt; "skeleton", call =&gt; \&amp;sanitize);
	hook(type =&gt; "format", id =&gt; "skeleton", call =&gt; \&amp;format);
	hook(type =&gt; "pagetemplate", id =&gt; "skeleton", call =&gt; \&amp;pagetemplate);
	hook(type =&gt; "delete", id =&gt; "skeleton", call =&gt; \&amp;delete);
	hook(type =&gt; "change", id =&gt; "skeleton", call =&gt; \&amp;change);
	hook(type =&gt; "cgi", id =&gt; "skeleton", call =&gt; \&amp;cgi);
	hook(type =&gt; "auth", id =&gt; "skeleton", call =&gt; \&amp;auth);
	hook(type =&gt; "formbuilder_setup", id =&gt; "skeleton", call =&gt; \&amp;formbuilder_setup);
	hook(type =&gt; "formbuilder", id =&gt; "skeleton", call =&gt; \&amp;formbuilder);
	hook(type =&gt; "savestate", id =&gt; "savestate", call =&gt; \&amp;savestate);
} # }}}

sub getopt () { #{{{
	debug("skeleton plugin getopt");
} #}}}

sub checkconfig () { #{{{
	debug("skeleton plugin checkconfig");
} #}}}

sub preprocess (@) { #{{{
	my %params=@_;

	return "skeleton plugin result";
} # }}}

sub filter (@) { #{{{
	my %params=@_;
	
	debug("skeleton plugin running as filter");

	return $params{content};
} # }}}

sub htmlize (@) { #{{{
	my %params=@_;

	debug("skeleton plugin running as htmlize");

	return $params{content};
} # }}}

sub sanitize (@) { #{{{
	my %params=@_;
	
	debug("skeleton plugin running as a sanitizer");

	return $params{content};
} # }}}

sub format (@) { #{{{
	my %params=@_;
	
	debug("skeleton plugin running as a formatter");

	return $params{content};
} # }}}

sub pagetemplate (@) { #{{{
	my %params=@_;
	my $page=$params{page};
	my $template=$params{template};
	
	debug("skeleton plugin running as a pagetemplate hook");
} # }}}

sub delete (@) { #{{{
	my @files=@_;

	debug("skeleton plugin told that files were deleted: @files");
} #}}}

sub change (@) { #{{{
	my @files=@_;

	debug("skeleton plugin told that changed files were rendered: @files");
} #}}}

sub cgi ($) { #{{{
	my $cgi=shift;

	debug("skeleton plugin running in cgi");
} #}}}

sub auth ($$) { #{{{
	my $cgi=shift;
	my $session=shift;

	debug("skeleton plugin running in auth");
} #}}}

sub formbuilder_setup (@) { #{{{
	my %params=@_;
	
	debug("skeleton plugin running in formbuilder_setup");
} # }}}

sub formbuilder (@) { #{{{
	my %params=@_;
	
	debug("skeleton plugin running in formbuilder");
} # }}}

sub savestate () { #{{{
	debug("skeleton plugin running in savestate");
} #}}}

1
</pre></body></html>