解决Hexo下标签无法显示的问题

Hexo下标签无法显示的问题真的把我折腾惨了,耗费了无数的精力和时间,最终在虾哔哔的这篇文章 中才找到解决方案,记录备用。具体如下:

步骤一

在 hexo 根目录的 source 文件夹下新建一个 tags 文件夹,然后在 tags 文件夹里面新建一个 index.md 文件,命令为:

hexo new page "tags"

步骤二

编辑 index.md 文件,内容如下:

1
2
3
4
5
---
title: "tags"
type: tags
layout: "tags"
---

重点来了

注意!这里面最重要的就是 layout 选项,后面的参数对应的是你 主题文件夹下 layout 文件夹下第一级的布局文件。比如,我的主题是用 ejs 写的,那么对应的就是 layout/tags.ejs,如果没有,那么就会出现空白的现象!如果你的 tags 文件的命名时 a.ejs,那么你就应该写成 layout: “a”。(作者原文)

我的next主题是swig文件,layout中标签显示的是tag.swig,我按照作者所说修改index中的layout参数为tag,然而并没有成功,于是灵机一动,认为title、type、layout是不是只有一致才能被正确读取,于是又换成了tags,就像上面代码块所显示的那样,竟然真的成功了。

步骤三

编辑主题配置文件,编辑主题的 _config.yml ,添加 tags 到 menu 中,如下:

1
2
3
4
menu:
home: /
archives: /archives
tags: /tags

步骤四

编辑 hexo 配置文件 Directory 选项。

检查一下名称是否对应如下:

1
2
# Directory
tag_dir: tags

就是这样,感谢原博主。