summaryrefslogtreecommitdiff
path: root/doc/templates.mdwn
blob: 67e5517e424ca661010afe080aa0230c51e839aa (plain)

[[Ikiwiki]] uses many templates for many purposes. By editing its templates, you can fully customise this site.

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.

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>

[[!if test="enabled(template)" then="""

template pages

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="""

edit templates

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. This is the key template to customize. [[!if test="enabled(pagetemplate)" then=""" (The pagetemplate directive can be used to make a page use a different template than page.tmpl.)"""]]
  • 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.

[[!meta robots="noindex, follow"]]