Nie możesz dodać swojej kolekcji do site
właśnie tak.
site
zna tylko trzy kolekcje: pages
, posts
i categories
. Możesz uzyskać wszystkie posty kategorii wykonując site.<category>.posts
. AFAIK, kategorie działają tylko dla postów, nie stron.
Ma to sens, ponieważ Jekyll ma być głównie mechanizmem blogowania, a nie generycznym statycznym generatorem stron.
Twoje najlepsze rozwiązanie polega teraz na "kłamaniu" na jekyll. Uwierz, że masz posty, kiedy w rzeczywistości tworzysz strony.
_posts/
pressitems/
blog/
Będziesz mógł do pętli nad elementami wewnątrz _posts/pressitems jak ten:
for item in site.categories.pressitems.posts do
... {{ item.title }} ... {{ item.url }}
endfor
Podobnie, twoje "wpisy prawdziwy blog" pójdzie w ten sposób:
for p in site.categories.blog.posts do
... {{ p.title }} ... {{ p.url }}
endfor
Połów jest taki, że będziesz musiał przestrzegać konwencji nazewnictwa Jekylla dotyczącej nazw plików; twoje pressitemy muszą wyglądać jak prawdziwe posty. Oznacza to, że muszą być nazwane zaczynając od ciągu yyyy-mm-dd-, np. Postów. Po prostu daj im losową datę.
_posts/
pressitems/
1901-01-01-the-first-press-item.textile
1902-01-01-the-second-one.textile
EDYCJA: To prawda, gdy ten wpis został pierwotnie napisany, w 2012 roku, ale już nie. Nowoczesne Jekyll nie pozwalają tworzyć własne kolekcje https://jekyllrb.com/docs/collections/
Dzięki za wyjaśnienie tego. Pomógł dużo – PaulAdamDavis
Myślę, że powinno to być "endfor", ale mógłbym się mylić. – Zaz
zaktualizowany, dziękuję! – kikito