X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b2dea99417ebfee3d448ab6b49ca58cb2780258d..bb7ef14a2b411f71f3bb7acb55c6d8215b0b0c82:/doc/plugins/write.mdwn diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 183675c53..5def4c679 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -92,8 +92,6 @@ function is passed no values. ### needsbuild - - hook(type => "needsbuild", id => "foo", call => \&needsbuild); This allows a plugin to manipulate the list of files that need to be @@ -213,8 +211,8 @@ want to change the default ("page.tmpl"). Template files are looked for in Use this to implement html sanitization or anything else that needs to modify the body of a page after it has been fully converted to html. -The function is passed named parameters: "page" and "content", and -should return the sanitized content. +The function is passed named parameters: "page", "destpage", and "content", +and should return the sanitized content. ### format @@ -222,7 +220,9 @@ should return the sanitized 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. +header and footer inserted by ikiwiki, the html document type, etc. (It +should not rely on always being passed the entire page, as it won't be +when the page is being previewed.) The function is passed named parameters: "page" and "content", and should return the formatted content. @@ -363,10 +363,11 @@ next time ikiwiki is run. The hash holds per-page state, so to set a value, use `%pagestate{$page}{$id}{$key}=$value`, and to retrieve the value, use `%pagestate{$page}{$id}{$key}`. -`$key` can be any string you like, but `$id` must be the same as the "id" -parameter passed to `hook()` when registering the plugin. This is so -ikiwiki can know when to delete pagestate for plugins that are no longer -used. +The `$value` can be anything that perl's Storable module is capable of +serializing. `$key` can be any string you like, but `$id` must be the same +as the "id" parameter passed to `hook()` when registering the plugin. This +is so ikiwiki can know when to delete pagestate for plugins that are no +longer used. When pages are deleted, ikiwiki automatically deletes their pagestate too.