]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/templates.mdwn
further improvement
[ikiwiki.git] / doc / templates.mdwn
index 22b9345ef7faec93829dedd8725c437c964334f1..2eb1df49444edba7f4c705e51d9b31ca562c37eb 100644 (file)
@@ -1,11 +1,6 @@
 [[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 to modify templates is this:
@@ -19,32 +14,47 @@ easy to learn. All you really need to know to modify templates is this:
 [[!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 !*.tmpl and !*/discussion"
-feeds=no archive=yes sort=title template=titlepage
-rootpage=templates postformtext="Add a new template named:"]]
+The [[!iki ikiwiki/directive/template desc="template directive"]] allows
+wiki pages to be used as templates, filled out and inserted into other
+pages in the wiki.
 """]]
 
 [[!if test="enabled(edittemplate)" then="""
-## edit templates
+## default content for new pages
 
-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.
+The [[!iki ikiwiki/directive/edittemplate desc="edittemplate directive"]] can
+be used to make new pages default to containing text from a template
+page, which can be filled out as the page is edited.
 """]]
 
-## wiki templates
+[[!if test="(enabled(template) or enabled(edittemplate))
+and enabled(inline)" then="""
+## available template pages
+
+[[!inline pages="templates/* and !*.tmpl and !templates/*/* and !*/discussion"
+feeds=no archive=yes sort=title template=titlepage
+rootpage=templates postformtext="Add a new template page named:"]]
+"""]]
+
+## 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`.
 
-These templates are used to build the wiki. The aim is to keep almost all
-html out of ikiwiki and in the templates.
+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 customize. [[!if test="enabled(pagetemplate)" then="""
-  (The pagetemplate directive can be used to make a page use a
-  different template than `page.tmpl`.)"""]]
+  key template to customise to change the look and feel of your site.
+  [[!if test="enabled(pagetemplate)" then="""
+  (The [[!iki ikiwiki/directive/pagetemplate desc="pagetemplate directive"]]
+  can be used to make a page use a different template than `page.tmpl`.)"""]]
 * `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.
@@ -53,7 +63,7 @@ html out of ikiwiki and in the templates.
 * `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)
+* `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.
@@ -71,7 +81,7 @@ html out of ikiwiki and in the templates.
 * `editpage.tmpl`, `editconflict.tmpl`, `editcreationconflict.tmpl`,
   `editfailedsave.tmpl`, `editpagegone.tmpl`, `pocreatepage.tmpl`,
   `editcomment.tmpl` `commentmoderation.tmpl`, `renamesummary.tmpl`,
-  `passwordmail.tmpl`, `openid-selector.tmpl` - Parts of ikiwiki's user
+  `passwordmail.tmpl`, `openid-selector.tmpl`, `revert.tmpl` - Parts of ikiwiki's user
   interface; do not normally need to be customised.
 
 [[!meta robots="noindex, follow"]]