summaryrefslogtreecommitdiff
path: root/ikiwiki/directive/if.mdwn
blob: 6f9ec46e57085c15342e3050895fb2ae3497d31b (plain)

Die if-Anweisung wird durch die [[!iki plugins/conditional desc=conditional]]-Erweiterung bereitgestellt.

Mit dieser Anweisung kann die Anzeige von Text an bestimmte Bedingungen geknüpft werden. Zum Beispiel:

\[[!if test="enabled(smiley)"
      then="Die smiley-Erweiterung ist aktiviert :-)"
      else="Hier gibt es keine smiley-Erweiterung …"]]

Wenn der angegebene test erfolgreich ist, wird der then-Text angezeigt, sonst der else-Text. Der else-Teil ist optional.

Die Werte für then und else können beliebige Formatierungsanweisungen enthalten, die außerhalb der Anweisung erlaubt wären. Werten die Werte durch dreifache Anführungszeichen abgetrennt, können sie sogar Anführungszeichen enthalten.

Der test ist eine [[ikiwiki/PageSpec]]; wenn sie auf irgendeine Seite im Wiki passt, hat der Test Erfolg. Dadurch kann man die Existenz einer oder mehrerer Seiten überprüfen, überprüfen ob in einem bestimmten Monat Seiten angelegt wurden, und so weiter.

Wenn die [[ikiwiki/PageSpec]] nur auf die aktuelle Seite angewendet werden soll, die die Bedingung enthält (und nicht auf alle Seiten im Wiki), kann der optionale all-Parameter auf no gesetzt werden.

In einer if-Anweisung sind neben der regulären [[ikiwiki/PageSpec]]-Syntax die folgenden zusätzlichen Test verfügbar:

  • enabled(plugin)

    Prüft, ob die angegebene Erweiterung aktiviert ist.

  • sourcepage(glob)

    Prüft, ob das angegebene Muster auf den Namen der Seite passt, die die Bedingung enthält.

  • destpage(glob)

    Prüft, ob das Muster auf den namen der Seite passt, die gerade erzeugt wird. Dies kann ein anderer Name sein als der der Seite, die die Bedingung enthält, wenn diese über [[inline]] in eine andere Seite eingebunden wird.

  • included()

    Prüft, ob die Seite gerade in eine andere eingebunden wird.

[[!meta robots="noindex, follow"]]