Neues Modul: Templates (v2) mit Mustache

Begonnen von _Markus_, 27 Dezember 2018, 10:33:58

Vorheriges Thema - Nächstes Thema

_Markus_

Guten Morgen,

ich habe mich über den template Command gefreut, der in https://forum.fhem.de/index.php?topic=68455.15 entwickelt worden ist. Für meine Templates (größere DOIFs) fehlte mir allerdings eine Bedingung (if-else). Daher habe ich den Command leicht angepasst, so dass er mit mustache funktioniert (https://mustache.github.io/).

Im Vergleich zum ursprünglichen Command "template" sind die Delimiters {{ und }}, da es sonst zu Kollisionen mit Dateinamen von LogFiles o.ä. kommen kann.

Außerdem sind auch skalare Parameter erlaubt: aus template ... gast ... wird dann template ... gast=1 ....
Parameter können entsprechend der mustache Spec auch Hashes enthalten: param={{abc => "def", ...}}.

Damit template2 (so heißt der Command) funktioniert muss das Perl Modul Caml installiert werden: cpan Text::Caml

Alles andere (inkl. use und show) funktioniert wie im original Command. Warnungen über nicht genutzte Parameter im Log gibt es nicht mehr (s.o.).
Nach Sections werden aktuell noch die newlines gelöscht - dies ist m.E. ein Issue im Caml (Issue eingestellt).

Da ich auf den ursprünglichen Thread nicht zugreifen kann möge Dr. Boris entscheiden, was damit passieren soll. Wenn jemand an den oben beschriebenen Änderungen interessiert ist, bitte melden.

VG, Markus