2013-04-05 25 views
8

Tôi mới tham gia và đang làm việc để xây dựng trang web của mình.jekyll - tạo danh sách trang.tags

Tôi có bố cục "bài đăng" nơi tôi muốn có tất cả các thẻ được liên kết với bài đăng xuất hiện ở cột bên trái. Vấn đề tôi đang gặp phải là việc sử dụng {{page.tags}} trả về danh sách các thẻ không được phân tách bằng dấu phẩy và trông lộn xộn. Xem ở đây để xem example.

Mã html cho trang bố trí là:

<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> 

Bất kỳ lời khuyên về cách (a) có được danh sách các thẻ để được bằng dấu phẩy và (b) quấn xung quanh để nó chỉ nằm trong cột bên trái ? Cảm ơn!

Trả lời

8

Bạn có thể thử đặt chúng vào trong một thẻ <p> để chúng có thể quấn quanh.

Để có chúng bằng dấu phẩy, bạn có thể làm theo các tài liệu Jekyll và sử dụng:

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

Như là nói in the Jekyll wiki.

+0

Cảm ơn! Những lời khuyên đó đã làm chính xác những gì tôi muốn, và tôi đánh giá cao sự liên kết của wiki Jekyll mà tôi đã thấy nhưng đã quên trong khi cố gắng kết hợp tất cả những điều này lại với nhau. – JohnSG

5

Để kiểm soát chính xác hơn những gì bạn có thể làm với các thẻ sử dụng for điều hành:

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

Ví dụ này được lấy nguyên văn từ nơi nào đó. Ngoài ra còn có thêm control structures để lựa chọn.

+2

Tôi cũng thích cách này nhưng bạn sẽ phân tách chúng bằng cách nào và xóa dấu phẩy cuối cùng? – Rhys

+7

Đối với bất kỳ ai cần điều này, tôi đã sử dụng {% if forloop.last == false%}, {% endif%} – Rhys

+0

@Rhys yesssss cảm ơn bạn :) –

Các vấn đề liên quan