2014-12-05 17 views
6

Ich habe eine Reihe von Beiträgen in einem Jekyll-Projekt, wo einige von nur einen Titel haben und einige haben einen Titel und Inhalt. Ich möchte mit der Post jeweils verschiedene Dinge machen. Zum Beispiel:Jekyll: überprüfen, ob Post Inhalt leer

{% for post in site.categories.publications %} 
    {{ post.title }} 
    {% if post.content == "" or post.content == nil or post.content == blank %} 
     <p>Nothing here.</p> 
    {% else %} 
     {{ post.content }} 
    {% endif %} 
{% endfor %} 

Aber die if Anweisung fängt eigentlich nicht die leeren Stellen. Ich habe meine Bedingungen auf this page basiert, aber keine der 3 Möglichkeiten fangen die leeren Pfosten. Irgendwelche Ideen, wie man mit diesen Posts umgeht?

+3

Haben Sie versucht, sich stattdessen für Inhalte zu testen? 'if post.content! = nil' –

Antwort

7

Stellen Sie sicher, dass Sie nichts, nachdem Sie Titelei

--- 
--- 
NO NEW LINE HERE !! 

Kein Platz, keine neue Linie

Manchmal Texteditor eine neue Zeile am Ende der Datei hinzufügen müssen. Sie können mit der, dass loszuwerden:

{% assign content = post.content | strip_newlines %} 

und testen Sie dann mit:

{% if content == "" %} 
+0

Super! Ich hätte nie daran gedacht, die '{{content}}' Variable mit dem '| zu hacken strip_newlines' Filter, um dies zu erreichen. Vielen Dank! –