Non è possibile aggiungere la propria collezione a site
proprio così.
site
conosce solo tre raccolte: pages
, posts
e categories
. Puoi ottenere tutti i post di una categoria facendo site.<category>.posts
. AFAIK, le categorie funzionano solo per i post, non per le pagine.
Questo ha senso, poiché Jekyll dovrebbe essere principalmente un motore di blogging e non un generico generatore di siti Web statici.
Quindi la soluzione migliore ora consiste nel "mentire" a jekyll. Fai credere di avere dei post, quando in realtà stai facendo delle pagine.
_posts/
pressitems/
blog/
Si sarà in grado di ciclo sugli elementi all'interno _posts/pressitems come questo:
for item in site.categories.pressitems.posts do
... {{ item.title }} ... {{ item.url }}
endfor
Allo stesso modo, i vostri "voci reale blog" sarebbero andate in questo modo:
for p in site.categories.blog.posts do
... {{ p.title }} ... {{ p.url }}
endfor
Il problema è che dovrai rispettare la convenzione di denominazione di Jekyll per quanto riguarda i nomi dei file; i tuoi pressi devono apparire come veri post. Ciò significa che devono essere nominati a partire da una stringa aaaa-mm-gg, come i post. Dagli solo una data a caso.
_posts/
pressitems/
1901-01-01-the-first-press-item.textile
1902-01-01-the-second-one.textile
EDIT: Questo era vero quando questo post è stato originariamente scritto, nel 2012, ma ora non più. Jekyll moderno non permettono di creare una tua raccolta https://jekyllrb.com/docs/collections/
Grazie per averlo spiegato. Ha aiutato molto – PaulAdamDavis
Penso che dovrebbe essere "endfor', ma potrei sbagliarmi. – Zaz
aggiornato, grazie! – kikito