本 Post 用以记录 Ver1.0 涉及的更新内容及其方法:

  1. 增加并修改 Title 图标及颜色。
  2. 新增更新时间及排序方法。

注意:该方法对应的文件类型为scss/css/pug/js。可能和以ejs为主的主题存在些微区别,但方法大致相同。

增加并修改Title图标及颜色

首先找到 theme 对应的 style 文件。在本主题中,该文件路径为:

1
root\themes\maupassant\source\css\style.scss

在其中找到 title 对应的部分。这个工作可能不是那么容易,需要先进入index(在我这里是index.pug)文件查看。那么我们同时打开idnex.pug文件。这个文件路径为:

1
root\themes\maupassant\layout\index.pug

在其中找到关于 Post 和 Post-title 对应的代码往下找就行了。在我的主题中,这部分文件如下:

1
2
3
4
5
6
.post-meta=post.date.format(config.date_format)
if post.categories.length > 0
span= ' | '
span.category
for category in post.categories.toArray()
a(href=url_for(category.path))= category.name

从这里得知 style 文件中的应该修改的是在.post-meta这里,对其进行修改、增加风格就可以了。比如对于显示阅读时间的部分,是按如下方式修改的,这只是一个咖啡的图标而已。

1
2
3
4
5
6
7
8
.time {
&:before {
color: #9c786c;
font-family: "FontAwesome";
content: "\f0f4";
padding-right: 0.3em;
}
}

这里的修改相当地繁琐,故不一一列举,方法都是一样的。

增加Update时间及按照该时间排序

updated是 Hexo 默认的关键字,可以如同date关键字一样,转化为符合时间格式的特殊数据结构,因而可以用以比较时间。所以为了增加 update 时间,在每一个文件的 title setting 的部分加上一个updated字样即可。

但是只是这样做是不可以排序的,使用 Config 文件中的order by:也无法达到希望的效果。所以这里借助 top 插件的代码。找到文件generator.js。该文件位置在:

1
node_modules\hexo-generator-index-pin-top\lib\

将这个文件中用来比较的 date 均改为 updated,即可。

对于后面风格化的设置,参见上一小节的方法。