La directive edittemplate est fournie par le greffon edittemplate.

This directive allows registering template pages, that provide default content for new pages created using the web frontend. To register a template, insert an 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.)

Dans l'exemple ci-dessus, la page nommée « bugtemplate » est enregistrée comme modèle de page à utiliser pour toute page nommée « bugs/* » qui sera créée. Pour éviter que la directive n'affiche une note au sujet de l'enregistrement du modèle, il suffit d'activer le paramètre « silent=yes ».

Often the template page contains a simple skeleton for a particular type of page, wrapped in a templatebody directive. For the bug report pages in the above example, it might look something like:

[[!templatebody  <<ENDBODY
Reproducible: y/n

The template page can also contain HTML::Template directives, like other ikiwiki templates.

These variables might be set:

  • <TMPL_VAR name> is replaced with the name of the page being created.

  • <TMPL_VAR uuid> is replaced with a version 4 (random) UUID suitable for use in [[!meta guid="urn:uuid:<TMPL_VAR uuid>"]]. (Requires the UUID::Tiny Perl module if not running on Linux.)

  • <TMPL_VAR time> 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="<TMPL_VAR time>"]] (see meta) or [[!date "<TMPL_VAR time>"]] (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.