const moment = require('moment'); const { Component, Fragment } = require('inferno'); const Paginator = require('./misc/paginator'); module.exports = class extends Component { render() { const { config, page, helper } = this.props; const { url_for, __, has_thumbnail, get_thumbnail, date_xml, date } = helper; const language = page.lang || page.language || config.language; function renderArticleList(posts, year, month = null) { const time = moment([page.year, page.month ? page.month - 1 : null].filter(i => i !== null)); return
{posts.map(post => { const categories = []; post.categories.forEach((category, i) => { categories.push({category.name}); if (i < post.categories.length - 1) { categories.push(' / '); } }); return
{has_thumbnail(post) ?

{post.title

: null}
{post.title} {categories.length ?

{categories}

: null}
; })}
; } let articleList; if (!page.year) { const years = {}; page.posts.each(p => { years[p.date.year()] = null; }); articleList = Object.keys(years).sort((a, b) => b - a).map(year => { const posts = page.posts.filter(p => p.date.year() === parseInt(year, 10)); return renderArticleList(posts, year, null); }); } else { articleList = renderArticleList(page.posts, page.year, page.month); } return {articleList} {page.total > 1 ? : null} ; } };