2012-01-27 6 views
9

Tôi đang cố tạo một blog nhiều tác giả với Jekyll trên trang Github. Tôi đã thêm trường mảng tác giả vào _config.yml và tôi có thể sử dụng dữ liệu đó trên mẫu bài đăng.Trang lưu trữ tác giả ở Jekyll

_config.yml:

authors: 
    muratcorlu: 
     display_name: Murat Corlu 
     avatar: 2906955ae59c795275979d3782d7bfca 

posts.html

{% assign author = site.authors[page.author] %} 

<p>Author: {{ author.display_name }}</p> 

Bây giờ tôi muốn làm một trang tác giả lưu trữ với một url như /authors/muratcorlu/ (tức là bài viết danh sách tác giả muratcorlu), nhưng tôi không biết làm thế nào tôi có thể lấy tên tác giả từ url.

Trả lời

7

Tôi e rằng bạn không thể tự động tạo các trang đó. Nếu bạn có 5 tác giả, bạn sẽ phải tạo 5 trang theo cách thủ công. Các trang có thể sử dụng cùng một bố cục, vì vậy nó sẽ không gây đau đớn.

Đây sẽ là tác giả/muratcorlu.textile

--- 
layout: author 
author: muratcorlu 
--- 

Bạn sẽ phải tạo ra từng những bằng tay. May mắn thay, bạn không phải làm gì khác - phần còn lại có thể được đặt trong bố cục được chia sẻ có thể trông giống như sau:

<ul> 
{% for p in site.pages do %} 
    {% if p.author == page.author %} 
    <li><a href="{{ p.url }}">{{ p.title }}</a></li> 
    {% endif %} 
{% endfor %} 
</ul> 
+3

Có thể viết plugin jekyll để giải quyết không? –

+0

Thực hiện tốt, điều này khá hữu ích. Tôi đã phải thay đổi 'site.pages' và' page.author' thành 'site.posts' và' post.author' để làm cho nó hiển thị các bài viết trên blog mà mỗi tác giả đã viết. – Lenwood