hook(type => "needsbuild", id => "foo", call => \&needsbuild);
-This allows a plugin to manipulate the list of files that need to be
-built when the wiki is refreshed. The function is passed a reference to an
-array of files that will be rebuilt, and can modify the array, either
-adding or removing files from it.
+This allows a plugin to observe or even manipulate the list of files that
+need to be built when the wiki is refreshed.
+
+As its first parameter, the function is passed a reference to an array of
+files that will be built. It should return an array reference that is a
+modified version of its input. It can add or remove files from it.
+
+The second parameter passed to the function is a reference to an array of
+files that have been deleted.
### scan
hook(type => "filter", id => "foo", call => \&filter);
-Runs on the raw source of a page, before anything else touches it, and can
-make arbitrary changes. The function is passed named parameters "page",
-"destpage", "content" and "fullpage". "fullpage" is a true value if,
-and only if, a full page's content is being filtered, e.g. as opposed
-to a directive parameter. It should return the filtered content.
+Runs on the full raw source of a page, before anything else touches it, and
+can make arbitrary changes. The function is passed named parameters "page",
+"destpage", and "content". It should return the filtered content.
### preprocess
The code runs before anything else -- in particular it runs before
the suid wrapper has sanitized its environment.
+### disable
+
+ hook(type => "disable", id => "foo", call => \&disable);
+
+This hook is only run when a previously enabled plugin gets disabled
+during ikiwiki setup. Plugins can use this to perform cleanups.
+
## Exported variables
Several variables are exported to your plugin when you `use IkiWiki;`
the templates/ directory. If the page name starts with "/", a page
elsewhere in the wiki can be used.
+If the template is not found, or contains a syntax error, an error is thrown.
+
### `template_depends($$;@)`
Use this instead of `template()` if the content of a template is being