]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/write.mdwn
clarify
[ikiwiki.git] / doc / plugins / write.mdwn
index 79bd75e9b8583d0e5fa13769b22f3a7b924cd979..950c4f1f9f5046a8c09911eb12a6b5b585518e64 100644 (file)
@@ -116,23 +116,27 @@ used to generate the page. The function can manipulate that template
 object.
 
 The most common thing to do is probably to call $template->param() to add
-a new custom parameter to the template. Note that in order to be robust,
-it's a good idea to check whether the template has a variable before trying
-to set it, as setting a variable that's not present is an error.
-
-       if ($template->query(name => 'foo')) {
-               $template->param("foo" => "bar");
-       }
+a new custom parameter to the template.
 
 ## sanitize
 
        IkiWiki::hook(type => "sanitize", id => "foo", call => \&sanitize);
 
 Use this to implement html sanitization or anything else that needs to
-modify the content of a page after it has been fully converted to html.
+modify the body of a page after it has been fully converted to html.
 The function is passed the page content and should return the sanitized
 content.
 
+## format
+
+       IkiWiki::hook(type => "format", id => "foo", call => \&format);
+
+The function is passed the complete page content and can reformat it
+and return the new content. The difference between format and sanitize is
+that sanitize only acts on the page body, while format can modify the
+entire html page including the header and footer inserted by ikiwiki, the
+html document type, etc.
+
 ## delete
 
        IkiWiki::hook(type => "delete", id => "foo", call => \&delete);