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/notifymail.tmpl` - Not a html template, this is used to generate change notification mails for users who have subscribed to changes to a page. * `templates/passwordmail.tmpl` - Not a html template, this is used to generate the mail with the user's password in it. * `templates/rsspage.tmpl` - Used for generating rss feeds for [[blog]]s. * `templates/inlinepage.tmpl` - Used for adding a page inline in a blog page. * `templates/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. 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.