Hexo如何添加文章分类目录

文章更新

  1. 20160705-初次成文

问什么会有这篇文章

没有为什么,因为发现一个帖子写的太长的话,自己看起来也纠结,别说网上的访客了。所以以后,尽量保证每个帖子长度适中,不会引起阅读疲劳。

添加分类文章单页

在命令行里面输入:

1
hexo new page "categories"

然后你会发现source里面多了个目录categories,里面有个index.md。

我们看到默认的页面是这样的:

1
2
3
4
title: name
date: 2016-07-05 11:15:00
tags:
---

编辑,将页面的类型设置为 categories ,主题将自动为这个页面显示所有分类。

1
2
3
4
title: 分类
date: 2016-07-05 11:39:04
type: "categories"
---

注意:如果有启用多说 或者 Disqus 评论,默认页面也会带有评论。需要关闭的话,请添加字段 comments 并将值设置为 false,如:

1
2
3
4
title: 分类
date: 2016-07-05 11:39:04
type: "categories"
comments: false

可以打开scaffolds/post.md文件,在tags:上面一行加入categories:,保存后,重新执行hexo n ‘name’命令,会发现新建的页面里有categories:项了。
scaffolds目录下,是新建页面的模板,执行新建命令时,是根据这里的模板页来完成的,所以可以在这里根据你自己的需求添加一些默认值。

好了,分类显示页面建立完毕。

设置文章分类列表

在我们编辑文章的时候,直接在categories:项填写属于哪个分类,比如categories: 随笔,同时,这个分类也支持中文,同样,显示的路径也会会是中文。

距离,我们设置的分类是:

1
categories: raspberry

那在生成页面后,分类列表就会出现编程这个选项,他的访问路径是:

1
*/categories/raspberry

如果我们想要把路径名和分类名分别设置,需要怎么办呢?

打开根目录下的配置文件_config.yml(注意不是themes主题目录下的_config.yml,那个文件叫 主题配置文件),找到如下位置做更改:

1
2
3
4
5
6
7
# Category & Tag
default_category: uncategorized
category_map:
树莓派: raspberry
写作: writing
其他: others
tag_map:

在这里 category_map: 是设置分类的地方,每行一个分类,冒号前面是分类名称,后面是访问路径。
可以提前在这里设置好一些分类,当编辑的文章填写了对应的分类名时,就会自动的按照对应的路径来访问。

需要注意的问题

如果你使用了第三方主题,比如我就用NEXT主题,那么上面的设置就没啥用了,主题设置文件,就是 themes/next/_config.yml 会替代站点的设置文件。主题里设置的就没用了。

所以,还是要注意修改主题下的配置文件,比如我的是这样的

1
2
3
4
5
6
7
8
9
10
11
12
# ---------------------------------------------------------------
# Menu Settings
# ---------------------------------------------------------------

# When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash (/archives -> archives)
menu:
home: /
categories: /categories
#about: /about
archives: /archives
tags: /tags
#commonweal: /404.html
分享到