pin
This commit is contained in:
parent
254c29c6fe
commit
1dbbe0883c
|
@ -49,4 +49,7 @@ if (post.categories && post.categories.length > 0) {
|
||||||
<%- layoutCats() %>
|
<%- layoutCats() %>
|
||||||
<% } %>
|
<% } %>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
<% if (post.pin) { %>
|
||||||
|
<span class='pin'><img src='https://7.dusays.com/2021/02/27/3279dd441df8b.svg'/></span>
|
||||||
|
<% } %>
|
||||||
</div>
|
</div>
|
||||||
|
|
123
layout/index.ejs
123
layout/index.ejs
|
@ -9,44 +9,52 @@ if (page.menu_id == undefined) {
|
||||||
if (page.title && page.wiki) {
|
if (page.title && page.wiki) {
|
||||||
page.robots = 'noindex,follow';
|
page.robots = 'noindex,follow';
|
||||||
}
|
}
|
||||||
function layout_h1() {
|
|
||||||
if (is_home()) {
|
function layout_post_card(type, post, content) {
|
||||||
return '';
|
var el = '';
|
||||||
}
|
el += '<a class="post-card ' + type + scrollreveal() + '" href="' + url_for(post.link || post.path) + '">';
|
||||||
var el = '<h1 class="list-title">';
|
el += '<article class="excerpt md">';
|
||||||
el += __('page.filter', config.title, page.category || page.tag, page.posts.length);
|
el += content;
|
||||||
el += '</h1>';
|
el += '</article></a>';
|
||||||
return el;
|
return el;
|
||||||
}
|
}
|
||||||
%>
|
|
||||||
<% if (page.menu_id == 'post') { %>
|
function layout_posts(partial) {
|
||||||
<%- partial('_partial/main/navbar/list_post') %>
|
var el = '';
|
||||||
<% if (page.posts) { %>
|
el += '<div class="post-list post">';
|
||||||
<div class='post-list post'>
|
if (is_home()) {
|
||||||
<%- layout_h1() %>
|
// pinned posts
|
||||||
<% page.posts.each(function(post){ %>
|
if (page.current == 1) {
|
||||||
<a class='post-card post<%- scrollreveal() %>' href='<%- url_for(post.link || post.path) %>'>
|
var pinned = site.posts.filter(function(post){
|
||||||
<article class='excerpt md'>
|
return post.pin != undefined;
|
||||||
<%- partial('_partial/main/post_list/post_card', {post: post}) %>
|
}).sort((config.index_generator && config.index_generator.order_by) || '-date');
|
||||||
</article>
|
pinned.forEach((post, i) => {
|
||||||
</a>
|
el += layout_post_card('post', post, partial(post));
|
||||||
<% }) %>
|
});
|
||||||
<%- partial('_partial/main/post_list/paginator') %>
|
}
|
||||||
</div>
|
// unpinned posts
|
||||||
<% } %>
|
page.posts.each(function(post){
|
||||||
<% } else if (page.menu_id == 'wiki') { %>
|
if (post.pin == undefined) {
|
||||||
<% function outputExcerpt(post) { %>
|
el += layout_post_card('post', post, partial(post));
|
||||||
<a class='post-card wiki<%- scrollreveal() %>' href='<%- url_for(post.link || post.path) %>'>
|
}
|
||||||
<article class='excerpt md'>
|
})
|
||||||
<%- partial('_partial/main/post_list/wiki_card', {post: post}) %>
|
} else {
|
||||||
</article>
|
el += '<h1 class="list-title">';
|
||||||
</a>
|
el += __('page.filter', config.title, page.category || page.tag, page.posts.length);
|
||||||
<% } %>
|
el += '</h1>';
|
||||||
<%- partial('_partial/main/navbar/list_wiki') %>
|
page.posts.each(function(post){
|
||||||
<% if (page.title && page.wiki) { %>
|
el += layout_post_card('post', post, partial(post));
|
||||||
<div class='post-list wiki filter'>
|
})
|
||||||
<%
|
}
|
||||||
|
el += '</div>';
|
||||||
|
return el;
|
||||||
|
}
|
||||||
|
|
||||||
|
function layout_wikis(partial) {
|
||||||
|
var el = '';
|
||||||
var wikis = [];
|
var wikis = [];
|
||||||
|
if (page.title && page.wiki) {
|
||||||
|
// filtered wikis
|
||||||
page.wiki.forEach((wiki, i) => {
|
page.wiki.forEach((wiki, i) => {
|
||||||
site.pages.filter(function (p) {
|
site.pages.filter(function (p) {
|
||||||
return p.layout == 'wiki' && p.wiki == wiki && p.description;
|
return p.layout == 'wiki' && p.wiki == wiki && p.description;
|
||||||
|
@ -54,16 +62,14 @@ function layout_h1() {
|
||||||
wikis.push(post);
|
wikis.push(post);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
%>
|
el += '<div class="post-list wiki filter">';
|
||||||
<h1 class='list-title'><%- __('page.wiki', config.title, wikis.length, page.title) %></h1>
|
el += '<h1 class="list-title">' + __("page.wiki", config.title, wikis.length, page.title) + '</h1>';
|
||||||
<% wikis.forEach(function(post) { %>
|
wikis.forEach(function(wiki) {
|
||||||
<%- outputExcerpt(post) %>
|
el += layout_post_card('wiki', wiki, partial(wiki));
|
||||||
<% }); %>
|
});
|
||||||
</div>
|
el += '</div>';
|
||||||
<% } else { %>
|
} else {
|
||||||
<div class='post-list wiki'>
|
// all wikis
|
||||||
<%
|
|
||||||
var wikis = [];
|
|
||||||
wikis = site.pages.filter(function (p) {
|
wikis = site.pages.filter(function (p) {
|
||||||
if (p.layout == 'wiki' && p.wiki && p.description) {
|
if (p.layout == 'wiki' && p.wiki && p.description) {
|
||||||
if (p.order == undefined) {
|
if (p.order == undefined) {
|
||||||
|
@ -74,11 +80,26 @@ function layout_h1() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}).sort('order');
|
}).sort('order');
|
||||||
|
el += '<div class="post-list wiki">';
|
||||||
|
el += '<h1 class="list-title">' + __("page.wiki", config.title, wikis.length, __('btn.wiki')) + '</h1>';
|
||||||
|
wikis.forEach(function(wiki) {
|
||||||
|
el += layout_post_card('wiki', wiki, partial(wiki));
|
||||||
|
});
|
||||||
|
el += '</div>';
|
||||||
|
}
|
||||||
|
return el;
|
||||||
|
}
|
||||||
%>
|
%>
|
||||||
<h1 class='list-title'><%- __('page.wiki', config.title, wikis.length, __('btn.wiki')) %></h1>
|
|
||||||
<% wikis.forEach(function(post) { %>
|
<% if (page.menu_id == 'post') { %>
|
||||||
<%- outputExcerpt(post) %>
|
<%- partial('_partial/main/navbar/list_post') %>
|
||||||
<% }); %>
|
<%- layout_posts(function(post){
|
||||||
</div>
|
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(post){
|
||||||
|
return partial('_partial/main/post_list/wiki_card', {post: post})
|
||||||
|
}) %>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
|
@ -25,9 +25,17 @@
|
||||||
overflow: hidden
|
overflow: hidden
|
||||||
background: var(--card)
|
background: var(--card)
|
||||||
.meta.cap
|
.meta.cap
|
||||||
|
display: flex
|
||||||
|
flex-wrap: wrap
|
||||||
|
align-items: center
|
||||||
margin-bottom: 0.5rem
|
margin-bottom: 0.5rem
|
||||||
span+span
|
span+span
|
||||||
margin-left: 0.5rem
|
margin-left: 0.5rem
|
||||||
|
span.pin
|
||||||
|
line-height: 0
|
||||||
|
img
|
||||||
|
object-fit: contain
|
||||||
|
height: 1.5em
|
||||||
.post-list .post-card:hover
|
.post-list .post-card:hover
|
||||||
box-shadow: 0 2px 8px 0px rgba(0, 0, 0, 0.04), 0 4px 16px 0px rgba(0, 0, 0, 0.04)
|
box-shadow: 0 2px 8px 0px rgba(0, 0, 0, 0.04), 0 4px 16px 0px rgba(0, 0, 0, 0.04)
|
||||||
.preview img
|
.preview img
|
||||||
|
|
Loading…
Reference in New Issue