hexo-theme-stellar/layout/_partial/main/navbar/list_post.ejs

59 lines
2.1 KiB
Plaintext

<%
function layoutDiv() {
var el = '';
el += '<div class="nav-wrap">';
el += '<nav class="sub post cap">';
if (is_home()) {
el += '<a class="active" href="' + url_for("/") + '">' + __("btn.recent_publish") + '</a>';
} else {
el += '<a href="' + url_for("/") + '">' + __("btn.recent_publish") + '</a>';
}
if (site.categories && site.categories.length > 0) {
if (page.category) {
el += '<a class="active" href="' + url_for(config.category_dir) + '">' + __("btn.category") + __("symbol.colon") + page.category + '</a>';
} else if (page.layout == "categories") {
el += '<a class="active" href="' + url_for(config.category_dir) + '">' + __("btn.categories") + '</a>';
} else {
el += '<a href="' + url_for(config.category_dir) + '">' + __("btn.categories") + '</a>';
}
}
if (site.tags && site.tags.length > 0) {
if (page.tag) {
el += '<a class="active" href="' + url_for(config.tag_dir) + '">' + __("btn.tag") + __("symbol.colon") + page.tag + '</a>';
} else if (page.layout == "tags") {
el += '<a class="active" href="' + url_for(config.tag_dir) + '">' + __("btn.tags") + '</a>';
} else {
el += '<a href="' + url_for(config.tag_dir) + '">' + __("btn.tags") + '</a>';
}
}
if (site.posts && site.posts.length > 0) {
if (is_archive()) {
el += '<a class="active" href="' + url_for(config.archive_dir) + '">' + __("btn.archives") + '</a>';
} else {
el += '<a href="' + url_for(config.archive_dir) + '">' + __("btn.archives") + '</a>';
}
}
if (theme['post-index']) {
const obj = theme['post-index'];
for (let key of Object.keys(obj)) {
// 当 page 的末尾为 index.html 或者处于该 page 的某个子页面时也应该匹配
// if (full_url_for(page.path) == full_url_for(obj[key])) {
if (full_url_for(page.path).startsWith(full_url_for(obj[key]))){
el += '<a class="active" href="' + url_for(obj[key]) + '">' + key + '</a>';
} else {
el += '<a href="' + url_for(obj[key]) + '">' + key + '</a>';
}
}
}
el += '</nav>';
el += '</div>';
return el;
}
%>
<%- layoutDiv() %>