Die Inhalte werden von parseFunc
nach dem Laden aus der Datenbank verarbeitet und im Frontend ausgegeben. Die Originaldaten in der DB bleiben selbstverständlich unverändert. parseFunc kann Inhalte oder HTML-Elemente ersetzen und Attribute hinzufügen.
Kommaseparierte Listen der erlaubten bzw. verbotenen HTML-Elemente. Verbotene Elemente werden vor der Ausgabe im Frontend umgewandelt (die spitzen Klammern werden durch <
und >
ersetzt) und dadurch als Text mit ausgegeben (<b>bold</b>
). Die Angaben unter allowTags
haben Priorität vor denyTags
.
# Entfernt alle Elemente außer <p> und <div> parseFunc.allowTags = p,div parseFunc.denyTags = *
constants = 1
erlaubt das Ersetzen von Konstanten, die über das Top Level Object CONSTANTS definiert wurden, in Inhaltselementen und im TS festgelegten Werten (10.value = XY
).
Ersetzt ebenfalls Strings.
# Ersetzt alle Vorkommen des Strings "HTML" in "Hypertext Markup Language" # Inhaltselemente lib.parseFunc_RTE.short.HTML = Hypertext Markup Language # Alle ausgegebenen Elemente (z.B. auch Menüs) page.stdWrap.parseFunc.short.HTML = Hypertext Markup Language
Hiermit wird der Inhalt aufgeteilt, bevor er an parseFunc
übergeben wird: Nur der Inhalt außerhalb der definierten HTML-Elemente wird geparst. Als externalBlocks definierte HTML-Elemente sind also z.B. von denyTags nicht betroffen. Diese Elemente müssen zwingend definiert werden (externalBlocks = p,div
), bevor sie verarbeitet werden können.
10 = TEXT 10.value = <b>bold</b> bleibt bold, <i>italic</i> nicht. 10.parseFunc { externalBlocks = b externalBlocks { ... } denyTags = b,i } # Ausgabe: <b>bold</b> bleibt bold, <i>italic</i> nicht.
Mit callRecursive= 1
wird der Inhalt des Blocks ein zweites Mal an parseFunc
übergeben, um die folgenden Eigenschaften anzuwenden. Lediglich bei externalBlocks.[Tag].stdWrap
ist diese Aktivierung nicht erforderlich.
Ersetzt das HTML-Element durch einen zu definierenden Wrap.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.callRecursive = 1 externalBlocks.b.callRecursive.alternativeWrap = <i>|</i> } # Ausgabe: <i>Inhalt</i>
Ermöglicht das Anwenden von stdWrap
-Funktionen auf das einleitende Tag. So lassen sich z.B. mittel HTMLparser
Attribute ergänzen.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.callRecursive = 1 externalBlocks.b.callRecursive.tagStdWrap.HTMLparser = 1 externalBlocks.b.callRecursive.tagStdWrap.HTMLparser.tags.b.overrideAttribs = style=color:red;" } # Ausgabe: <b style=color:red;">Inhalt</b>
dontWrapSelf = 1
entfernt das definierte HTML-Element. Alle rekursiv angewendeten Wraps haben dann allerdings keine Wirkung auf das Element.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.stdWrap.wrap = <i>|</i> externalBlocks.b.callRecursive = 1 externalBlocks.b.callRecursive.alternativeWrap = <strong>|</strong> externalBlocks.b.callRecursive.dontWrapSelf = 1 } # Ausgabe: <i>Inhalt</i>
Ermöglicht stdWrap-Funktionen unabhängig vom rekursiven Aufruf.
10 = TEXT 10.value = <b>Inhalt</b> 10.parseFunc { externalBlocks = b externalBlocks.b.stdWrap.wrap = <i>|</i> } # Ausgabe: <i><b>Inhalt</b></i>
boolean. Wandelt alle Strings mit http:// und mailto: in Links um.