blog.negative9.net/templates/archive.jade

33 lines
1.4 KiB
Plaintext

extends layout
//- this logic should be moved to a view at some point
block content
- var lineHeight = 2.2;
- var archives = _.chain(env.helpers.getArticles(contents)).groupBy(function(item) {
- return item.date.getFullYear();
- }).value();
- for (var archive in archives) {
- archives[archive] = _.groupBy(archives[archive], function(item) { return item.date.getMonth(); });
- }
- var month_names = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
section.archive
h2 Archive
ul
- var yearsK = _.chain(archives).keys().reverse().value();
each yearK in yearsK
- var months = archives[yearK];
- var yearHeight = lineHeight * _.reduce(months, function(memo,month) { return memo + month.length; }, 0);
li
span.year-label(style='line-height:' + yearHeight + 'em')= yearK
ul(style='margin-left:4em')
- var monthsK = _.chain(months).keys().reverse().value();
each monthK in monthsK
- var monthHeight = lineHeight * months[monthK].length;
li
span.month-label(style='line-height:' + monthHeight + 'em')= month_names[monthK]
ul(style='margin-left:7em')
each item in months[monthK]
li(style='height:'+ lineHeight + 'em;line-height:' + lineHeight + 'em')
a(href=item.url)= item.title