hexo-theme-stellar/layout/_partial/main/article/read_next.ejs

59 lines
1.6 KiB
Plaintext
Raw Normal View History

2021-02-20 13:09:41 +08:00
<%
function layoutDiv() {
var prev,next;
var title = __('meta.read_next');
2021-06-26 12:40:13 +08:00
var title_prev = __('meta.prev');
var title_next = __('meta.next');
2021-07-07 23:56:41 +08:00
if (page.layout === 'post') {
2021-03-13 13:32:45 +08:00
prev = page.prev;
next = page.next;
2021-06-26 12:40:13 +08:00
title_prev = __('meta.newer');
title_next = __('meta.older');
2021-07-07 23:56:41 +08:00
} else if (page.layout === 'wiki' && page.wiki && page.wiki.length > 0) {
2021-07-26 22:26:46 +08:00
let proj = theme.wiki.projects[page.wiki];
if (proj) {
2021-07-29 23:00:40 +08:00
const current = page.order || 0;
2021-07-26 22:26:46 +08:00
proj.pages.forEach((p, i) => {
2021-07-29 23:00:40 +08:00
if (p.order < current) {
2021-07-26 22:26:46 +08:00
if (prev == undefined || p.order > prev.order) {
prev = p;
}
2021-07-29 23:00:40 +08:00
} else if (p.order > current) {
2021-07-26 22:26:46 +08:00
if (next == undefined || p.order < next.order) {
next = p;
}
2021-02-20 13:09:41 +08:00
}
2021-07-26 22:26:46 +08:00
});
}
2021-02-20 13:09:41 +08:00
}
2021-02-25 20:49:43 +08:00
let el = '';
2021-02-20 13:09:41 +08:00
if (prev || next) {
2021-07-13 22:25:24 +08:00
el += '<div class="related-wrap reveal" id="read-next">';
2022-10-23 16:56:27 +08:00
el += '<section class="body">';
2022-10-24 23:30:34 +08:00
// prev
el += '<div class="item" id="prev">';
2021-02-20 13:09:41 +08:00
if (prev) {
2022-10-24 23:30:34 +08:00
el += '<div class="note">' + title_prev + '</div>';
el += '<a href="' + url_for(prev.path) + '">';
2022-11-06 19:46:47 +08:00
el += prev.title || prev.seo_title || prev.wiki || date(prev.date, config.date_format);
2021-06-26 12:40:13 +08:00
el += '</a>';
}
2022-10-24 23:30:34 +08:00
el += '</div>';
// next
el += '<div class="item" id="next">';
if (next) {
el += '<div class="note">' + title_next + '</div>';
el += '<a href="' + url_for(next.path) + '">';
2022-11-06 19:46:47 +08:00
el += next.title || next.seo_title || next.wiki || date(next.date, config.date_format);
2022-10-24 23:30:34 +08:00
el += '</a>';
}
el += '</div>';
2021-02-25 20:49:43 +08:00
el += '</section>';
el += '</div>';
2021-02-20 13:09:41 +08:00
}
2021-02-25 20:49:43 +08:00
return el;
2021-02-20 13:09:41 +08:00
}
%>
<%- layoutDiv(); %>