master
Joey Hess 2010-04-24 01:36:01 -04:00
parent df012e54c7
commit a95d824cb4
1 changed files with 17 additions and 29 deletions

View File

@ -1,6 +1,21 @@
[[Ikiwiki]] uses many templates for many purposes. By editing its templates, [[Ikiwiki]] uses many templates for many purposes. By editing its templates,
you can fully customise this site. 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=""" [[!if test="enabled(template)" then="""
## template pages ## template pages
@ -12,12 +27,6 @@ filled out and inserted into other pages in the wiki.
sort=title template=titlepage sort=title template=titlepage
rootpage=templates postformtext="Add a new template named:"]] rootpage=templates postformtext="Add a new template named:"]]
"""]] """]]
[[!if test="enabled(template)" then="""
[[!template id=note text="This note box is built using the
[[note]] template!"]]
[[!template id=popup mouseover="popup example" popup="This popup is built using
the [[popup]] template!"]]
"""]]
[[!if test="enabled(edittemplate)" then=""" [[!if test="enabled(edittemplate)" then="""
## edit templates ## edit templates
@ -33,11 +42,9 @@ These templates are used to build the wiki. The aim is to keep almost all
html out of ikiwiki and in the templates. html out of ikiwiki and in the templates.
* `page.tmpl` - Used for displaying all regular wiki pages. This is the * `page.tmpl` - Used for displaying all regular wiki pages. This is the
key template customize. key template to customize. [[!if test="enabled(pagetemplate)" then="""
[[!if test="enabled(pagetemplate)" then="""
(The pagetemplate directive can be used to make a page use a (The pagetemplate directive can be used to make a page use a
different template than `page.tmpl`.) different template than `page.tmpl`.)"""]]
"""]]
* `misc.tmpl` - Generic template used for any page that doesn't * `misc.tmpl` - Generic template used for any page that doesn't
have a custom template. have a custom template.
* `rsspage.tmpl` - Used for generating rss feeds for blogs. * `rsspage.tmpl` - Used for generating rss feeds for blogs.
@ -69,23 +76,4 @@ html out of ikiwiki and in the templates.
`passwordmail.tmpl` - Parts of ikiwiki's user interface; do not `passwordmail.tmpl` - Parts of ikiwiki's user interface; do not
normally need to be customised. normally need to be customised.
## 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"]] [[!meta robots="noindex, follow"]]