Bạn không thể thêm bộ sưu tập của riêng mình vào site
giống như vậy.
site
chỉ biết về ba bộ sưu tập: pages
, posts
và categories
. Bạn có thể nhận tất cả các bài đăng của một danh mục bằng cách thực hiện site.<category>.posts
. AFAIK, các danh mục chỉ hoạt động đối với các bài đăng chứ không phải các trang.
Điều này có ý nghĩa, vì Jekyll được cho là chủ yếu là công cụ viết blog và không phải là trình tạo trang web tĩnh chung.
Vì vậy, giải pháp tốt nhất của bạn ngay bây giờ bao gồm "nằm" để jekyll. Làm cho nó tin rằng bạn có bài viết, khi trong thực tế bạn đang làm cho các trang.
_posts/
pressitems/
blog/
Bạn sẽ có thể để lặp qua các yếu tố bên trong _posts/pressitems như thế này:
for item in site.categories.pressitems.posts do
... {{ item.title }} ... {{ item.url }}
endfor
Tương tự như vậy, bạn "entry thật" sẽ đi theo cách này:
for p in site.categories.blog.posts do
... {{ p.title }} ... {{ p.url }}
endfor
Điều bắt buộc là bạn sẽ phải tôn trọng quy ước đặt tên của Jekyll về tên tập tin; pressitems của bạn phải trông giống như bài viết thực sự. Điều này có nghĩa là chúng phải được đặt tên bắt đầu bằng chuỗi yyyy-mm-dd-, như bài đăng. Chỉ cần cung cấp cho họ một ngày ngẫu nhiên.
_posts/
pressitems/
1901-01-01-the-first-press-item.textile
1902-01-01-the-second-one.textile
CHỈNH SỬA: Điều này đúng khi bài viết này được viết ban đầu, vào năm 2012, nhưng không còn nữa. Jekyll hiện đại không cho phép bạn tạo ra các bộ sưu tập của riêng bạn https://jekyllrb.com/docs/collections/
Cảm ơn bạn đã giải thích điều đó. Giúp đỡ rất nhiều – PaulAdamDavis
Tôi nghĩ rằng nó nên là 'endfor', nhưng tôi có thể nhầm lẫn. – Zaz
được cập nhật, cảm ơn! – kikito