mdtoc « ◉ » iif

Inhaltsbasierte Auswahl

Erstellt am 13.02.2024 Lesedauer 2 - 3 Min.

Postprozessor-Funktion

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

choice wird vorrangig bei den Postprozessor-Funktionen abgearbeitet.

  • Es können beliebig viele Werte, getrennt durch | (ALT < - Taste) angegeben werden.

    Ausgegeben wird der erste von rechts gefundene Wert, der länger als 0 Zeichen ist (umschließende Leerzeichen werden entfernt). Die Funktion wird durch den gefundenen Text ersetzt.

  • Wird lediglich ein „Minus“, -, gefunden, wird eine „leere“ Ausgabe erzeugt (kein Code).

    Eine „leere“ Variable führt zur Wahl des Wertes links daneben.

    Falls das Ergebnis der Auswahl ein String der Länge 0 ist, wird ebenfalls kein Code ausgegeben.

    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 choice ein + an einer beliebigen Stelle in der Zuordnung, wird vor dem Text ein gleichnamiger Anker erzeugt. Wird der Anker angesprungen, gewährliestet das für 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

$$$ choice [1..6|+]zuordnung : letzte Wahl || erste Wahl  $$$
[1..6|+]Zuordnung

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

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

letzte Wahl | … | erste Wahl

Eine bliebige Anzahl Wahlmöglichkeiten. Ausgegeben wird der erste Eintrag von rechts, der mindestens ein Zeichen ≠ Leerzeichen enthält.

Wahl = -

Umschließende Leerzeichen werden entfernt, weshalb „nichts“ als Ausgabe mit einem Minus - markiert werden muss. Soll tastsächlich - ausgegeben werden, muss ggf. ein unsichtbares Leerzeichen vorangestellt, oder ein Sonderzeichen (Gedankenstrich, …) verwendet werden.

Alternativ zu choice steht iff zur Verfügung. Dort ist auch eine „Matrix“, die den grundlegenden Unterschied zwischen den Funktionen visualisiert.

Beispiele

$$$ choice 1+c5 : %%­%Titel%%­% | %%­%Ersatztitel%%­% $$$
  • 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.
$$$ choice +was :  | %%­%blume1%%­% | %%­%blume2%%­% $$$
  • Abhängig von den Inhalten der Variablen wird sowohl ein Text, also auch ein gleichlautender Anker erzeugt.
  • Sind beide Variabeln leer, wird keine Ausgabe erzeugt, also auch kein Anker (+)
mdtoc « ◉ » iif