%
if (page.menu_id === undefined) {
if (page.layout === 'index' && page.wiki) {
page.menu_id = 'wiki';
} else {
page.menu_id = 'post';
}
}
if (page.title && page.wiki) {
page.robots = 'noindex,follow';
}
function layout_post_card(layout, post, content) {
var el = '';
el += '';
el += '';
el += content;
el += '';
return el;
}
function layout_posts(partial) {
var el = '';
el += '
';
if (is_home()) {
// pinned posts
if (page.current == 1) {
var pinned = site.posts.filter(function(post){
return post.pin != undefined;
}).sort((config.index_generator && config.index_generator.order_by) || '-date');
pinned.forEach((post, i) => {
el += layout_post_card('post', post, partial(post));
});
}
// unpinned posts
page.posts.each(function(post){
if (post.pin === undefined) {
el += layout_post_card('post', post, partial(post));
}
})
} else {
page.posts.each(function(post){
el += layout_post_card('post', post, partial(post));
})
}
el += '
';
return el;
}
function layout_wikis(partial) {
var el = '';
var wikis = [];
const projects = theme.wiki.projects;
for (let proj_name of Object.keys(projects)) {
let proj = projects[proj_name];
if (proj.index === false || proj.pages === undefined || proj.pages.length === 0) {
continue;
}
if (page.filter === false) {
// all wikis
proj.pages.sort('order').limit(1).forEach((p0, i) => {
el += '';
el += layout_post_card('wiki', p0, partial(proj));
el += '
';
});
} else if (page.group === proj.group) {
// filtered wikis
proj.pages.sort('order').limit(1).forEach((p0, i) => {
el += '';
el += layout_post_card('wiki', p0, partial(proj));
el += '
';
});
}
}
return el;
}
%>
<% if (page.menu_id === 'post') { %>
<%- partial('_partial/main/navbar/list_post') %>
<%- layout_posts(function(post){
return partial('_partial/main/post_list/post_card', {post: post})
}) %>
<%- partial('_partial/main/post_list/paginator') %>
<% } else if (page.menu_id === 'wiki') { %>
<%- partial('_partial/main/navbar/list_wiki') %>
<%- layout_wikis(function(proj){
return partial('_partial/main/post_list/wiki_card', {proj: proj})
}) %>
<% } %>