]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/write.mdwn
* Don't run tidy with -xml as that fails if the input is not well-formed.
[ikiwiki.git] / doc / plugins / write.mdwn
index 025a242a63c4318888225dd9975e7e680f8194f4..6d90543895f95baa393b312bc31d4a5bf91adcdc 100644 (file)
@@ -96,7 +96,7 @@ make arbitrary changes. The function is passed named parameters `page` and
 
 ## htmlize
 
-       IkiWiki::hook(type => "htmlize", id => "ext", call => \&filter);
+       IkiWiki::hook(type => "htmlize", id => "ext", call => \&htmlize);
 
 Runs on the raw source of a page and turns it into html. The id parameter
 specifies the filename extension that a file must have to be htmlized using
@@ -129,13 +129,23 @@ to set it, as setting a variable that's not present is an error.
        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 => \&dele);
+       IkiWiki::hook(type => "delete", id => "foo", call => \&delete);
 
 Each time a page or pages is removed from the wiki, the referenced function
 is called, and passed the names of the source files that were removed.
@@ -183,13 +193,15 @@ 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.
 
 # A note on generating html links