Butterfly主题配置及美化
Butterfly主题介绍
GitHub 仓库:Hexo Butterfly 主题 GitHub 仓库
Hexo官网上面有非常多好看的主题,你可以选择自己喜欢的主题下载下来放到 themes
文件夹下面
比较好看的主题有 Butterfly、Fluid、Matery、Kira 、Ayer 、Annie 。
Hexo Butterfly 主题是一个基于 Hexo 博客框架的优雅、简洁且功能丰富的主题。它受到了 Butterfly 主题的启发,提供了许多现代化的设计和功能,使得博客搭建和维护变得更加便捷和美观。以下是 Hexo Butterfly 主题的一些主要特点:
- 美观的设计:Hexo Butterfly 主题采用了现代化的设计风格,提供了多种配色方案和布局选项,可以根据个人喜好进行定制。
- 响应式设计:主题支持响应式设计,可以在不同设备上(如桌面、平板和手机)提供良好的阅读体验。
- 丰富的插件支持:Hexo Butterfly 主题集成了许多实用的插件,如搜索功能、评论系统、标签云、归档页面等,方便用户快速搭建功能齐全的博客。
- SEO 优化:主题内置了 SEO 优化功能,可以帮助博客在搜索引擎中获得更好的排名。
- 多语言支持:Hexo Butterfly 主题支持多语言,可以根据需要切换不同的语言显示。
- 自定义配置:主题提供了丰富的配置选项,用户可以通过修改配置文件来调整主题的外观和功能。
- 社区支持:Hexo Butterfly 主题拥有活跃的社区支持,用户可以在社区中获取帮助、分享经验和交流技巧。
基础配置
首先点击 官方下载地址 下载 master
分支的最新稳定版的代码,解压缩后,将 hexo-theme-matery
的文件夹复制到你 Hexo 的 themes
文件夹中即可。
当然你也可以使用 git clone
命令来下载,例如下载Butterfly主题
1 | $ cd blog |
然后修改 Hexo 根目录下的 _config.yml
的 theme
的值:theme: 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
的配置,其优先度较高。
网站背景
可以是网络地址,也可以是文件相对路径
1 | # The banner image of home page |
一般情况下,source
目录为资源文件根目录
效果如下
头像
修改 主题配置文件
1 | avatar: |
网站图标
1 | favicon: /img/avatar.png |
导航栏设置
1 | nav: |
目录
社交图标
Butterfly支持 font-awesome v6 图标.
书写格式 图标名:url || 描述性文字 || color
1 | social: |
图标名可在这寻找
配置文章链接转数字或字母
1 | $ npm install hexo-abbrlink --save |
在 _config.yml
文件中进行配置:
1 | permalink: posts/:abbrlink/ |
新增以下配置
1 | # abbrlink config |
设置关于页、分类页、标签页
butterfly 主题默认带有不少菜单,如关于(about)、分类(categories)、标签(tags)等,默认处于注释状态,将需要取消的菜单注释掉,然后生成相应的 page 即可。
打开 ~\themes\butterfly\_config.yml
文件,找到 menu
相关的设置,取消掉需要的菜单项的注释。重新生成部署后,可以看到新增的菜单项
但是单击后会报如下错误
1 | Cannot GET /about/ |
- 这是因为还需要运行如下命令新建相关 page
1 | hexo new page "about" |
- 新建 page 后,会在 source 目录下新建
about
、tags
、categories
文件夹,每个文件夹下还会创建一个index.md
文件表示关于、标签页分类页面,编辑这三个MarkDown文件可以自定义这三个页面的内容. - 最后一步,编辑各页面对应的
index.md
文件,增加 type 即可。注意冒号 : 后必须空一格,title 和 date 是默认生成的。重新部署后能够看到效果。
1 |
|
- 在新建博文的头部,直接输入该博文的分类、标签等即可。分类只能有一个,标签能有多个,多个标签不能一行,注意下面的格式。
1 |
|
设置好后重启生效,效果如下:
可以根据需要更改目录显示名和页面titile更改标题
效果如下
相册
可参考 Hexo添加相册
在主题配置里添加相册目录
在 blog\source
目录下新建一个目录用于存放相册文件,例如 gallery
在其子目录下新建 index.html
或者 index.md
文件
写法如下
1 | <div class="gallery-group-main"> |
- name:图库名字
- description:图库描述
- link:连接到对应相册的地址
- img-url:图库封面的地址
例如:
1 | <div class="gallery-group-main"> |
新建一个.md
文件用于存放预览的图片,文件名称与目录中引用的路径名称一致,例如 wallpaper.md
引入需要预览的图片,格式如下:
1 | {% gallery [lazyload],[rowHeight],[limit] %} |
说明:
参数 | 解释 |
---|---|
lazyload | 【可选】点击按钮加载更多图片,填写 true/false。默认为 false 。 |
rowHeight | 【可选】图片显示的高度,如果需要一行显示更多的图片,可设置更小的数字。默认为 220 。 |
limit | 【可选】每次加载多少张照片。默认为 10 。 |
其他示例:
1 | {% gallery %} |
如下:
重新执行 hexo g
生成网页文件,即可预览
相册也可在其他文章中引用
展示效果如下
评论
其他配置可参考
开启双评论
最多支持两种评论系统
开启双评论后如下所示
设置文章隐藏评论
某些文章我们不希望显示评论,例如标签页,只需在文章源信息上添加 comments: false
即可
系列文章
在页面上显示系列文章
修改 主题配置文件
1 | # series (系列文章) |
在文章的 front-matter
上添加参数 series
,并给与一个标识
使用此标签外挂,会把相同标识的文章以列表的形式展示
写法:
1 | {% series %} |
如果不写 series
标识,则默认为你使用此标签外挂所在的文章的 series
标识
插件
本地搜索
1 | $ npm install hexo-generator-search --save |
在 _config.yml
文件中进行配置:
1 | # 本地搜索 |
主题的配置文件也需修改,此处仍以Butterfly主题为例,修改 _config.butterfly.yml
配置信息
1 | # Local search |
Aplayer 音乐播放器
安装插件
1 | npm install hexo-tag-aplayer --save |
修改主题配置文件:
1 | aplayerInject: |
1 | # Inject |
修改以下参数配置自己喜欢的歌单
id | 必须值 | 歌曲 id / 播放列表 id / 相册 id / 搜索关键字 |
---|---|---|
server | 必须值 | 音乐平台: netease(即网易) , tencent , kugou , xiami , baidu |
type | 必须值 | song , playlist , album , search , artist |
以网易云为例,登录网易云网页版,找到自己的歌单,可以在浏览器地址栏查看歌单播放列表id
百度主动推流
1 | npm install hexo-baidu-url-submit --save |
1 | deploy: |
live2d
1 | # 安装live2d |
在 _config.yml
文件中进行配置:
1 | # Live2D |
sitemap
1 | npm install hexo-generator-sitemap --save |
在 _config.yml
文件中进行配置:
1 | # https://github.com/hexojs/hexo-generator-sitemap |
Rss
1 | npm install hexo-generator-feed --save |
在 _config.yml
文件中进行配置:
1 | # https://github.com/hexojs/hexo-generator-feed |
追番插件
1 | npm install hexo-bilibili-bangumi --save |
1 | # 追番插件 |
主题配置文件开启懒加载
1 | # Lazyload (圖片懶加載) |
参考