1. 短地址

之前博客的永久链接配置为:title,但当title为中文时,文章的永久链接会变成http://www.abc.com/posts/%2520%25E5%259C%25B0%25E5%259D%2580%2520%25E4%25B9%25B1%25E%25B0%25E5%259D%2580%2520%25E4%25B9%25B1%25E7%25A0%7%25A0%2581这种乱码形式。

这种形式的链接地址一是地址太长,二是文章标题稍微改动,链接地址也会随之改动,不利于SEO。

为了克服这种情况,本站中采用 hexo-abbrlink 插件解决此问题。

hexo-abbrlink使用方法

在 Hexo 博客根目录,执行 npm install hexo-abbrlink --save ;

之后在 _config.yml 配置文件中写入

1
2
3
4
5
6
# abbrlink config 短地址配置
abbrlink:
alg: crc16 #support crc16(default) and crc32
rep: hex #support dec(default) and hex
# 更改 permalink 值
permalink: posts/:abbrlink.html

本站中在文章页面永久链接的结尾添加了 .html 的后缀来伪装成静态页面,这样可以直接从路径就知道这是个静态页面,方便SEO。

最后清除缓存(hexo clean)并重新生成静态页面(hexo g),就可以看到文章路径变成了 http://www.abc.com/posts/xxxx.html,在以后就算将文章标题命名为中文也不会产生非常长的链接或乱码了。

2. 文章置顶

Hexo 本身并没有内置文章置顶功能,因此需要自行安装。不过 Hexo 本身有一个对文章排序的组件,也就是在站点配置文件内的 index_generator 选项,置顶功能其实就是每次排序的时候,把其中的置顶文章排在最前,本质上是一个排序组件,Hexo 默认的是 hexo-generator-index,所以先卸载再重新安装一个可以置顶的排序组件:

1
2
3
4
5
# 先卸载
npm uninstall --save hexo-generator-index

# 再安装
npm install --save hexo-generator-index-pin-top

从插件名字上就能看得出来支持置顶了。该插件的 GitHub 地址:hexo-generator-index-pin-top。插件安装完之后,只需要在文章头部信息栏内设置 top 属性即可:

1
2
3
4
5
---
title: Hexo博客文章置顶
date: 2020-03-31 07:31:04
top: true
---

这样这篇文章就具有置顶效果了。不过,仅仅只是这么做,文章虽然确实置顶了,但是从文章列表上来看,和普通的文章没什么不同。如果不特意去对比文章发布时间,可能会以为只是最新的文章而已。

3. 添加分类页、归档页和标签页

在使用主题后,顶部导航多出了标签页(tags)、分类页(categories)、归档页(archives)和关于页(about)等页面,点击之后出现了“Cannot GET /XXX/”问题,这是由于没有添加对应的页面,下面将描述如何添加这些页面。

3.1 添加分类页(categories)

本文以windows环境为例进行说明。

首先打开Cmd,通过cd指令进入到网站根目录:

之后输入如下指令

1
hexo new page categories

Hexo会在“source”目录中会多出一个“categories”目录,打开该目录其中会有一个“index.md”文件,这就是分类页文件。

此时运行hexo,点击“分类页”,会看到一个空白界面,并没有自动生成分类目录。

此时需要在categories目录下的index.md设置文章type: categories,之后重启服务,刷新页面,点击导航栏的分类页,即产生具有分类目录的分类页,如下图:
分类页

3.2 添加标签页(archives)、关于页(about)

标签页和关于页面可参照分类页(categories)进行设置即可。