当我开始打算搭建一个博客写总结时,就注定有一天我会入一个万劫不复的坑。

腾讯的学生服务器每个月都要续,而且Wordpress使用起来并不对我的胃口,于是转用Hexo和github pages 服务搭建个人博客。

对于门面功夫上的折腾,我从来都没有让自己失望过,根本停不下来,总是感觉不够完美。

时间跨度有点长,之前配置的一些东西又忘记了,所以这篇笔记很有必要写。

  • 本文介绍的所有设置均在windows环境下进行
  • 因为网上有很多教程,本篇是基于汇总的基础上进行补充

基础篇

  1. Hexo+Netlify快速搭建个人博客
  2. hexo常用命令笔记
  3. 有哪些好看的Hexo主题

提高篇

因为很多配置很早以前就做过了,所以只能再遇到坑的时候再补充。。。

打造个性超赞博客超深度优化

大佬这篇超深度的优化必看!!

打造个性超赞博客Hexo+NexT+GitHubPages的超深度优化

博客文章链接优化

Hexo的永久链接的默认格式是 :year/:month/:day/:title/ ,比如访问站点下某一篇文章时,其路径是 2018/04/12/xxxx/ ,如果我们的文章标题是中文的,那么该路径就会出现中文字符,之前使用 gitment 的同胞应该深受其害,在路径中出现了中文字符很容易引发各种问题,而且也不利于seo,因为路径包含了年月日三个层级,层级太深不利于搜索抓取。

网上的解决方案大致有两种,其一见 Hexo 永久链接管理 一文,通过在 Front-matter 自己添加变量 urlname 来做到,另一种方案则是安装使用插件 hexo-abbrlink 可以做到自定义文章链接,安装:

1
$ npm install hexo-abbrlink --save

然后在Hexo的根目录的配置文件_config.yml中修改:

1
2
3
4
5
permalink: :abbrlink/
#abbrlink配置
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: dec # 进制:dec(default) and hex

之后再md文件的Front-matter就会加上abbrlink:xxxxx

这样就确保了博文链接的唯一化,只要不修改md文件的abbrlink的值,url就永久不会改变。如此md文件名和文件内容也可以随便改了。这样也有利于SEO优化。

最后附上我的配置,以及相关可以设定的参数

1
2
3
4
5
6
7
#我的配置,post为固定链接后面带":"的为变量
permalink: posts/:category/:abbrlink.html

#abbrlink
abbrink:
alg: crc32
rep: dec

文章置顶及置顶标签

1
2
$ npm uninstall hexo-generator-index --save
$ npm install hexo-generator-index-pin-top --save

然后在需要置顶的文章的Front-matter中加上top: true即可。

搜索定位到post-meta类位置添加置顶标签,例如我使用的主题配置:

最终效果

Hexo主题maupassant博客搭建相册

Hexo主题maupassant博客搭建相册

archive页面数量设置

当文章数量达到十几篇左右时,突然发觉archive归档页面仅显示10篇文章,并且出现了分页功能,对于我们这种个人博客,文章数量不会很多,所以更希望是在一页中完全展示出来,便于访问者查找感兴趣的文章。

在网上查找原因,发现此处的10条限制来自_config.yml文件中的配置,这个配置控制所有的分页配置,包括首页、归档页、tag分类页面。

1
per_page: 10

如果我们想对上面三个页面做独立的配置,需要安装插件进行功能支持。

使用如下命令进行安装需要的插件

1
$ npm install hexo-generator-archive --save

对应的_config.yml文件中添加如下配置

1
2
3
4
5
6
7
8
index_generator:
per_page: 5

archive_generator:
per_page: 20

tag_generator:
per_page: 10

maupassant主题添加推荐阅读功能

maupassant主题添加推荐阅读功能

maupassant主题目录优化解决方案

maupassant主题目录优化解决方案