No puede agregar su propia colección a site
así como así.
site
solo conoce tres colecciones: pages
, posts
y categories
. Puede obtener todas las publicaciones de una categoría haciendo site.<category>.posts
. AFAIK, las categorías solo funcionan para publicaciones, no para páginas.
Esto tiene sentido, ya que se supone que Jekyll es principalmente un motor de blogs, y no un generador genérico de sitios web estáticos.
Así que su mejor solución en este momento consiste en "mentir" a jekyll. Hazle creer que tienes publicaciones, cuando en realidad estás haciendo páginas.
_posts/
pressitems/
blog/
usted será capaz de bucle sobre los elementos dentro de _posts/pressitems como este:
for item in site.categories.pressitems.posts do
... {{ item.title }} ... {{ item.url }}
endfor
Del mismo modo, sus "entradas de blog real" irían de esta manera:
for p in site.categories.blog.posts do
... {{ p.title }} ... {{ p.url }}
endfor
El problema es que tendrá que respetar la convención de nomenclatura de Jekyll con respecto a los nombres de archivo; sus pressitems tienen que parecerse a publicaciones reales. Esto significa que tienen que nombrarse comenzando con una cadena aaaa-mm-dd-, como publicaciones. Solo dales una fecha aleatoria.
_posts/
pressitems/
1901-01-01-the-first-press-item.textile
1902-01-01-the-second-one.textile
EDIT: Esto era cierto cuando esta publicación se escribió originalmente, en 2012, pero ya no existe. Jekyll moderna hace le permiten crear sus propias colecciones https://jekyllrb.com/docs/collections/
Gracias por explicar eso. Ayudó mucho – PaulAdamDavis
Creo que debería ser 'endfor', pero podría estar equivocado. – Zaz
actualizado, gracias! – kikito