Hexo主题更换与魔改·壹·标签分类页

目录
TOC

Hexo主题系列之一:关于如何从零在主题里修建一个标签和分类页面。

首先根据前文所述,在source里新建一个tags的文件夹,并在里面放一个名为indexmarkdown文件。

这个indexLayout指向为它被渲染的ejs文件,由于在博客里我把分类和标签放在了同一个页面「T&C」,所以我只用新增一个文件夹,并将其指向名为tags.ejs的文件。

同时不要忘记了,在主题的menu中新增相关的页面导航,并将地址定义为/tags,这个地址对应的就是source下面的名字。

至于tagscategories如何根据特定标签和分类属性生成相关文档归档,我们可以通过辅助函数list_categorieslist_tags生成所有的tagscategories的列表,而这些列出的值都是可以点击的,可以指向归档archive页面。

具体的T&C的ejs文件如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<hr>
<% if (((site.tags && site.tags.length) || (site.categories && site.categories.length))){ %>
<div class="TandCALL">
<% if (site.categories && site.categories.length){ %>
<b>分类:</b>
<%- list_categories(site.categories, {
show_count: true,
class: 'TandC',
style: 'none'
}) %>
<% } %>
<% if ((site.tags && site.tags.length) && (site.categories && site.categories.length)){ %>
<br/><hr>
<% } %>
<% if (site.tags && site.tags.length){ %>
<b>标签:</b>
<%- list_tags(site.tags, {
show_count: true,
class: 'TandC',
style: 'none'
}) %>
<% } %>
</div>
<% } %>
<% if (index && theme.intensedebate.enable && theme.intensedebate.acct){ %>
<footer class="article-footer">
<a href="<%- url_for(post.path) %>#idc-container">Comments</a>
</footer>
<% } %>
</div>

<% if (page.total > 1){ %>
<nav id="page-nav" class="page-nav">
<% var prev_text = "« " + __('prev');var next_text = __('next') + " »"%>
<%- paginator({
prev_text: prev_text,
next_text: next_text
}) %>
</nav>
<% } %>

DAR
SON