diff options
Diffstat (limited to 'doc/plugins')
-rw-r--r-- | doc/plugins/templatebody.mdwn | 7 | ||||
-rw-r--r-- | doc/plugins/write.mdwn | 23 |
2 files changed, 30 insertions, 0 deletions
diff --git a/doc/plugins/templatebody.mdwn b/doc/plugins/templatebody.mdwn new file mode 100644 index 000000000..eee5cde1a --- /dev/null +++ b/doc/plugins/templatebody.mdwn @@ -0,0 +1,7 @@ +[[!template id=plugin name=templatebody author="[[smcv]]" core=1]] +[[!tag type/special-purpose]] + +This plugin provides the [[ikiwiki/directive/templatebody]] +[[ikiwiki/directive]]. With this plugin, you can set up templates +stored in the wiki for [[template]] or [[edittemplate]] without the +[[!cpan HTML::Template]] markup being interpreted as wiki markup. diff --git a/doc/plugins/write.mdwn b/doc/plugins/write.mdwn index d2d1a6329..15f054c09 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. +### <a name="readtemplate">readtemplate</a> + + 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. + ### <a name="filter">filter</a> hook(type => "filter", id => "foo", call => \&filter); |