Funktionen

Aktualisiert am 14.02.2024 Lesedauer 2 - 3 Min.

Dieses Untermenü stellt Nachbearbeitungen in der Export-Datei bereit, die über das Ersetzen oder Entfernen der Editor-Variablen und Yaml-Variablen hinaus gehen.

Funktionen teilen sich in Präprozessor- und Postprozessor-Funktionen. Sie werden beim Erzeugen der Ausgabe angewandt.

  1. Präprozessor-Funktionen verändern die Markdownquelle.
  2. Darin werden Module und Yaml-Variablen ersetzt.
  3. Abschließend werden Postprozessor-Module im HTML-Code abgearbeitet.

Ob valider Code ausgegeben wird, hängt von der Sorgfalt bei der Verwendung der Module, Variablen und Funktionen ab.

Allgemeine Regeln

$$$ Funktionsname [Zuordnung] [:] [Wertzuweisung] $$$
  • Falsch geschriebene, unbekannte oder ungenutzt gebliebene Funktionen werden vollständig ($$$…$$$) und ohne Rückmeldung entfernt.
  • Bei Funktionsname und Zuordnung ist A=a, es wird kein Unterschied in der Schreibweise gemacht.
  • Funktionsname und Zuordung müssen aus Buchstaben, Zahlen und ausgewählten Zeichen ≠ „:“„ “ (Leerzeichen) bestehen.
  • Der Funktionsname ist unveränderlich von  OSE  vorgegeben
  • Die Zuordnung kann – abhängig vom Funktion – entfallen oder eine eingeschränkte Schreibweise haben (s. Inhaltsverzeichnis).
  • Die Wertzuweisung darf beliebig lang sein und beliebige Zeichen enthalten. Hier können einige Zeichen eine besondere Eigenschaft für die Funktion haben (s. Wahl)
  • Funktionsname, Zuordnung und Wertzuweisung werden von den Funktionsbegrenzungen oder mindestens einem Leerzeichen oder dem Doppelpunkt voneinander getrennt. Zur besseren Leesbarkeit dürfen weitere Leerzeichen verwendet werden.

Ineinander verschachtelte Funktionen erzeugen eine undefinierte Ausgabe.

Präprozessor

Regeln „prä“

  • Der Yaml-Header importierter Markdown-Dateien wird ignoriert.
  • Markdown-Funktionen sollten vorzugsweise freistehend in einem Absatz verwendet werden.
  • Eingefügte Dateien werden grundsätzlich in einen Abschnitt (<div>) gesetzt, weshalb eine Einfügung innerhalb eines Absatzes dessen Struktur zerstört.
  • Es findet keine Prüfung statt, ob die eingefügten Dateien tatsächlich Markdown enthalten.
  • Es findet keinerlei Interpretation beim Einfügen des Dateiinhaltes statt.
  • Das eingefügte Markdown wird bearbeitet, als stünde es in der Quelldatei, von der aus das eingefügte Markdown referenziert wurde.
  • Präprozessor-Module können ausschließlich in der Markdown-Quelle verwendet werden.
Bitte beachten:
  • Yaml-Variablen werden mit den Werten der aktuellen Quelldatei ersetzt.
  • Relative Referenzen gelten relativ zur aktuellen Quelldatei.

Präprozessor-Funktionen werden vor der Bearbeitung des Markdown-Codes in eine im Hintergrund temporär erzeugte Arbeitsdatei eingefügt. Das erfolgt überall.

Ein vorangestelltes Kommentarzeichen hat keine Wirkung, „auskommentieren“ von Präprozessor-Funktionen führt zu unvorhersehbaren Ergebnissen.

Die „Lesezeit-Variablen“ werden nach dem Präprozessor anhand des dann vorhandenen Markdowns berechnet. Diese Ermittlung erfolgt unabhängig vom Status des „Worte zählen“-Schalters, weshalb die Variablen bei der Ausgabe immer einen gültigen Wert für die aus dem Markdown erzeugte Ausgabe haben.

Postprozessor

Regeln „post“

  • Einige Funktionen können über mehrere Absätze hinweg eingesetzt werden. Es hängt vom Einzelfall ab, ob das erforderlich oder sinnvoll ist.
  • Innerhalb der Funktionsbegrenzungen $$$ werden Funktionen vom Markdown-Parster als Markdown angesehen, Auszeichnungen entsprechend ersetzt.
    Das ermöglicht Strukturen, die mit einfachem Markdown unmöglich sind oder die Integration von HTML-Code erfordern würden.
  • Postprozessor-Funktionen können in allen Teilen, also neben der HTML-Quelle auch in der Layout-Datei, verwendet werden.