Bouclez la date des articles pour créer des archives dans DocPad

Voici un pseudo-code de ce que je veux réaliser:

for year in post.date h1 year for month in post.date h2 month ul li post entry 

C’est le pseudo-code. Cependant, je n’ai pas assez d’expérience pour y parvenir. Le fichier dans lequel cela se produirait est celui-ci: https://github.com/Greduan/eduantech.docpad/blob/master/src/documents/posts.html.eco

Et ce serait dans le langage écologique . J’utilise aussi Moment.js au cas où cela serait nécessaire.

Même si vous ne fournissez pas le code exact, une direction générale sera très appréciée. 🙂

EDIT: Ce que je voudrais réaliser est quelque chose semblable à ceci: http://swannodette.github.io/archive.html

EDIT 2: Voici une partie du code que j’ai créé:

 for post in @getCollection('posts').toJSON() for year in post.date h1 @moment(post.date).format('YYYY') for month in post.date h2 @moment(post.date).format('MMMM') ul -> li -> @postDatetime(post.date, 'll') + ' » ' a href:'post.url', post.title 

Pour l’instant, il ne sort rien. Je pense donc que certains des noms de variables ne sont pas corrects, ce que j’imagine. J’apprécie toute aide. 🙂

BTW ne vous inquiétez pas pour la fonction @postDatetime . Cela fonctionne sans problèmes ailleurs. 🙂

Si vos articles sont déjà sortingés par date, votre collection est déjà groupée par année, par mois. Tout ce que vous avez à faire est de parcourir toute la collection et d’insérer vos en-têtes d’année et de mois lorsque les valeurs d’année / mois changent. Quelque chose comme ça:

 yr = -1 //temporary vars for storing current year value in loop mnth = -1 //same for month value monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ] div style:'text-align:left;font-size:20px;width:500px;margin-right:auto;margin-left:auto', -> for post in @getCollection('posts').toJSON() if post.date.getFullYear() isnt yr yr = post.date.getFullYear() mnth = -1 h1 yr.toSsortingng() if post.date.getMonth() isnt mnth mnth = post.date.getMonth() h2 style:'padding-left:10px;', monthNames[mnth] ul style:'padding-left:50px;', -> li -> post.date.toDateSsortingng() 

Cela ressemble-t-il à ce que vous recherchez?