X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/5466a1daf99e8e4c67a19f871aaf558312569652..8d4c474f3b92ed2d0e8f968e34a5c6d9d30921fe:/doc/plugins/write.mdwn?ds=inline diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index 245f7c9ee..5be90efdf 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -35,10 +35,12 @@ This is probably the most common use of a plugin. Replace "foo" with the command name that will be used inside brackers for the preprocessor directive. -Each time the directive is processed, the referenced function (`preprocess` in the example above) is called, and is passed named parameters. A -"page" parameter gives the name of the page that embedded the preprocessor directive. All parameters included in the directive are included -as named parameters as well. Whatever the function returns goes onto the -page in place of the directive. +Each time the directive is processed, the referenced function (`preprocess` +in the example above) is called, and is passed named parameters. A "page" +parameter gives the name of the page that embedded the preprocessor +directive. All parameters included in the directive are included as named +parameters as well. Whatever the function returns goes onto the page in +place of the directive. ## Error handing @@ -53,7 +55,8 @@ Note that if the [[htmlscrubber]] is enabled, html in [[PreProcessorDirective]] output is sanitised, which may limit what your plugin can do. Also, the rest of the page content is not in html format at preprocessor time. Text output by a preprocessor directive will be passed -through markdown along with the rest of the page. +through markdown (or whatever engine is used to htmlize the page) along +with the rest of the page. # Other types of hooks @@ -77,14 +80,14 @@ Runs on the raw source of a page, before anything else touches it, and can make arbitrary changes. The function is passed named parameters `page` and `content` and should return the filtered content. -## sanitize +## htmlize - IkiWiki::hook(type => "filter", id => "foo", call => \&sanitize); + IkiWiki::hook(type => "htmlize", id => "ext", call => \&filter); -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. -The function is passed the page content and should return the sanitized -content. +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 +this plugin. This is how you can add support for new and exciting markup +languages to ikiwiki. ## pagetemplate @@ -97,6 +100,15 @@ be used to generate the page. It can manipulate that template, the most common thing to do is probably to call $template->param() to add 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. +The function is passed the page content and should return the sanitized +content. + ## delete IkiWiki::hook(type => "delete", id => "foo", call => \&dele);