Hexo之yelee主题如何添加字数统计与阅读时长

一直都想给Hexo搭建的博客添加字数统计与阅读时长,之前曾尝试一些方案,但因为不同主题以及Node.js版本原因(这个是最关键的),最后都放弃了,今天略有时间尝试了另外一种方案,居然成功了。步骤如下所示:

一、安装插件

1
npm i --save hexo-wordcount

二、修改目标tag.ejs文件

文件路径为:themes/yelee/layout/_partial/post/tag.ejs

tag.ejs内容如下:

1
2
3
4
5
6
7
8
<% if (post.tags && post.tags.length){ %>
<div class="article-tag tagcloud">
<%- list_tags(post.tags, {
show_count: false,
class: 'article-tag'
}) %>
</div>
<% } %>

将其改为如下内容(复制黏贴即可):

1
2
3
4
5
6
7
8
9
10
11
12
13
<% if (post.tags && post.tags.length){ %>

<div class="article-tag tagcloud" style="display: flex; flex-wrap: wrap">
<%-
list_tags(post.tags, {
show_count: false,
class: 'article-tag'
})
%>
<span class="post-count">总字数<%= wordcount(post.content) %></span>
<span class="post-count">预计阅读<%= min2read(post.content) %>分钟</span>
</div>
<% } %>

三、修改样式

目标文件:themes/yelee/source/css/_partial/tagcloud.styl

在原内容的基础上添加(在.article-tag::before上方添加):

1
2
3
4
5
6
7
8
9
10
11
12
.article-tag
.article-tag-list
display flex
flex-wrap wrap
span
cursor pointer
line-height 29px
font-size 13px
color #aaa
&:before
content "\27A4"
margin-left 1em

最终效果图如下所示:
图一
图二

不过奇怪的是部署上去后,居然变成这样(样式完全紊乱了):
图三

所以我决定隐藏那段代码,后续再来深究是什么原因。

文章目录
  1. 一、安装插件
  2. 二、修改目标tag.ejs文件
  3. 三、修改样式