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.
I aim to keep almost all html out of ikiwiki and in the templates.
It ships with some basic templates which can be customised:
* `templates/page.tmpl` - Used for displaying all regular wiki pages.
* `templates/misc.tmpl` - Generic template used for any page that doesn't
have a custom template.
* `templates/recentchanges.tmpl` - Used for the RecentChanges page.
* `templates/editpage.tmpl` - Create/edit page.
* `templates/passwordmail.tmpl` - Not a html template, this is used to
generate the mail with the user's password in it.
If you like, you can add these to further customise it:
* `templates/signin.tmpl` - If it exists, it is used for customising the
layout of the SignIn form and all assciated forms. The misc.tmpl is
wrapped around this, so it should only be a template for the form.
* `templates/prefs.tmpl` - If it exists, it is used for customising the
layout of the Prefs form and all assciated forms. The misc.tmpl is
wrapped around this, so it should only be a template for the form.
Note that the SignIn and Prefs forms are implemented using
CGI::FormBuilder, which interfaces to HTML::Template, so not all of it can
be customised with templates, although most of it can, by creating these
templates. Without the templates, CGI::FormBuilder creates the page bodies
by itself.