2016-11-06 1 views
2

Je suis en train de créer une page d'archive de messages de mon site. Ce que je voudrais est d'être en mesure d'avoir une page pour chaque liste de messages par mois dans ce format:Messages par mois dans Jekyll

www.mywebsite.com/2016/11 afficherait tous les messages pour Novembre 2016.

Puis-je avoir une page pour chaque mois que j'ai posté qui est créé dynamiquement chaque fois que je poste dans un nouveau mois? Je ne veux pas avoir à créer manuellement une nouvelle page pour chaque mois.

Je peuvent déjà des messages de groupe par année comme ceci:

<ul> 
{% for post in site.posts %} 
    {% assign currentdate = post.date | date: "%Y" %} 
    {% if currentdate != date %} 
    <li id="y{{currentdate}}">{{ currentdate }}</li> 
    {% assign date = currentdate %} 
    {% endif %} 
    <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
{% endfor %} 
</ul> 

Merci pour toute aide.

Répondre

3

Vous pouvez modifier votre filtre date pour intégrer le mois, par ex. date: "%B %Y". C'est ce que j'ai utilisé dans une mise en page, avec un <ul> séparé pour chaque mois.

De documentation, mois uniquement les valeurs du filtre date sont:

  • %b: nom abrégé du mois.
  • %B: nom du mois complet.
  • %m: mois de l'année (01 - 12).

boucle complète:

<ul> 
{% for post in site.posts %} 
    {% assign currentdate = post.date | date: "%B %Y" %} 
    {% if currentdate != date %} 
    <li id="y{{currentdate}}">{{ currentdate }}</li> 
    {% assign date = currentdate %} 
    {% endif %} 
    <li><a href="{{ post.url }}">{{ post.title }}</a></li> 
{% endfor %} 
</ul> 

A propos de la création des pages, ce AFAIK ne peut se faire par le biais d'un plug-in. Si vous ne pouvez pas utiliser de plugins, par ex. Si vous hébergez vos pages sur GitHub, le mieux que vous puissiez faire est de réduire vos pages à un court métrage YAML basé sur une mise en page, comme dans this answer.

+0

Merci, ça m'a aidé. J'héberge sur GitHub, donc je n'utiliserai aucun plugin pour ça (et pour être honnête je veux garder le site aussi léger que possible, donc je ne veux pas de dépendances sur les plugins externes). – colmulhall