]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/plugins/write.mdwn
* Add first draft at a Restructured Text (rst) plugin, by Sergio
[git.ikiwiki.info.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
 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
 
 ## 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.
 
 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);
 ## delete
 
        IkiWiki::hook(type => "delete", id => "foo", call => \&delete);