X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/9a99c4c6e2228954b27e1e93e2b66c12a74850ac..275ddced93a9de67bfd01add797c0f6e9da6efbd:/doc/plugins/write.mdwn diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index d2d1a6329..7480a6148 100644 --- a/doc/plugins/write.mdwn +++ b/doc/plugins/write.mdwn @@ -211,6 +211,29 @@ them to `%links`. Present in IkiWiki 2.40 and later. The function is passed named parameters "page" and "content". Its return value is ignored. +### readtemplate + + hook(type => "readtemplate", id => "foo", call => \&readtemplate); + +Runs on the raw source of a page or `*.tmpl` file that is being +used as a template, before it is parsed by [[!cpan HTML::Template]]. +For instance, the [[plugins/templatebody]] plugin uses this to return +the content of the [[ikiwiki/directive/templatebody]] directive (if there +is one) instead of the page's full content. + +The function is passed named parameters: + +* `id`: the name under which the template was looked up, + such as `page.tmpl` or `note` +* `page`: the name of the template as a page or attachment in the wiki, + such as `templates/note`, or `undef` if it's outside the wiki (e.g. in + `/usr/share/ikiwiki/templates`) +* `content`: the content of the corresponding file +* `untrusted`: true if the template was loaded from the wiki or an underlay, + false if it was loaded from a trusted location + +It should return the replacement content. + ### filter hook(type => "filter", id => "foo", call => \&filter); @@ -435,6 +458,9 @@ object's "name" parameter to the authenticated user's name. Note that if the name is set to the name of a user who is not registered, a basic registration of the user will be automatically performed. +Auth plugins can use the loginselector helper plugin to let the user +select which authentication method to use. + ### sessioncgi hook(type => "sessioncgi", id => "foo", call => \&sessioncgi); @@ -505,6 +531,10 @@ should return a message stating what the problem is, or a function that can be run to perform whatever action is necessary to allow the user to post the content. +If the hook is ran on a comment, it will be put in the moderation queue if +anything but `undef` is returned. The function or error message will not +be ran or displayed. + ### editcontent hook(type => "editcontent", id => "foo", call => \&editcontent); @@ -715,21 +745,28 @@ Ordinary [[WikiLinks|ikiwiki/WikiLink]] appear in `%links`, but not in ### `%pagesources` -The `%pagesources` has can be used to look up the source filename +The `%pagesources` hash can be used to look up the source filename of a page. So the key is the page name, and the value is the source filename. Do not modify this hash. +Attachments also appear in this hash, with the same key and value. + $pagesources{"foo"} = "foo.mdwn"; + $pagesources{"logo/ikiwiki.png"} = "logo/ikiwiki.png"; + ### `%destsources` The `%destsources` hash records the name of the source file used to create each destination file. The key is the output filename (ie, -"foo/index.html"), and the value is the source filename that it was built -from (eg, "foo.mdwn"). Note that a single source file may create multiple +"foo/index.html"), and the value is the name of the page that it was built +from (eg, "foo"). Note that a single source file may create multiple destination files. Do not modify this hash directly; call `will_render()`. - - $destsources{"foo/index.html"} = "foo.mdwn"; + +Attachments also appear in this hash, with the same key and value. + + $destsources{"foo/index.html"} = "foo"; + $destsources{"logo/ikiwiki.png"} = "logo/ikiwiki.png"; ## Library functions