Add an underlay for javascript, and add ikiwiki.js containing some utility code.
[ikiwiki] / doc / wikitemplates.mdwn
1 ikiwiki uses the HTML::Template module as its template engine. This
2 supports things like conditionals and loops in templates and is pretty easy
3 to learn.
4
5 The aim is to keep almost all html out of ikiwiki and in the templates.
6
7 It ships with some basic templates which can be customised. These are
8 located in /usr/share/ikiwiki/templates by default.
9
10 * `page.tmpl` - Used for displaying all regular wiki pages.
11 * `misc.tmpl` - Generic template used for any page that doesn't
12   have a custom template.
13 * `editpage.tmpl` - Create/edit page.
14 * `change.tmpl` - Used to create a page describing a change made to the wiki.
15 * `passwordmail.tmpl` - Not a html template, this is used to
16   generate a mail with an url the user can use to reset their password.
17 * `rsspage.tmpl` - Used for generating rss feeds for [[blogs|blog]].
18 * `rssitem.tmpl` - Used for generating individual items on rss feeds.
19 * `atompage.tmpl` - Used for generating atom feeds for blogs.
20 * `atomitem.tmpl` - Used for generating individual items on atom feeds.
21 * `inlinepage.tmpl` - Used for adding a page inline in a blog
22   page.
23 * `archivepage.tmpl` - Used for listing a page in a blog archive page.
24 * `blogpost.tmpl` - Used for a form to add a post to a blog (and a rss/atom links)
25 * `feedlink.tmpl` - Used to add rss/atom links if blogpost.tmpl is not used.
26 * `aggregatepost.tmpl` - Used by the [[plugins/aggregate]] plugin to create
27   a page for a post.
28 * `searchform.tmpl` - Used by the [[plugins/search]] plugin to add a search
29   form to wiki pages.
30 * `searchquery.tmpl` - This is an omega template, used by the
31   [[plugins/search]] plugin.
32
33 The [[plugins/pagetemplate]] plugin can allow individual pages to use a
34 different template than `page.tmpl`.
35
36 The [[plugins/template]] plugin also uses templates, though those
37 [[templates]] are stored in the wiki and inserted into pages.
38
39 The [[plugins/edittemplate]] plugin is used to make new pages default to
40 containing text from a template, which can be filled as out the page is
41 edited.