templates
Ikiwiki uses many templates for many purposes. By editing its templates,
you can fully customise its appearance, and avoid duplicate content.
Ikiwiki uses the HTML::Template module as its template engine. This
supports things like conditionals and loops in templates and is pretty
easy to learn. All you really need to know to modify templates is this:
- To insert the value of a template variable, use
<TMPL_VAR variable>
.
- To make a block of text conditional on a variable being set use
<TMPL_IF variable>text</TMPL_IF>
.
- To use one block of text if a variable is set and a second if it's not,
use
<TMPL_IF variable>text<TMPL_ELSE>other text</TMPL_IF>
template pages
Template pages are regular wiki pages containing a
templatebody directive,
used as templates for other pages. The parts of the template
page outside the directive can be used to document it.
The template directive allows
template pages to be filled out and inserted into other pages in the wiki.
The edittemplate directive can
be used to make new pages default to containing text from a template
page, which can be filled out as the page is edited.
These template pages are currently available:
note
popup
If the template does not contain a templatebody
directive, the entire
source of the page is used for the template. This is deprecated.
template files
Template files are unlike template pages in that they have the extension
.tmpl
. Template files are used extensively by Ikiwiki to generate html.
They can contain html that would not normally be allowed on a wiki page.
Template files are located in /usr/share/ikiwiki/templates
by default;
the templatedir
setting can be used to make another directory be
searched first. Customised template files can also be placed inside the
"templates/" directory in your wiki's source -- files placed there override
ones in the templatedir
.
Here is a full list of the template files used: