Bedingung

Erstellt am 08.04.2025 Lesedauer 2 - 3 Min.

Postprozessor-Funktion

Der Wahlschalter fügt z.B. abhängigg Yaml-Variablen einen Text ein.

iff wird vorrangig bei den Postprozessor-Funktionen abgearbeitet.

  • Es müssen genau zwei Werte, getrennt durch | (ALT < - Taste) angegeben werden.

    Die Zuordnung (ohne Steuerfunktionen, s.u.)ist gleichzeitig die Bedingung: sie ist „wahr“, wenn das Ergebnis länger als 0 Zeichen ist (umschließende Leerzeichen werden entfernt), andernfalls ist sie „falsch“.

  • Wird lediglich ein „Minus“, -, gefunden, entspricht das „leer“ → falsch.

    Ist die Ausgabe (unabhängig ob wahr oder falsch) „leer“, wird durch die Funktion kein Code erzeugt.

    Mit der „Schalterfunktion“ von „!“Variablen lassen sich Absätze steuern.

    Eine fehlende „!Variable“ in der Funktion löscht den vollständigen Absatz, statt die nachfolgende Option auszugeben.

  • Hat iif ein + an einer beliebigen Stelle in der Zuordnung, wird vor der Ausgabe (unabhängig ob wahr oder falsch) ein gleichnamiger Anker des Ergebnisses erzeugt. Wird der Anker angesprungen, gewährleistet das die Sichtbarkeit des relevanten Textes.

  • Beginnt die Zuordnung mit einer Zahl 1-6, wird der HTML-Code für eine Überschrift des entsprechenden Rangs erzeugt.

    In diesem Fall wird die +-Option ingoriert: Es wird wie für alle Überschriften ein id=… erzeugt, der als Anker verwendet werden kann. Die so generierten Überschriften können deshalb in einem Inhaltsverzeichns angesprungen werden kann.

    Die Überschrift-Option sollte in einer Markdown Datei alleinstehend in einem Absatz verwendet werden, andernfalls wird ungültiger HTML-Code entstehen.

    Bei Verwendung z.B. innerhalb einer Layout-Datei sollte darauf geachtet werden, dass mit der Ausgabe gültige Strukturen entstehen.

Definition

$$$ iif [1..6|+]zuordnung : wahr |  falsch  $$$
[1..6|+]Zuordnung

Eindeutiger Funktionsname. Beginnt dieser mit 1..6, erfolgt die Ausgabe als HTML-Überschrift der entsprechenden Hierarchie.

Enthält die Zuordnung irgendwo ein +, wird vor der Ausgabe ein gleichnamiger Anker des gewählten Textes erzeugt.

wahr | falsch

Wenn die Zuordnung (ohne [1..6|+]) mindestens 1 Zeichen lang ist, wird die Bedingung als „wahr“ angesehen, andernfalls als „falsch“. Ist das Ergebnis der Bedingung ein Minus -, ist das Ergebnis ebenfalls „falsch“. So verhält sich iif vergleichbar zu choice, bei dem - als „leerer Parameter“ angesehen wird.

Beispiele

$$$ iif 1%%­%Ersatztitel%%­% : %%­%Ersatztitel%%­% | %%­%Titel%%­% $$$
  • Wahlweise aus der YamlVariable „Titel“ oder „Ersatztitel“ wird eine „H1“-Überschrift erzeugt.
  • Steht im Ersatztitel -, wird die Funktion ohne Ausgabe (auch kein HTML-Code) entfernt.
  • Die Ankerfunktion + wird ignoriert: Überschriften erhalten eine ID.
  • Maßgeblich für den Überschrift-Rang ist die Zahl an erster Stelle in der Zuordnung. An anderer Stelle sind Zahlen Bestandteil des Zuordnungsnamens.

iif vs. choice

Der Unterschied in Form einer „Matrix“. Gegeben sind die Funktionen

$$$  choice +wahl : %%%P1%%% | %%%P2%%% $$$
$$$  iif +%%%P1%%%  : %%%P1%%% A | %%%P2%%% B $$$
P1P2choiceiif
P1 P2 P2 P1 A
P1 (leer) P1 P1 A
(leer) P2 P2 P2 B
P1 - P1 A
- P2 P2 P2 B
- - B
(leer) (leer) B
Der wesentliche Unterschied:

iif kann mit einem zusätzlichen Text versehen werden, der immer ausgegeben wird und – das ist womöglich erheblich interesssanter – als „Bedingung“ kann ein anderer Parameter als der ausgegebene verwendet werden.