X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/e49ff966a39d1037ccbf168b8dbd12618cf1b41e..63edea27bc71c3bdf1837f994fb7effdd93fb2dd:/doc/plugins/write.mdwn diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 925717777..950c4f1f9 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -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); @@ -183,13 +187,13 @@ use the following hashes, using a page name as the key: * `%IkiWiki::renderedfiles` contains the name of the file rendered by a page * `%IkiWiki::pagesources` contains the name of the source file for a page. -* `%IkiWiki::depends` contains a [[GlobList]] that is used to specify other +* `%IkiWiki::depends` contains a [[PageSpec]] that is used to specify other pages that a page depends on. If one of its dependencies is updated, the page will also get rebuilt. Many plugins will need to add dependencies to this hash; the best way to do it is by using the IkiWiki::add_depends function, which takes as its - parameters the page name and a [[GlobList]] of dependencies to add. + parameters the page name and a [[PageSpec]] of dependencies to add. * `%IkiWiki::forcerebuild` any pages set as the keys to this hash will be treated as if they're modified and rebuilt.