]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/plugins/write.mdwn
* Also generate rel=bookmark links for permalinks.
[ikiwiki.git] / doc / plugins / write.mdwn
index 93c6d1d5cbb216975384bf904f54d80cb14e8c6f..79bd75e9b8583d0e5fa13769b22f3a7b924cd979 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
@@ -135,7 +135,7 @@ content.
 
 ## 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.
@@ -157,6 +157,14 @@ called in turn, and passed a CGI object. The hook should examine the
 parameters, and if it will handle this CGI request, output a page and
 terminate the program.
 
+## savestate
+
+       IkiWiki::hook(type => "savestate", id => "foo", call => \&savestate);
+
+This hook is called wheneven ikiwiki normally saves its state, just before
+the state is saved. The function can save other state, modify values before
+they're saved, etc.
+
 # Wiki configuration
 
 A plugin can access the wiki's configuration via the `%IkiWiki::config`
@@ -175,13 +183,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