aboutsummaryrefslogtreecommitdiff
path: root/doc/ikiwiki/directive.mdwn
blob: c4342dee8a644ff1778672a3b1ff89ca1d4c2668 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[[!meta robots="noindex, follow"]]
Directives are similar to a [[ikiwiki/WikiLink]] in form, except they
begin with `!` and may contain parameters. The general form is:

	\[[!directive param="value" param="value"]]

This gets expanded before the rest of the page is processed, and can be used
to transform the page in various ways.

The quotes around values can be omitted if the value is a simple word.
Also, some directives may use parameters without values, for example:

	\[[!tag foo]]

A directive does not need to all be on one line, it can be
wrapped to multiple lines if you like:
	
	\[[!directive foo="baldersnatch"
	bar="supercalifragilisticexpialidocious" baz=11]]

Also, multiple lines of *quoted* text can be used for a value.
To allow quote marks inside the quoted text, delimit the block
of text with triple-quotes:

	\[[!directive text="""
	1. "foo"
	2. "bar"
	3. "baz"
	"""]]

ikiwiki also has an older syntax for directives, which requires a
space in directives to distinguish them from [[wikilinks|ikiwiki/wikilink]].
This syntax has several disadvantages: it requires a space after directives
with no parameters (such as `\[[pagecount ]]`), and it prohibits spaces in
[[wikilinks|ikiwiki/wikilink]].  ikiwiki now provides the `!`-prefixed syntax
shown above as the preferred alternative.  However, ikiwiki still supports
wikis using the older syntax, if the `prefix_directives` option is not enabled.
For backward compatibility with existing wikis, this option currently
defaults to off, so ikiwiki supports the old syntax.

[[!if test="enabled(listdirectives)" then="""
Here is a list of currently available directives in this wiki:

[[!listdirectives ]]
"""]]