aboutsummaryrefslogtreecommitdiff
path: root/doc/templates.mdwn
blob: 6b9fc02188c24dc92a5713104bfb54cb4e3f86e4 (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
27
28
29
30
31
32
33
34
35
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.
* `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.

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.