[[Ikiwiki]] uses many templates for many purposes. By editing its templates,
you can fully customise this site.
[[!if test="enabled(template)" then="""
The template directive
The template directive allows wiki pages to be used as templates,
filled out and inserted into other pages in the wiki.
"""]]
[[!if test="enabled(template) and enabled(inline)" then="""
[[!inline pages="templates/* and !*/discussion" feeds=no archive=yes
sort=title template=titlepage
rootpage=templates postformtext="Add a new template named:"]]
"""]]
[[!if test="enabled(edittemplate)" then="""
The edittemplate directive
The edittemplate directive can be used to make new pages default to
containing text from a template, which can be filled as out the page is
edited.
"""]]
Wiki templates
These templates are used to build the wiki. The aim is to keep almost all
html out of ikiwiki and in the templates.
page.tmpl
- Used for displaying all regular wiki pages.
misc.tmpl
- Generic template used for any page that doesn't
have a custom template.
rsspage.tmpl
- Used for generating rss feeds for blogs.
rssitem.tmpl
- Used for generating individual items on rss feeds.
atompage.tmpl
- Used for generating atom feeds for blogs.
atomitem.tmpl
- Used for generating individual items on atom feeds.
inlinepage.tmpl
- Used for displaying a post in a blog.
archivepage.tmpl
- Used for listing a page in a blog archive page.
titlepage.tmpl
- Used for listing a page by title in a blog archive page.
microblog.tmpl
- Used for showing a microblogging post inline.
blogpost.tmpl
- Used for a form to add a post to a blog (and a rss/atom links)
feedlink.tmpl
- Used to add rss/atom links if blogpost.tmpl
is not used.
aggregatepost.tmpl
- Used by the aggregate plugin to create
a page for a post.
searchform.tmpl
, googleform.tmpl
- Used by the search plugin
and google plugin to add search forms to wiki pages.
searchquery.tmpl
- This is a Omega template, used by the
search plugin.
comment.tmpl
- Used by the comments plugin to display a comment.
change.tmpl
- Used to create a page describing a change made to the wiki.
recentchanges.tmpl
- Used for listing a change on the RecentChanges page.
autoindex.tmpl
- Filled in by the autoindex plugin to make index pages.
autotag.tmpl
- Filled in by the tag plugin to make tag pages.
calendarmonth.tmpl
, calendaryear.tmpl
- Used by ikiwiki-calendar to
make calendar archive pages.
editpage.tmpl
, editconflict.tmpl
, editcreationconflict.tmpl
,
editfailedsave.tmpl
, editpagegone.tmpl
, pocreatepage.tmpl
,
editcomment.tmpl
commentmoderation.tmpl
, renamesummary.tmpl
,
passwordmail.tmpl
- Parts of ikiwiki's user interface; do not
normally need to be customised.
[[!if test="enabled(pagetemplate)" then="""
The pagetemplate directive
The pagetemplate directive can allow individual pages to use a
different template than page.tmpl
.
"""]]
Template locations
Templates are located in /usr/share/ikiwiki/templates
by default;
the templatedir
setting can be used to make another directory be
searched first. Customized templates can also be placed inside the
"templates/" directory in your wiki's source.
Template syntax
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. All you really need to know are a few things:
- To insert the value of a template variable, use
<TMPL_VAR variable>
.
- To make a block of text conditional on a variable being set use
<TMPL_IF NAME="variable">text</TMPL_IF>
.
- To use one block of text if a variable is set and a second if it's not,
use
<TMPL_IF NAME="variable">text<TMPL_ELSE>other text</TMPL_IF>
[[!meta robots="noindex, follow"]]