X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/9921a4a8a1a696ce69acce5e14943f0149d926ff..HEAD:/doc/ikiwiki/directive/edittemplate.mdwn?ds=sidebyside diff --git a/doc/ikiwiki/directive/edittemplate.mdwn b/doc/ikiwiki/directive/edittemplate.mdwn index b3187ea66..70bd2ad25 100644 --- a/doc/ikiwiki/directive/edittemplate.mdwn +++ b/doc/ikiwiki/directive/edittemplate.mdwn @@ -1,34 +1,54 @@ -The `edittemplate` directive is supplied by the [[!iki plugins/edittemplate]] plugin. +The `edittemplate` directive is supplied by the [[!iki plugins/edittemplate desc=edittemplate]] plugin. This directive allows registering template pages, that provide default content for new pages created using the web frontend. To register a -template, insert a [[ikiwiki/directive/template]] directive on some other page. +template, insert an [[ikiwiki/directive/edittemplate]] directive on some other +page. \[[!edittemplate template="bugtemplate" match="bugs/*"]] + +A recommended place to put the directive is on the parent page +of the pages that will be created using the template. So the above +example would be put on the bugs page. (Do not put the directive on the +template page itself.) In the above example, the page named "bugtemplate" is registered as a -template to be used when any page named "bugs/*" is created. +template to be used when any page named "bugs/*" is created. To avoid +the directive displaying a note about the template being registered, add +"silent=yes". Often the template page contains a simple skeleton for a particular type of -page. For the bug report pages in the above example, it might look -something like: +page, wrapped in a [[templatebody]] directive. For the bug report pages in +the above example, it might look something like: + \[[!templatebody <` is replaced with the name of the page being -created. +like other ikiwiki [[templates]]. ----- +These variables might be set: -It's generally not a good idea to put the `edittemplate` directive in -the template page itself, since the directive would then be included as -part of the template on new pages, which would then in turn be registered -as templates. If multiple pages are registered as templates for a new page, -an arbitrary one is chosen, so that could get confusing. +* `` is replaced with the name of the page being + created. + +* `` is replaced with a version 4 (random) UUID + suitable for use in `\[[!meta guid="urn:uuid:"]]`. + (Requires the `UUID::Tiny` Perl module if not running on Linux.) + +* `` is replaced with the current (template generation) + time using a fixed format (RFC 3339, `%Y-%m-%dT%H:%M:%SZ`), + suitable for use in `\[[!meta date=""]]` + (see [[meta]]) or `\[[!date ""]]` (see [[date]]). + +Text outside the [[templatebody]] directive is not part of the template, +and can be used to document it. + +If the template does not contain a [[templatebody]] directive, the entire +source of the page is used for the template. This is deprecated. [[!meta robots="noindex, follow"]]