hexo 主题 butterfly 配置教程
1. hexo安装和butterfly主题安装
1 | $ npm install -g hexo-cli |
2. 创建hexo 相关文件
执行如下命令
1 | $ hexo init <folder> |


3. 运行 hexo server
此时已经可以运行服务,看见
1 | hexo server |


想要创建新的文章,执行
1 | hexo new "My New Post" |
4. 安装 butterfly 主题
默认的主题 landscape 不够美观。我们可以去官方主题寻找自己喜欢的主题
这里推荐下butterfly。页面美观,功能丰富,对中文支持较好
- 安装butterfly。
butterfly官方文档 有两种安装方式,git安装和npm安装。我这边推荐npm安装,对后续更新和其它搭配功能安装更加简单方便通过 npm 安装并不会在 themes 里生成主题文件夹,而是在 node_modules 里生成
1 | npm install hexo-theme-butterfly |

- 应用主题
修改 Hexo 根目录下的_config.yml,把主题改为 butterfly

- 为了减少升级主题后带来的不便,请使用以下方法(建议,可以不做)
在 hexo 的根目录创建一个文件 _config.butterfly.yml,并把主题目录的 _config.yml 内容复制到 _config.butterfly.yml 去。
注意:
复制的是主题的 _config.yml ,而不是 hexo 的 _config.yml
不要把主题目录的 _config.yml 删掉
以后只需要在 _config.butterfly.yml 进行配置就行。如果使用了 _config.butterfly.yml, 配置主题的 _config.yml 将不会有效果。
Hexo 会自动合併主题中的 _config.yml 和 _config.butterfly.yml 里的配置,如果存在同名配置,会使用 _config.butterfly.yml 的配置,其优先度较高。
- 现在运行就可以看见主题的默认配置了

5. 配置 butterfly 主题
5.1 安装插件
如果你没有 pug 以及 stylus 的渲染器,请下载安装:
1 | npm install hexo-renderer-pug hexo-renderer-stylus --save |
5.2 创建图片文件夹
hexo 生成静态文件的时候默认的根目录是source文件夹。我们可以在source文件夹下创建自己的图片文件夹,供后续配置和文章进行引用
比如可以创建 myimg 。后续配置头像的时候,指定引用路径就是 /myimg/xxx.png
5.3 配置主题的引用cdn为本地
主题使用的一些样式和js的cdn被国内屏蔽了,所以可以将这些都下载到本地使用
安装 hexo-butterfly-extjs
1 | npm install hexo-butterfly-extjs |
修改配置 _config.butterfly.yml
1 | CDN: |
5.4 修改站点信息
_config.yml中的 site 属性是基本的站点信息。修改为你自己的
_config.butterfly.yml中的 nav 信息配置主题的logo等信息。可以引用前面创建的myimg文件夹下的图片
1 | nav: |
_config.butterfly.yml中的Image Settings信息配置主题的icon等信息。可以引用前面创建的myimg文件夹下的图片
Aside Settings修改侧边的卡片信息。公告信息等
404 page 开启
1 | # A simple 404 page |
- default top img
1 | default_top_img: /myimg/top_img.png |
- default_cover img
1 | cover: |
5.5 配置菜单
- 标签页
标签页和分类页是特殊的page设置来实现的
1 | hexo new page tags |
你会找到 source/tags/index.md 这个文件
修改这个文件
1 | --- |
- 分类页
1 | hexo new page categories |
你会找到 source/categories/index.md 这个文件
修改这个文件:
1 | --- |
- 关于页
about 就是一个普通页面。你直接修改它的index.md中内容就可以展示为你自己的关于页
1 | hexo new page about |
其它自定义页面
除了tags和categories页面。其它的页面都是可以自定义的普通页面。使用hexo new page <title>进行创建就可以了配置菜单
上面的页面创建好的情况下,就可以配置菜单了
1 | menu: |
必须是 /xxx/,后面 || 分开,然后写图标名。
如果不希望显示图标,图标名可不写。
默认子目录是展开的,如果你想要隐藏,在子目录裡添加 hide 。
1 | List||fas fa-list||hide: |
注意: 导航的文字可自行更改
6. 搜索插件
主题支持三种搜索方式(algolia_search / local_search / docsearch),你可以选择一种或者多种搜索方式。
这边推荐使用 hexo-generator-searchdb插件
安装方式
1 | npm install hexo-generator-searchdb |
配置主题
1 | search: |
6. 字数统计插件
开启字数统计功能,需要安装hexo-wordcount插件
1 | npm install hexo-wordcount --save |
修改配置文件
1 | # Need to install the hexo-wordcount plugin |
7. 图片懒加载
1 | # Lazyload |
8. Vercel 一键部署
本地部署博客后,在外就无法访问了。但是通过vercel 就可以一键部署。完全不需要自己的服务器。只需要注册一个 vercel 账号 即可。
注册后,使用我的项目 hexo-butterfly-blog 就可以一键部署到vercel了