You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

33 lines
640 B

'use strict';
function postGenerator(locals) {
const posts = locals.posts.sort('-date').toArray();
const { length } = posts;
return posts.map((post, i) => {
const { path, layout } = post;
if (!layout || layout === 'false') {
return {
path,
data: post.content
};
}
if (i) post.prev = posts[i - 1];
if (i < length - 1) post.next = posts[i + 1];
const layouts = ['post', 'page', 'index'];
if (layout !== 'post') layouts.unshift(layout);
post.__post = true;
return {
path,
layout: layouts,
data: post
};
});
}
module.exports = postGenerator;