]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/ikiwiki/directive/edittemplate.mdwn
Use templatebody for the templates in the basewiki and docwiki
[git.ikiwiki.info.git] / doc / ikiwiki / directive / edittemplate.mdwn
index c486e821b0fc3ddd66d61226cb53f56ab18ad6bc..b3177daa806af4b7bf2e37d12ee795bff97d2239 100644 (file)
@@ -2,9 +2,15 @@ The `edittemplate` directive is supplied by the [[!iki plugins/edittemplate desc
 
 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. To avoid
@@ -12,25 +18,25 @@ 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 <<ENDBODY
        Package: 
        Version: 
        Reproducible: y/n
        Details:
+       ENDBODY]]
 
 The template page can also contain [[!cpan HTML::Template]] directives,
 like other ikiwiki [[templates]]. Currently only one variable is
 set: `<TMPL_VAR name>` is replaced with the name of the page being
 created.
 
-----
+Text outside the [[templatebody]] directive is not part of the template,
+and can be used to document it.
 
-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.
+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"]]