如何在 Hexo 中对文章 md 文件分类

如何在 Hexo 中对文章 md 文件分类

本文将介绍如何在 Hexo 中对文章 md 文件按日期进行分类

起因

在默认配置下,我们使用hexo new post [title]会在source/_post/目录下生成对应的markdown文件,当我们写的博客越来越多的时候,会发现,所有文章都是在source/_post/下,查找起来会不大方便,因此希望对它进行一个分类,但是在生成的文章链接上保持不变。

方法

通过查看hexo 配置文档 发现:

permalink 用于设置文章的永久链接格式
new_post_name 新文章的文件名称

因此我们可以通过配置new_post_name让创建的文件按时间分类,其次可通过new命令指定创建时的文件路径(hexo new page --path about/me "About me"),从而进行归类。

这里介绍new_post_name方法,我们可以指定:

1
2
permalink: 'articles/:year/:month/:day/:name/'
new_post_name: ':year/:title.md'

这时候每次运行hexo new post [title]时新建的文件将按年份存放,生成的 html 文件将会按照年月日展示,比如source/_post/2021/test.md对应的博客地址:2021/06/25/test/

整理

现在新建文章的路径我们是已经处理好了,那以前创建的文章是不是要一个个手动分类呢?这里参考此文章,我们可以使用终端进行处理:

思路为:

  1. 找出 2021 年的文章
  2. 移动到 2021 文件夹下
  3. 找出 2020 年的文章,按 1-2 步的方式处理……
1
2
3
4
5
6
7
8
9
10
11
# 进入_post目录
cd source/_post
# 创建一个2021年1月1日的文件,用于过滤出2018年的文章
touch -t 202101010000 timestamp
# 创建2021文件夹
mkdir 2021
# 将2021年的文章移到2021文件夹下
for file in `find . -type f -newer timestamp`; do mv $file 2021 ; done
# 删除刚才创建的用于过滤的文件
rm timestamp

参考链接

作者

Sea

发布于

2021-06-25

更新于

2023-01-10

许可协议

评论