增加菜单

增加菜单 tags、categories、等

1
2
3
# 创建页面
hexo new page tags
hexo new page categories

增加链接

1
2
3
4
5
6
# 在主题config里去掉menu里相关注释
menu:
home: / || home
about: /about/ || user
tags: /tags/ || tags
categories: /categories/ || th

修改新建的tags、categories目录下的md文件

在md文件中增加type 属性

1
2
3
4
5
6

---
title: tags
date: 2018-12-15 02:22:50
type: "tags"
---

使用标签和分类

在post里增加tags和categories属性

1
2
3
4
5
6
7
8
9

---
title: 博客next主题侧边菜单栏设置
date: 2018-12-15 02:31:14
tags:
- github博客
categories:
- github博客
---

注意:tags、categories均可用数组[1,2,3]的形式代替列表形式。tags列表里内容同级,categories列表里内容不同级

永久链接

主要在blog根目录下的_config.yml文件中配置,默认配置是 年/月/日/标题/,用标题作为url一部分不是很合理,如果标题发生改变,那链接也跟着变化了。

所以要使用一个唯一标示且不会发生改变的值作为url。hexo自带的有id,可使用id,但id生成规则不是很清楚,测试过修改题目后,id也发生变化。

本网站使用的方法是:给每个md文件增加一个属性,记为pid,然后使用pid作为url一部分。

首先,修改blog根目录下的_config.yml文件如下:

1
2
3
4
# 永久化链接。(最后加 .html 有利于搜索引擎收录)
permalink: blog/:year/:month/:day/:pid.html
permalink_defaults:
pid: default

然后,修改新增post时的模板文件blog/scaffolds/post.md,增加pid属性,这里把pid设置成时间了,直接用date在转化后不是我们想要的格式,这里就用这种笨方法。或者留白,新建文件后自己填写也可。

使用这种方法,pid是与文章内容无任何关系的属性,只要我们不修改pid和永久链接规则,文章的链接就不会变。

1
2
3
4
5
6
7
8

---
title: {{ title }}
date: {{ date }}
pid: {{date[0]}}{{date[1]}}{{date[2]}}{{date[3]}}{{date[5]}}{{date[6]}}{{date[8]}}{{date[9]}}{{date[11]}}{{date[12]}}{{date[14]}}{{date[15]}}{{date[17]}}{{date[18]}}
tags:
categories:
---