前言

Hexo 首页的文章列表默认是通过文章建立的日期来排序的,也就是最新的文章排在最前面。

但是,有时候我的文章会持续更新,我希望将我更新后的文章放到最前面。

其实,在 Hexo 内部,他是支持 updated 这个参数的,意思就是,你在建立文章的时候,他就已经默认地给你添加了一个名为 update 的参数。

但这个数据只是添加在 db.json 中,并不会添加到你的 md 文件中。但它的效果其实和你直接在 md 文件中写是一样的,像下面这样:

1
2
3
4
5
6
title: Hexo 文章按照更新时间排序
desc: Hexo 文章按照更新时间排序
date: 2018-02-13 17:34:46
updated: 2018-02-13 17:34:46
tags: [Hexo]
categories: 🖌 Hexo

其实这样更加的方便,能够手动的控制更新日期,避免 db.json 被删除后,‘更新日期’数据丢失的情况出现。

当然,没次手动敲时间进去,肯定不是程序员会做的事,我们会使用工具啊!!

我用的 VSCode 写博客,所以选择了这个工具 Insert Date String。安装好后,OS X 按 ⇧ + ⌘ + I,Windows 和 Linux 按 Ctrl + Shift + I,即可插入当前时间了,体验很爽的!

有了修改时间,我们再修改默认配置文件就能实现按 updated 排序了,如下。

找到主配置文件 _config.yml,然后修改 index_generatororder_by-updated 即可:

1
2
3
4
5
6
7
8
# Home page setting
# path: Root path for your blogs index page. (default = '')
# per_page: Posts displayed per page. (0 = disable pagination)
# order_by: Posts order. (Order by date descending by default)
index_generator:
path: ''
per_page: 10
order_by: -updated

重新生成页面:

1
hexo g

即可看到,页面都已经按照更新时间排序了😁