Anweisungen haben eine ähnliche Form wie ein WikiLink, allerdings beginnen sie mit ! und sie können Parameter enthalten. Die allgemeine Form ist:

[[!anweisung  param="Wert" param="Wert"]]

Dies wird expandiert, bevor der Rest der Seite verarbeitet wird, und kann auf unterschiedliche Weise genutzt werden, die Seite zu verändern.

Die Anführungszeichen um die Werte können weggelassen werden, wenn der Wert ein einfaches Wort ist. Einige Anweisungen verwenden auch Parameter ohne Wert, zum Beispiel:

[[!tag  foo]]

Eine Anweisung muss nicht ganz in einer einzelnen Zeile stehen, sie kann auch auf mehrere Zeilen verteilt werden:

[[!anweisung  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:

[[!anweisung  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]]

Es gibt in ikiwiki auch eine ältere Syntax für Anweisungen, die ein Leerzeichen in erfordert, um sie von Wiki-Links zu unterscheiden. Diese Syntax hat mehrere Nachteile: Sie erfordert ein Leerzeichen nach Anweisungen ohne Parameter (so wie [[pagecount ]]), and sie verbietet Leerzeichen in Wiki-Links. Die oben gezeigte Syntax mit !-Präfix ist nun der Standard in ikiwiki. Die alte Syntax wird allerdings auch noch unterstützt, wenn die Option prefix_directives deaktiviert wird.

Hier ist eine Liste der aktuell verfügbaren Anweisungen in diesem Wiki: