aboutsummaryrefslogtreecommitdiff
path: root/doc/templates.mdwn
blob: 6d914ef5a8170de15a0389beb26f9628fdb03b2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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.

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 this 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.
  
  Note that the SignIn form is 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 this template. Without
  the template, CGI::FormBuilder creates the page body by itself.

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