Las directivas tienen una forma similar a un WikiLink, pero
empiezan con !
y pueden contener parámetros. La forma general es:
[[!directive param="value" param="value"]]
Esto se expande antes de que el resto de la página sea procesada, y puede utilizarse para transformar la página de diferentes maneras.
Se pueden omitir las comillas en torno a un valor si éste consiste en una sola palabra. Además, algunas directivas pueden usar parámetros sin valores, como por ejemplo:
[[!tag foo]]
No es necesario que una directiva ocupe una sola línea, si lo desea puede ocupar varias líneas:
[[!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]]
ikiwiki tiene además una sintaxis más antigua para las directivas, que
requiere un espacio en las directivas para distinguirlas de los
wikilinks. Esta sintaxis tiene varias desventajas:
requiere un espacio después de las directivas sin parámetros (tales como
[[pagecount ]]
), y prohíbe espacios en los
wikilinks. ikiwiki proporciona ahora de manera
predeterminada la sintaxis que utiliza el prefijo !
mostrada arriba. Sin
embargo, ikiwiki todavía es compatible con los wikis que utilizan la antigua
sintaxis, si se desactiva la opción prefix_directives
.