Um Texte formatiert auszugeben, können in Liquid-Templates sogenannte Filter verwendet werden. Liquid liefert einige Standardfilter mit, etwa den Filter truncate
, der eine Ausgabe auf eine bestimmte Anzahl Zeichen beschneidet:
Die ersten 50 Zeichen des Hauptinhalts lauten: {{ page.body | truncate: 50 }}
Eine Übersicht über die Standardfilter findet sich in der Syntaxbeschreibung von Liquid.
Der Entwickler einer Rails-Connector-Applikation kann eigene Filter definieren und diese zum Gebrauch in den Liquid-Templates der Applikation zur Verfügung stellen. Ein Filter ist im Grunde nur eine Methode, die mindestens einen Parameter hat und die einen modifizierten Wert zurückgibt.
Im folgenden Beispiel wird ein Filter definiert, der einen Text mit h1
-Tags umschließt:
module MyFilters def headline(input) "<h1>#{input}</h1>" end end
Ein Filter muss in einem Modul definiert sein, das innerhalb der Rails-Applikation im Ordner /app/filters
liegt. Der obige Filter müsste also in der Datei /app/filters/my_filters.rb
liegen. Der Filter könnte dann beispielsweise folgendermaßen in einem Liquid-Template verwendet werden:
{{ "Meine Überschrift" | headline }}
Das Ergebnis wäre:
<h1>Meine Überschrift</h1>
Weitere Anregungen für die Erstellung von Liquid-Filtern kann der Quellcode der Standardfilter von Liquid liefern.