2014-12-05 12 views
6

Ho una serie di post in un progetto di Jekyll in cui alcuni hanno solo un titolo e altri hanno titolo e contenuto. Voglio fare cose diverse con il post in ogni caso. Per esempio:Jekyll: controlla se il contenuto del post è vuoto

{% 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 %} 

Ma la dichiarazione if in realtà non cattura i posti vuoti. Ho basato le mie condizioni su this page, ma nessuna delle 3 possibilità cattura i post vuoti. Qualche idea su come gestire questi post?

+3

Hai provato il test per i contenuti, invece? 'if post.content! = nil' –

risposta

7

Assicurarsi che non hai niente dopo aver davanti importa

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

Nessuno spazio, nessuna nuova linea di

volte editor di testo aggiungere una nuova riga alla fine del file. Si può sbarazzarsi di quella con:

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

e poi prova con:

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

Fantastico! Non avevo mai pensato di hackerare la variabile '{{content}}' con '| strip_newlines' per ottenere questo risultato. Grazie! –