Ecco alcuni pseudo-codice di ciò che voglio ottenere:
for year in post.date h1 year for month in post.date h2 month ul li post entry
Questo è lo pseudo-codice. Tuttavia non ho abbastanza esperienza per raggiungere questo objective. Il file in cui ciò avverrà è questo: https://github.com/Greduan/eduantech.docpad/blob/master/src/documents/posts.html.eco
E sarebbe nel linguaggio eco . Sto usando Moment.js anche nel caso sia necessario.
Anche se non fornisci il codice esatto, una direzione generale sarà molto apprezzata. 🙂
EDIT: Quello che vorrei ottenere è qualcosa di simile a questo: http://swannodette.github.io/archive.html
EDIT 2: Ecco alcuni dei codici che ho trovato:
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
Per ora non emette nulla. Quindi sto pensando di aver sbagliato alcuni dei nomi delle variabili, che immagino di aver fatto. Apprezzo qualsiasi aiuto. 🙂
BTW non preoccuparti della funzione @postDatetime
. Quello con funziona senza problemi da qualche altra parte. 🙂
Se i tuoi post sono già ordinati per data, la tua raccolta è già raggruppata per anno, mese. Tutto quello che devi fare è scorrere l’intera collezione e inserire le intestazioni anno e mese quando cambiano i valori di anno / mese. Qualcosa come questo:
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.toString() 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.toDateString()
Suona come quello che stai cercando?