type site serve pages matter how front custom jekyll liquid

site - Jekyll mostrar mensajes por categoría



jekyll serve (6)

¡Lo tengo! Se necesitaba un bucle de publicaciones intermedias antes de enumerar las publicaciones individuales

<ul> {% for category in site.categories %} <li><a name="{{ category | first }}">{{ category | first }}</a> <ul> {% for post in category.last %} <li><a href="{{ post.url }}">{{ post.title }}</a></li> {% endfor %} </ul> </li> {% endfor %} </ul>

rascando mi cabeza sobre esto - ayuda muy apreciada.

Quiero mostrar una lista de todas mis publicaciones de Jekyll, organizadas por categoría. Sé que la Línea 3 no es correcta, pero no puedo entender qué debería ser. ¿Algunas ideas? ¡Gracias!

{% for category in site.categories %} <h3>{{ category | first }}</h3> {% for post in page.categories.category %} {{ post.title }}<br> {% endfor %} {% endfor %}


Ahora hay un plugin oficial disponible para esto. jekyll-archives .

Para hacer uso de ella,

Agregue jekyll-archives a su archivo Gemfile y _config.yml .

agregue una configuración similar a la siguiente según su necesidad.

jekyll-archives: enabled: all layouts: year: archive/year month: archive/month day: archive/day tag: archive/tag category: archive/category permalinks: year: ''/:year/'' month: ''/:year/:month/'' day: ''/:year/:month/:day/'' tag: ''/tags/:name/'' category: ''/category/:name/''

Los layouts pueden hacer uso de los siguientes atributos de página en función del archive type .

  • page.type - (Cualquiera de los siguientes. year , month , day , tag , category )
  • page.title - (Solo disponible para la etiqueta de tipo y categoría. De lo contrario, no)
  • page.date - (Dependiendo de page.type debe analizar el campo de fecha y mes)
  • page.posts - (Lista de publicaciones para este archivo)

Aquí hay un ejemplo de diseño de archivo basado en años.

<h1>Archive of posts from {{ page.date | date: "%Y" }}</h1> <ul class="posts"> {% for post in page.posts %} <li> <span class="post-date">{{ post.date | date: "%b %-d, %Y" }}</span> <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a> </li> {% endfor %} </ul>


Aquí hay una respuesta que usa ordenación (¡útil!):

{% comment %} # # Change date order by adding ''| reversed'' # To sort by title or other variables use {% assign sorted_posts = category[1] | sort: ''title'' %} # {% endcomment %} {% assign sorted_cats = site.categories | sort %} {% for category in sorted_cats %} {% assign sorted_posts = category[1] | reversed %} <h2 id="{{category[0] | uri_escape | downcase }}">{{category[0] | capitalize}}</H2> <ul> {% for post in sorted_posts %} <li><a href="{{ site.url }}{{ site.baseurl }}{{ post.url }}">{{ post.title }}</a></li> {% endfor %} </ul> {% endfor %}

Esto no es mío, se toma de here .


No puedo recordar la sintaxis exacta de la mano, pero algo como el siguiente código debería recuperar los nombres de las categorías para permitirle recuperar publicaciones para cada categoría ...

{% for category in site.categories %} {% assign cat_name = category[0] %} {% for post in site.categories.cat_name %} ... {% endfor%} {% endfor %}


Para todos los gustos, si alguien solo quiere enumerar las publicaciones en una categoría, esto funciona (difiere del ejemplo anterior, ya que la categoría devuelve una lista de publicaciones ...

<p>Posts in category "basic" are:</p> <ul> {% for post in site.categories.basic %} {% if post.url %} <li><a href="{{ post.url }}">{{ post.title }}</a></li> {% endif %} {% endfor %} </ul>


<h5>Categories</h5> {% for category in site.categories %} {% assign cat = category[0] %} <h6><a href="#">{{ cat }}</a></h6> {% for post in site.categories[cat] %} <a href="{{ post.url }}">{{ post.title }}</a> <small>{{ post.date }}</small> {% endfor %} {% endfor %}