butterfiy主题官网有详尽的主题配置文档,点我进入。本系列文章仅记录本站配置过程及魔改日志。


一、主题安装

  在hexo主题根目录下通过git bash输入以下命令安装Butterfly主题。

1
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

踩坑日记

  通过上面的下载命令下载主题时,出现上面的错误。

  字面意思是服务器的SSL证书没有经过第三方机构的签署。 网上也有的说是网络不稳定,连接超时导致,尝试禁用SSL验证解决。

  命令如下:

1
git config --global http.sslVerify "false"

  成功下载:

二、应用主题

  修改 Hexo 根目录下的 _config.yml,把主题改为butterfly。(大概在_config.yml文件代码第100行)

1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: butterfly

三、安装插件

  一般情况下在上一步结束后就可以直接在本地运行成功了,但是butterfly主题依赖pug 以及 stylus 的渲染器,如果不安装此插件直接运行网站。会出现如下错误。

pug 以及 stylus 的渲染器安装命令如下。

1
npm install hexo-renderer-pug hexo-renderer-stylus --save

  安装完成后,清除缓存重新运行网站即可。

四、主题升级

  在 hexo 的根目录创建一个文件 _config.butterfly.yml,并把主题目录的 _config.yml 内复制到 _config.butterfly.yml 去。以后只需要在 _config.butterfly.yml进行配置就行。

Hexo会自动合併主题中的_config.yml _config.butterfly.yml里的配置,如果存在同名配置,会使用_config.butterfly.yml的配置,其优先度较高。

五、魔改主题升级

  魔改主题升级时,直接pull新版本主题文件,新的主题文件会覆盖掉自己的魔改文件。

  以下命令操作可保证魔改主题的无损升级,升级前记得备份,备份,备份!,万一遇到什么问题可以补救。

  首先,更新工作的状态树:

1
git add .

  之后,输入如下命令,将文件放在堆栈中,获取更新后,再弹栈:

1
2
3
git stash
git pull
git stash pop

附:相关Git命令知识
git add .
  他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git stash
  能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。

git stash pop
  将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。
  注:该命令将堆栈中最近保存的内容删除(栈是先进后出)
如果从stash中恢复的内容和当前目录中的内容发生了冲突,也就是说,恢复的内容和当前目录修改了同一行的数据,那么会提示报错,需要解决冲突,可以通过创建新的分支来解决冲突。

  通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。