hook(type => "pagetemplate", id => "foo", call => \&pagetemplate);
+
[[Templates|wikitemplates]] are filled out for many different things in
ikiwiki, like generating a page, or part of a blog page, or an rss feed, or
a cgi. This hook allows modifying the variables available on those
the state is saved. The function can save other state, modify values before
they're saved, etc.
-## renamepage
+### renamepage
hook(type => "renamepage", id => "foo", call => \&renamepage);
interface.
The data returned is a list of `%config` options, followed by a hash
-describing the option. For example:
+describing the option. There can also be an item named "plugin", which
+describes the plugin as a whole. For example:
return
option_foo => {
type => "boolean",
- description => "enable foo",
+ description => "enable foo?",
advanced => 1,
safe => 1,
rebuild => 1,
option_bar => {
type => "string",
example => "hello",
- description => "what to say",
+ description => "option bar",
safe => 1,
rebuild => 0,
},
+ plugin => {
+ description => "description of this plugin",
+ safe => 1,
+ rebuild => 1,
+ },
* `type` can be "boolean", "string", "integer", "pagespec",
or "internal" (used for values that are not user-visible). The type is
* `safe` should be false if the option should not be displayed in unsafe
configuration methods, such as the web interface. Anything that specifies
a command to run, a path on disk, or a regexp should be marked as unsafe.
-* `rebuild` should be true if changing the option will require a wiki rebuild.
+ If a plugin is marked as unsafe, that prevents it from being
+ enabled/disabled.
+* `rebuild` should be true if changing the option (or enabling/disabling
+ the plugin) will require a wiki rebuild, false if no rebuild is needed,
+ and undef if a rebuild could be needed in some circumstances, but is not
+ strictly required.
## Plugin interface