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.

The aim is to keep almost all html out of ikiwiki and in the templates.

It ships with some basic templates which can be customised:

* `page.tmpl` - Used for displaying all regular wiki pages.
* `misc.tmpl` - Generic template used for any page that doesn't
  have a custom template.
* `recentchanges.tmpl` - Used for the RecentChanges page.
* `editpage.tmpl` - Create/edit page.
* `notifymail.tmpl` - Not a html template, this is used to
  generate change notification mails for users who have subscribed to
  changes to a page.
* `passwordmail.tmpl` - Not a html template, this is used to
  generate the mail with the user's password in it.
* `rsspage.tmpl` - Used for generating rss feeds for [[blog]]s.
* `inlinepage.tmpl` - Used for adding a page inline in a blog
  page.
* `inlinepagetitle.tmpl` - Used for listing a page inline in a blog
  archive page.
* `estseek.conf` - Not a html template, this is actually a template for
  a config file for the [[HyperEstraier]] search engine. If you like you
  can read the [[HyperEstraier]] docs and configure it using this.
* `blogpost.tmpl` - Used for a form to add a post to a blog (and a rss link)
* `rsslink.tmpl` - Used to add a rss link if blogpost.tmpl is not used.

If you like, you can add these to further customise it:

* `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.
* `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.