Ikiwiki uses many templates for many purposes. By editing its templates, you can fully customise its appearance, and avoid duplicate content.

Ikiwiki verwendet das Modul HTML::Template für Vorlagen. Das unterstützt Bedingungen und Schleifen, außerdem ist es ziemlich einfach zu lernen. Um Vorlagen anzupassen, genügt es Folgendes zu wissen:

  • Um den Wert einer Variable einzufügen, verwende <TMPL_VAR Variable>.
  • Wenn ein Textblock nur dann angezeigt werden soll, wenn eine Variable gesetzt ist, verwende <TMPL_IF Variable>Text</TMPL_IF>.
  • Um einen Textblock anzuzeigen, wenn eine Variable gesetzt ist, und einen anderen, wenn sie es nicht ist, verwende <TMPL_IF Variable>Text<TMPL_ELSE>anderer Text</TMPL_IF>.


Template pages are regular wiki pages containing a templatebody directive, used as templates for other pages. The parts of the template page outside the directive can be used to document it.

The template directive allows template pages to be filled out and inserted into other pages in the wiki.

Die edittemplate-Anweisung kann verwendet werden, damit neue Seiten zunächst den Text einer Vorlagenseite enthalten, die dann beim Bearbeiten ausgefüllt werden kann.

These template pages are currently available:

Add a new template page named:







If the template does not contain a templatebody directive, the entire source of the page is used for the template. This is deprecated.

template files

Template files are unlike template pages in that they have the extension .tmpl. Template files are used extensively by Ikiwiki to generate html. They can contain html that would not normally be allowed on a wiki page.

Template files are located in /usr/share/ikiwiki/templates by default; the templatedir setting can be used to make another directory be searched first. Customised template files can also be placed inside the "templates/" directory in your wiki's source -- files placed there override ones in the templatedir.

Here is a full list of the template files used:

  • page.tmpl - Used for displaying all regular wiki pages. This is the key template to customise to change the look and feel of Ikiwiki.
  • 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 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.
  • trails.tmpl - Used by the trail plugin to generate links on each page that is a member of a trail.
  • notifyemail.tmpl - Used by the notifymail plugin to generate mails about changed pages.
  • editpage.tmpl, editconflict.tmpl, editcreationconflict.tmpl, editfailedsave.tmpl, editpagegone.tmpl, pocreatepage.tmpl, editcomment.tmpl commentmoderation.tmpl, renamesummary.tmpl, passwordmail.tmpl, emailauth.tmpl, login-selector.tmpl, revert.tmpl - Parts of ikiwiki's user interface; do not normally need to be customised.