Ich benutze Jekyll auf GitHub Pages, um ein Blog zu erstellen und möchte die Länge der page.title
Zeichenfolge an die Liquid-Vorlage in der YAML-Front-Angelegenheit in jedem Beitrag übergeben. Ich war nicht in der Lage, einen einfachen Weg zu finden, dies zu tun. Mit Blick auf die Liquid For Designers Guide konnte ich sehen, dass es zwei Arten von Markup unterstützt:Wie kann ich die Größe/Länge eines Strings in Jekylls Liquid Templates vergleichen?
Output Markup - Begrenzt durch doppelte geschweifte Klammern
{{ }}
, können Sie Ausgangsvariablen, die zu Ihrer Vorlage übergeben werden, entweder in der YAML Front Materie wiepage.title
in Jekyll, oder die globalen Site-Level-Variablen in_config.yml
. Um den Titel des Posts oder der Seite auszugeben, würden Sie{{ page.title }}
verwenden.Tag Markup - Begrenzt durch geschweifte Klammern und Prozente
{% %}
, werden diese für die Logik in Ihren Vorlagen verwendet. Wenn Aussagen, Schleifen, diese Art von Dingen.
Anscheinend gibt es viele Filter, die Sie mit dem Output Markup und Sie ausgeben kann, die Länge einer Zeichenfolge übergeben an der Vorlage {{ page.title | size }}
unter Verwendung verwenden können.
Allerdings, was ich in meiner Vorlage tun möchte, ist der Titel der Seite mit einem <h1>
, <h2>
oder <h3>
Header abhängig von der Länge des Titels.
Ich kann sowieso nicht herausfinden, das Markup und die Ausgabe Markup zu mischen.
Ich kann die Größe von page.title
auf die Seite mit {{ page.title | size }}
ausgeben, ich kann jedoch nicht herausfinden, wie man die Länge in einer if-Anweisung verwendet. Dies liefert auch eine String-Repräsentation und keine Zahl.
Kennt jemand mit mehr Erfahrung mit Liquid, wie man das macht?
Idealerweise was würde Ich mag zu tun ist etwas entlang der Linien von dieser:
{% if page.title | size > 5 %}
Es ist eine sehr hässliche Lösung, aber es funktioniert wie erwartet, so ist dies eine gute Antwort. –