1 | 'use strict';
|
2 |
|
3 | function postGenerator(locals) {
|
4 | const posts = locals.posts.sort('-date').toArray();
|
5 | const length = posts.length;
|
6 |
|
7 | return posts.map((post, i) => {
|
8 | const layout = post.layout;
|
9 | const path = post.path;
|
10 |
|
11 | if (!layout || layout === 'false') {
|
12 | return {
|
13 | path,
|
14 | data: post.content
|
15 | };
|
16 | }
|
17 |
|
18 | if (i) post.prev = posts[i - 1];
|
19 | if (i < length - 1) post.next = posts[i + 1];
|
20 |
|
21 | const layouts = ['post', 'page', 'index'];
|
22 | if (layout !== 'post') layouts.unshift(layout);
|
23 |
|
24 | post.__post = true;
|
25 |
|
26 | return {
|
27 | path,
|
28 | layout: layouts,
|
29 | data: post
|
30 | };
|
31 | });
|
32 | }
|
33 |
|
34 | module.exports = postGenerator;
|