2013-04-05 11 views
8

Sono nuovo di jekyll e sto lavorando alla creazione del mio sito.jekyll - crea un elenco di page.tags

Ho un layout "post" in cui vorrei che tutti i tag associati al post vengano visualizzati nella colonna di sinistra. Il problema che sto incontrando è che l'uso di {{page.tags}} restituisce una lista di tag che non sono separati da virgole e appaiono disordinati. Vedi qui per un example.

il codice HTML per il layout di pagina è:

<div class="span3"> 
    </br> 
    <img src="{{ page.root }}assets/img/glyphicons_045_calendar.png" /> {{ page.date | > date: "%d %B %Y" }}  
    </br> 
    <img src="{{ page.root }}assets/img/glyphicons_066_tags.png" /> {{ page.tags }} 
</div> 

<div class="span9"> 
    <h1> {{ page.title }} </h1> 
    {{ content }} 
</div> 

Qualche consiglio su come (a) ottenere l'elenco tag di essere separati da virgole e (b) avvolgere intorno in modo che rimanga all'interno della colonna di sinistra ? Grazie!

risposta

8

Si potrebbe provare a metterli in un tag <p> in modo che possano avvolgere.

di averli separati da virgole, è possibile seguire la documentazione Jekyll e uso:

{{ page.tags | array_to_sentence_string }} => foo, bar, and baz 

come si dice in the Jekyll wiki.

+0

Grazie! Quei suggerimenti hanno fatto esattamente quello che volevo, e apprezzo il link del wiki di Jekyll che avevo visto ma dimenticato mentre cercavo di mettere tutto insieme. – JohnSG

5

Per un controllo più preciso su ciò che si può fare con i tag utilizzare l'operatore for:

<ul> 
{% for tag in page.tags %} 
    <li> {{tag}} </li> 
{% endfor %} 
</ul> 

Questo esempio è preso pari pari da qualche parte. Ci sono anche più control structures tra cui scegliere.

+2

Mi piace anche così, ma come virgola separarli e rimuovere l'ultima virgola? – Rhys

+7

Per chiunque altro abbia bisogno di questo, ho finito per usare {% se forloop.last == false%}, {% endif%} – Rhys

+0

@Rys yesssss grazie :) –