个人博客搭建(第二期)
手把手教你搭建个人博客(第二期)
Butterfly 官网: https://butterfly.js.org/
hexo提供的静态页面已适用于个人博客的大多数使用场景,而自定义主题可以丰富个人博客的风格,butterfly就是其中之一,除此之外,GitHub上还有很多其他风格的主题可供使用,请小伙伴们自行查阅。
本博客使用的是butterfly的主题,下面将进行 hexo 框架配置butterfly主题的操作展示,当然,也可以通过 butterfly 官网 的官网操作文档进行操作,丰俭由人。
修改 _config.yml
文件
如果有需要,可自行参照Hexo的官方文档进行详细操作,本博客仅进行少量修改:
1 | # Site |
修改后记得重新本地运行,查看博客是否能正确运行
安装butterfly
- 打开 webstrom 的 终端(explore)页面,输入命令下载butterfly
1 | npm i hexo-theme-butterfly |
安装完成后, 在
node_modules
文件夹中寻找hexo-theme-butterfly
文件(会有很多文件,慢慢找),找到后将整个文件移动到和node_modules
文件夹同级的themes
文件夹中, 并更名为butterfly(你喜欢改啥都行,不改也行)。打开这个
butterfly
文件夹,将这个文件夹的_config.yml
文件复制一份,粘贴到Blog这一级目录下,并更名为_config.butterfly.yml
打开
_config.yml
文件, 使用ctrl + r
找到theme
, 将主题改为 butterfly
1 | theme: butterfly |
为避免误会,在此特别说明一下: 完成步骤3后,Blog目录下应该会出现三个 yml 文件 :
_config.yml
_config.butterfly.yml
_config.landscape.yml
配置butterfly
打开 webstrom 的 终端(explore)页面,输入命令对butterfly进行一些属性配置,更多效果可访问 butterfly官网 进行配置
标签页
1 | hexo new page tags |
分类页
1 | hexo new page categories |
友情链接
第一步:运行命令
1 | hexo new page link |
命令运行后,会找到 source/link/index.md
这个文件,打开这个文件添加 type: "link"
, 便签页、分类页都可以加
第二步:在Hexo博客目录中的 source/_data
(如果没有 _data 文件夹,请自行创建),创建一个文件 link.yml
,在文件 link.yml
添加(可自定义):
1 | - class_name: 类别名 |
导航菜单
修改主题配置文件 _config.butterfly.yml
, 文字可自行更改,详情可参考 官方文档 ,这里我定义的是:
1 | menu: |
本地搜索系统
- 安装依赖,打开 webstrom 的 终端(explore)页面,输入命令:
1 | npm install hexo-generator-search --save |
- 注入配置,修改站点配置文件
_config.yml
,添加如下代码:
1 | search: |
- 主题中开启搜索:在主题配置文件
_config.butterfly.yml
中修改以下内容:
1 | # Local search |
- 重新编译运行,即可看到效果
代码
代码高亮主题
Butterfly 支持 6 种代码高亮样式,你可以理解为展示代码的风格主题(darker / pale night / light / ocean / mac / mac light)
修改主题配置文件 _config.butterfly.yml
中的 highlight_theme
属性,即可修改代码风格:
1 | highlight_theme: darker # darker / pale night / light / ocean / mac / mac light / false |
代码复制
修改主题配置文件 _config.butterfly.yml
中的 highlight_copy
属性,true 表示可以复制
1 | highlight_copy: true # copy button |
代码框展开/收起
修改主题配置文件 _config.butterfly.yml
中的 highlight_shrink
属性
1 | highlight_shrink: true # true: shrink the code blocks / false: expand the code blocks | none: expand code blocks and hide the button |
在默认情况下,代码框自动展开,可设置是否所有代码框都关闭状态,点击 > 可展开代码。
- true 全部代码框不展开,需点击 > 打开
- false 代码框展开,有 > 点击按钮
- none 不显示 > 按钮
代码换行
在默认情况下,Hexo 在编译的时候不会实现代码自动换行。如果你不希望在代码块的区域里有横向滚动条的话,那么你可以考虑开启这个功能。
修改主题配置文件 _config.butterfly.yml
中的 code_word_wrap
属性
1 | code_word_wrap: true |
代码高度限制
配置代码高度限制,超出的部分会隐藏,并显示展开按钮
1 | highlight_height_limit: false # unit: px |
- 单位是 px,直接添加数字,如 200
- 实际限制高度为
highlight_height_limit + 30 px
,多增加 30px 限制,目的是避免代码高度只超出highlight_height_limit
一点时,出现展开按钮,展开没内容。 - 不适用于隐藏后的代码块( css 设置 display: none)
网站副标题
网站副标题就是打字效果的实现
修改主题配置文件 _config.butterfly.yml
中的 subtitle
1 | # the subtitle on homepage (主頁subtitle) |
页面加载动画
当进入网页时,因为加载速度的问题,可能会导致 top_img 图片出现断层显示,或者网页加载不全而出现等待时间,开启 preloader 后,会显示加载动画,等页面加载完,加载动画会消失
修改主题配置文件 _config.butterfly.yml
中的 preloader
1 | # Loading Animation (加載動畫) |
字数统计
- 打开 webstrom 的 终端(explore)页面,输入命令下载字数统计依赖
1 | npm install hexo-wordcount --save |
- 开启配置:修改主题配置文件
_config.butterfly.yml
中的wordcount
1 | # wordcount (字數統計) |