Hi, Thinking

在Hexo+NexT中添加标签和分类

总字数:约1300字,阅读时间:约3分钟

添加标签和分类

在Hexo中,有两种管理的方式,一种是使用分类的方式,这是一种有层次的分类方式,适用于大类别下套小类别的分类方式,例如:编程语言-python等。而还有一种是使用标签的方式,这种方式适用于同一级别的类别分类方式,例如:小说,论文等。
对应于具体的文章,可以在Front-matter中进行设定,例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
---
title: 标签
tages:
-小说
-论文
---
---
title: 分类
categories:
-编程语言
-python
---

在这种情况下,Hexo将会自动的将每一篇文章进行归档。

异常处理

在很多时候我们点击标签页和分类页查看具体情况的时候会出现一些问题。这里描述一下常见的两种情况。

文件路径包含中文

在很多时候会报下面这种错误

1
TypeError: The header content contains invalid characters

出现这种问题的主要原因是路径中出现了中文,只需要将分类的路径改成英文即可。

没有生产标签页和分类页

有时候还会出现下面这种问题

1
2
cannot get /tags/
cannot get /categories/

出现这种问题是因为配置路径和实际路径不对。配置路径在主题文件夹(.\hexo\themes\next)中的_config.yml文件里面。找到下面这样的描述,例如我使用tags表示标签页。需要检查一下是否在.\hexo\source文件夹中存在tags文件夹,如果不存在则需要创建tags标签页。

1
2
3
4
5
6
7
8
menu:
home: /
categories: /categories
tags: /tags
about: /about
#archives: /archives
#sitemap: /sitemap.xml
#commonweal: /404.html

创建标签页的方法是使用hexo中的指令来添加,以tags为例

1
hexo new page tags

执行这条指令之后,在.\hexo\source文件夹下会新增一个tags文件夹,里面有一个index.md。打开来之后里面只有title和date属性,我们需要添加一个type属性,修改成下面这样。

1
2
3
4
5
---
title: tags
date: 2017-01-28 01:55:09 #时间随意
type: tags
---

分类页的情况一样,需要把type属性改成categories

1
2
3
4
5
---
title: categories
date: 2017-01-28 02:15:09 #时间随意
type: categories
---

完成修改之后重新生成部署即可。

Kivi.记