hexo搭建博客教程03
Dec 29 , 2016

3、post页面

创建/layout/post.ejs文件
文章显示页面内容可以自己定义,具体变量可以参照页面变量
page.more是显示除了摘要外的其他内容,page.content是显示所有内容,page.excerpt是显示摘要
注意:标签页面实际上也是post页面,所以如果有标签页面存在,如果标签页面和其他页面样式显示有区别,则需要在post中区分出正常的post页面和标签页面
区分是否标签页面
1
2
3
<% if(page.path === 'tags/index.html'){ %>
……
<% } %>

4、归档页面

创建/layout/archive.ejs文件
归档可以根据年份或者月份归档都可以
本文是根据年份划分,年份中又划分了月份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<% var last_y; %>
<% var last_m; %>
<% page.posts.each(function(post,i){ %>
<% var year = post.date.year(); %>
<% var month = post.date.month(); %>
<% if (last_y!=year){ %>新的一年
<% if(last_m != month){ %>新的月份
……
<% } %>
<% } else { %>
<% if(last_m != month){ %>
……
<% } %>
<% } %>
<!-- archive show content -->
<% }) %>

5、标签页面

在实现标签页面的时候遇到个问题,我的所有文章都已经加上tags标记,但是访问标签页面的时候还是显示“ Cannot GET /tags/”,当时一直搞不明白这是为什么
后面去看了文档,后来发现还需要执行一个操作-新建一个命名为tags的页面
1
hexo new page 'tags'
此时就可以访问标签页面了,不过这时候会发现标签页面只有个标题,其他什么内容都没有……
还记得上面post页面中是否标签页面的判断吗?在判断是标签页面的情况下,加载tags内容
标签内容可以通过tagcloud来控制标签显示样式
1
2
3
4
5
6
7
8
<%- tagcloud({
min_font: 16,
max_font: 50,
amount: 9999,
color: true,
start_color: 'gray',
end_color: '#383131'
}) %>

到此,博客的基本页面都已经实现啦

PREVIOUS NEXT
 |