diff options
Diffstat (limited to 'ikiwiki/directive/if.mdwn')
-rw-r--r-- | ikiwiki/directive/if.mdwn | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ikiwiki/directive/if.mdwn b/ikiwiki/directive/if.mdwn new file mode 100644 index 0000000..6f9ec46 --- /dev/null +++ b/ikiwiki/directive/if.mdwn @@ -0,0 +1,50 @@ +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"]] |