基于 Hexo 从零开始搭建个人博客(三)
阅读本篇前,请确保已经完成下面两篇文章的步骤:
基于 Hexo 从零开始搭建个人博客(一)
基于 Hexo 从零开始搭建个人博客(二)
前言
- 博客搭建过程遇到任何问题,优先在本页面搜索,检查是否已经有该配置教程。
- 遇到问题可以优先在文章评论区留言,注意留言时请填写正确的邮箱以确保能收到站长的回复。
- 实在解决不了的问题可添加博主 Wechat ,添加好友时请备注自己的
姓名+专业
,如张三 计算机科学与技术
。
安装主题
本站基于
Hexo
搭建,用的 🦋 hexo-theme-butterfly 主题,已经升级到 v4.7.0 。 请注意最新的🦋 hexo-theme-butterfly 版本已经更新到 v4.8.1 。
如果你是 v3.7.1 的版本,请移步 v3.7.1 站点进行浏览。
本人用的是git clone
方式安装的 hexo-theme-butterfly
,后续魔改时更改的文件都是【G:/hexo-blog/blog-demo/themes/butterfly】文件夹中的文件。如果你是npm
方式安装的主题,请在【G:/hexo-blog/blog-demo/node_modules/hexo-theme-butterfly】文件夹下修改对应的文件。
此方法只支持 Hexo 5.0.0以上版本
在你的博客根目录(我这里路径为【G:/hexo-blog/blog-demo】)打开cmd命令窗口执行npm i hexo-theme-butterfly@3.7.1
。
- 安装最新主题版本
1 | npm i hexo-theme-butterfly |
- 安装指定主题版本
1 | npm i hexo-theme-butterfly@3.7.1 |
安装成功后可在【G:/hexo-blog/blog-demo/node_modules】文件夹下找到hexo-theme-butterfly
。
在你的博客根目录里(我这里路径为【G:/hexo-blog/blog-demo】),打开Git工具,执行命令即可。
- 安装最新主题版本
1 | git clone https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly |
- 安装指定主题版本
1 | git clone -b 3.7.1 https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly |
安装成功后可在【G:/hexo-blog/blog-demo/themes】文件夹下找到butterfly
,可以将landscape
文件夹删掉。
在你的博客根目录里【我这里路径为【G:/hexo-blog/blog-demo】),打开Git工具,执行命令即可。
- 安装最新主题版本
1 | git clone https://gitee.com/iamjerryw/hexo-theme-butterfly.git themes/butterfly |
- 安装指定主题版本
1 | git clone -b 3.7.1 https://gitee.com/iamjerryw/hexo-theme-butterfly.git themes/butterfly |
应用主题
修改站点配置文件_config.yml
,把主题改为butterfly
1 | theme: butterfly |
安装插件
如果你没有pug
以及stylus
的渲染器,请下载安装:
1 | npm install hexo-renderer-pug hexo-renderer-stylus --save |
升级建议
为了减少升级主题后带来的不便,请使用以下方法(建议,可以不做)。
把主题文件夹中的 _config.yml
复制到 Hexo 根目录里,同时重新命名为 _config.butterfly.yml
。
以后只需要在 _config.butterfly.yml
进行配置就行。
Hexo会自动合併主题中的_config.yml
和 _config.butterfly.yml
里的配置,如果存在同名配置,会使用_config.butterfly.yml
的配置,其优先度较高。
为了减少升级主题后带来的不便, Butterfly
使用了 data files 特性。推荐把主题默认的配置文件_config.yml
复製到 Hexo 根目录下的source/_data/
目录下,然后将文件名改为 butterfly.yml
(如果source/_data/
的目录不存在就创建一个)。
注意,如果你创建了 butterfly.yml
, 它将会替换主题默认配置文件_config.yml
里的配置项 (不是合併而是替换,3.1.0开始将会是合併) 採用butterfly.yml
的目的是,因为升级主题的时候,有可能会覆盖到配置文件,以至于每次更新的时候都需要重新配置文件。如果使用butterfly.yml
,就算主题目录下的_config.yml
被覆盖,主题只会去butterfly.yml
读取配置。 由于主题在添加功能或者修復Bugs的情况下,可能会涉及到配置文件的修改。这时候,如果升级主题,需要把新增加的配置添加到butterfly.yml
去,不然很大机会会出现报错。( 3.1.0 之后,应该不会出现这种情况)