冰化了还有棍儿

配置hexo博客,并更换多种主题

字数统计: 889阅读时长: 3 min
2022/09/16

hexo博客的基本维护方式

搭建过程可参考hexo博客搭建教程

hexo提供了便捷的构建、部署功能。在本地添加了新的markdown日志或者图片之后,只需执行如下代码:

1
2
3
4
5
6
# 清除已有的构建目录,默认为public
hexo clean
# 构建新的静态文件,g是generate的缩写
hexo g
# 一条命令直接部署,d是deploy的缩写
hexo d

就会把本地的public文件夹push到对应的github仓库,并将网站自动部署到 {github用户名}.github.io

此外,如果想要维护本地源文件,还可以单独创建一个私有github仓库,用于存放source文件中的源文件等等。

(已弃用,请看进阶配置


配置hexo

hexo的默认在配置文件是根目录下的_config.yml,称之为hexo配置文件。更改其中的属性,可以改变网页的默认文本和样式。

其中的theme项默认的值是auto,我们可以更改这一个属性的值,来更换不同主题。


下载并配置主题

要更换主题,需要在hexo主题网站选择喜欢的主题进行下载安装。

有两种方式。

第一种(所有主题均支持):将主题对应的仓库克隆到/themes/{主题名}文件夹下。例如,对于archer主题,可以执行如下代码:

1
2
# --depth=1表示,仅克隆最近一次commit
git clone https://github.com/fi3ework/hexo-theme-archer.git themes/archer --depth=1

克隆完成后,在archer文件夹的配置文件_config.yml中进行修改。

注意!每个主题的仓库中都有一个_config.yml文件,称之为主题配置文件,与根目录下的_config.yml文件是不同的。

第二种(仅部分主题支持):通过npm下载主题对应的依赖包。例如,对于keep主题而言,可以执行如下代码:

1
npm install hexo-theme-keep --save

下载完成后,themes文件夹下不会出现对应的文件夹。若想对该主题进行配置,需要在hexo配置文件中,添加theme_config项,在theme_config属性后,添加主题配置属性。


配置加载原理(推测)

首先,hexo加载根目录下的hexo配置文件,若发现theme的值不为默认的auto,则顺序进行如下过程:

对于第一种方式下载的主题:

  1. 在根目录中搜索_config.{主题名称}.yml文件,如果找到,则继续加载该配置文件中的内容,否则,
  2. themes文件夹中寻找主题名称对应的文件夹,如果找到,则加载themes/{主题名称}/_config.yml文件。若文件夹或者配置文件没有找到,则会报错。

对于第二种方式下载的主题:

hexo配置文件中寻找theme_config属性,并加载。

PS:已经证实

配置文件的优先级顺序为

根目录配置文件中的theme_config属性 > **_config.{主题}.yml** > 根目录配置文件


踩过的坑

  1. 首先,更改了主题名称之后,一定要清除原来的构建目录并重新构建,也就是运行hexo clean && hexo g。
  2. 不能手动在github的仓库设置里面添加custom domain,因为这样每次部署后,自定义的域名都会丢失。需要在source/下创建一个CNAME的文件,将自定义域名写入。
  3. 如果添加了文件等静态资源,需要hexo g。否则部署之后,服务器无法获得图片等静态资源文件。
CATALOG
  1. 1. hexo博客的基本维护方式
  2. 2. 配置hexo
  3. 3. 下载并配置主题
  4. 4. 配置加载原理(推测)
  5. 5. PS:已经证实
  6. 6. 踩过的坑