X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/9d7375c3b263e77da29a5db22af480db8b99d990..3609a4d7c318dfe3822d8f7bf3fb0a3ed1803d01:/doc/plugins/template.mdwn?ds=sidebyside diff --git a/doc/plugins/template.mdwn b/doc/plugins/template.mdwn index 9e2ab0891..98188d7dc 100644 --- a/doc/plugins/template.mdwn +++ b/doc/plugins/template.mdwn @@ -1,4 +1,4 @@ -[[template id=plugin name=template included=1 author="""[[Joey]]"""]] +[[template id=plugin name=template author="[[Joey]]"]] [[tag type/format]] With this plugin, you can set up templates, and cause them to be filled out @@ -9,28 +9,34 @@ and inserted into pages in the wiki. Using a template works like this: This fills out the template `templates/foo`, filling in the `color` and `age` fields on it with the specified values, and inserts the result into the page. -If a value is triple-quoted, it can include any markup that would be -allowed in the wiki page outside the template. Combined with multi-line -quoted values, this allows for large chunks of marked up text to be -embedded into a template: +(Note that if the template doesn't exist, the page will provide a link that +can be used to create it.) + +A value can include any markup that would be allowed in the wiki page +outside the template. Triple-quoting the value even allows quotes to be +included in it. Combined with multi-line quoted values, this allows for +large chunks of marked up text to be embedded into a template: \[[template id=foo name="Sally" color="green" age=8 notes=""" * \[[Charley]]'s sister. + * "I want to be an astronaut when I grow up." * Really 8 and a half. - * Wants to be an astronaut when she grows up. """]] To create a template, make a page in the wiki named `template/foo`. Note that this is a different location than the directory used for the -[[templates]] used to build the wiki itself, which is not inside the wiki. +[[templates]] used to build the wiki itself, which is not part of the wiki. -The template uses the syntax used by the HTML::Template perl module, which -allows for some fairly complex things to be done. Consult its documentation -for the full syntax, but all you really need to know are a few things: +The template uses the syntax used by the [[cpan HTML::Template]] perl +module, which allows for some fairly complex things to be done. Consult its +documentation for the full syntax, but all you really need to know are a +few things: * To insert the value of a variable, use ``. * To make a block of text conditional on a variable being set use `text`. +* To use one block of text if a variable is set and a second if it's not, + use `textother text` Here's a sample template: @@ -47,3 +53,8 @@ Here's a sample template: + +The filled out template will be formatted the same as the rest of the page +that contains it, so you can include WikiLinks and all other forms of wiki +markup in the template. Note though that such WikiLinks will not show up as +backlinks to the page that uses the template.