4、如何将本地的文章进行分类管理

需求分析

刚开始在使用hexo写博客的时候发现,就是新建的文章都是在_posts目录中,现在写的东西少还好,到时如果多了的话,在本地就不好维护了,希望能够使用分类把本地的文章进行分类,就像下图中的java目录,我希望放Java相关的文章到这个目录。在线上展示的分类我们知道可以通过categoriestags进行分类展示。那么这个要怎么解决?

hexo本地文章分类

解决方案

可以先进入hexo的官方网站:https://hexo.io/zh-cn/docs/writing.html模块。

我们知道hexo新建文章的命令如下:

$ hexo new [layout] <title>

我们可以在命令中指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局。
那么我们希望是不是可以自定义布局来实现文章存放的不同位置?

接着我们往下看可以看到 模版(Scaffold) 这一节。

知道了在新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件,例如:

$ hexo new photo "My Gallery"

在执行这行指令时,Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章,然后会在_posts目录下面生成photo目录,这不就是我们想要的吗?

所以我们可以现在scaffolds中参照photo.md新建我们自定义的模板,如java.md

1
2
3
4
5
6
---
title: {{ title }}
date: {{ date }}
tags:
categories:
---

然后执行

$ hexo new java "java-test"

然后会发现并没有在_posts目录下面创建Java目录,之前那个photo发现也不会把文章创建到photo目录下去。

然后这需要通过手工新建java目录,然后手动在自定义的目录下面新建文章即可,如java-test.md

1
2
3
4
5
6
7
8
9
10
---
title: java-test
date: 2018-01-07 23:40:27
categories:
- java
- 集合框架
tags:
- java
- 集合框架
---

然后发布,效果如下,可以正常浏览,达到预期效果。
效果

参考文档

https://hexo.io/zh-cn/docs/writing.html