Les directives sont semblables aux WikiLink mais elles
commencent par un !
et peuvent contenir des paramètres. La forme d'une
directive est la suivante :
[[!directive param="value" param="value"]]
Le contenu de cette directive est traité avant que la page ne soit traitée et cela peut être utilisé pour modifier cette page.
Les guillements autour des valeurs des paramètres peuvent être omis si cette valeur est un simple mot. D'autre part, certaines directives peuvent avoir des paramètres sans valeur, par exemple :
[[!tag foo]]
Il n'est pas nécessaire d'écrire une directive sur une seule ligne ; elle peut l'être sur plusieurs si vous préférez. Par exemple :
[[!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-double-quotes or triple-single-quotes:
[[!directive text="""
1. "foo"
2. "bar"
3. "baz"
""" othertext='''
1. 'quux'
2. "foo"
''']]
If you want to put text with triple quotes into a parameter value, you can use perl-style here-doc syntax, even nesting it like this:
[[!directive text=<<OUTER
[[!otherdirective <<INNER
inner text
INNER]]
outer text
OUTER]]
Il existe aussi une ancienne syntaxe pour les directives. Elle demande un
espace dans la directive pour les distinguer des
wikilinks. Cette syntaxe a plusieurs défauts : elle
demande un espace après une directive sans paramètre, comme \[[pagecount
]]
, et elle interdit les espaces dans les
wikilinks. Par défaut, ikiwiki utilise maintenant la
syntaxe montrée plus haut, avec le !
. Cependant, l'ancienne syntaxe est
toujours acceptée, une fois que l'option prefix_directives
est désactivée.