基于hexo+butterfly的个人博客搭建教程(四) 主题美化篇
本文介绍主题进一步美化,以及添加更多有趣的功能。
添加看板娘
1:进入 Butterfly
主题,在 [博客名]\themes\butterfly\source\
目录下打开命令提示符,输入
1 | git clone https://github.com/stevenjoezhang/live2d-widget.git live2d-widget |
2:找到路径 [博客名]\themes\butterfly\source\live2d-widget\autoload.js
,打开 autoload.js
,修改内容:
1 | - const live2d_path = "https://cdn.jsdelivr.net/gh/stevenjoezhang/live2d-widget/"; |
3:在 Butterfly
的主题配置文件 [Blogroot]\_config.butterfly.yml
中,butterfly
主题其实自带 fontawesome
依赖,无需引入,
1 | # Inject |
4:保存所有文件的修改,然后顺序执行
1 | hexo clean |
5:自定义修改
有一定前端基础的小伙伴可以通过修改 [Blogroot]\themes\butterfly\source\live2d-widget
路径下的样式资源文件:
waifu-tips.js
: 包含了按钮和对话框的逻辑waifu-tips.json
: 定义了触发条件(selector,CSS 选择器)和触发时显示的文字(text);waifu.css
: 看板娘的样式表。可以对看板娘的位置布局等做自定义修改。
图片设置
站点图标
站点图标又称站点icon(favicon.ico
)
修改主题配置文件_config.butterfly.yml
:
1 | favicon: /img/favicon.png # 将图片放入 themes -> Butterfly -> source -> img 里 |
封面图片设置
在访问系统首页时,出现的封面图片
修改主题配置文件_config.butterfly.yml
:
1 | index_img: 图片地址 # 主页封面图片 |
错误图片
配置了该属性后会替换无法展示的图片
修改主题配置文件_config.butterfly.yml
:
1 | error_img: |
字数统计
为 Butterfly
配上字数统计特性,你需要如下几个步骤:
- 打开 hexo 工作目录
- 进入命令提示符输入
npm install hexo-wordcount --save
oryarn add hexo-wordcount
- 修改主题配置文件
_config.butterfly.yml
:
1 | wordcount: |
文章摘要
文章摘要(吸引读者往下读)
修改主题配置文件_config.butterfly.yml
:
1 | index_post_content: |
分享
分享你的内容sharejs
如果你不知道 sharejs,到官网看看说明吧。
修改主题配置文件_config.butterfly.yml
:
1 | sharejs: |
评论
从 3.0.0 开始,开启评论需要在 comments-use 中填写你需要的评论。
支持双评论显示,只需要配置两个评论(第一个为默认显示)
修改主题配置文件_config.butterfly.yml
:
1 | comments: |
Valine
1 | valine: |
在线聊天
从 3.0 开始,Butterfly 主题内置了 4 种在綫聊天工具。你可以选择开启一种,方便你与访客的交流。
通用设置
这些工具都提供了一个按钮可以打开 / 关闭聊天窗口。
主题也提供了一个集合主题特色的按钮来替换这些工具本身的按钮,这个聊天按钮将会出现在右下角里。
你只需要把 chat_btn 打开就行。
修改主题配置文件_config.butterfly.yml:
1 | chat_btn: true |
daovoice
打开 daovoice 并注册帐号,找到你的 app id
修改主题配置文件_config.butterfly.yml
:
1 | daovoice: |
可在聊天设置里配置聊天按钮等样式
百度统计
- 登录百度统计的官方网站
- 找到你百度统计的统计代码
修改主题配置文件
_config.butterfly.yml
:
1 | baidu_analytics: 你的代码 |
谷歌统计
- 登录谷歌分析的官方网站
- 找到你的谷歌分析的跟踪 ID
修改主题配置文件_config.butterfly.yml
:
1 | google_analytics: 你的代码 # 通常以`UA-`打头 |
腾讯移动分析
- 登录腾讯移动分析的官方网站
- 选择 WEB应用
- 找到你的站点 ID
修改主题配置文件_config.butterfly.yml
:
1 | tencent_analytics: 你的ID |
CNZZ分析
- 登录 CNZZ 分析的官方网站
- 找到 站点设置 - 获取代码
- 找到你的 web_id
修改主题配置文件_config.butterfly.yml
:
1 | cnzz_analytics: 你的代码 |
谷歌广告(赚点小费)
主题已集成谷歌广告(自动广告)
修改主题配置文件_config.butterfly.yml
:
1 | google_adsense: |
手动广告
主题预留了三个位置可供插入广告,分别为主页文章 (每三篇文章出现广告)/aside 公告之后 / 文章页打赏之后。,把 html 代码填写到对应的位置
修改主题配置文件_config.butterfly.yml
:
1 | ad: |
1 | index: <ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="xxxxxxxxxxxx" data-ad-client="ca-pub-xxxxxxxxxx" data-ad-slot="xxxxxxxxxx"></ins><script>(adsbygoogle=window.adsbygoogle||[]).push({})</script> |
网站验证
如果需要搜索引擎收录网站,可能需要登录对应搜索引擎的管理平台进行提交。
各自的验证码可从各自管理平台拿到
修改主题配置文件_config.butterfly.yml
:
1 | # Google Webmaster tools verification setting |
自定义主题色
可以修改大部分 UI 颜色
修改主题配置文件_config.butterfly.yml
:
1 | theme_color: |
网站背景
默认显示白色,可设置图片或者颜色
修改主题配置文件_config.butterfly.yml
:
1 | background: #图片或者颜色 |
留意: 如果你的网站根目录不是’/‘, 使用本地图片时,需加上你的根目录。
例如:网站是 https://yoursite.com/blog
, 引用一张 img/xx.png
图片,则设置 background
为 url (/blog/img/xx.png)
footer 背景(页脚背景)
footer 的背景会与 top_img
的一致,当设置 false
时,将与主题色一致。
修改主题配置文件_config.butterfly.yml
:
1 | # footer是否显示图片背景(与top_img一致) |
打字效果
打字效果 activate-power-mode
修改主题配置文件_config.butterfly.yml
:
1 | # Typewriter Effect (打字效果) |
静止彩带
好看的彩带背景,可设置每次刷新更换彩带,或者每次点击更换彩带
修改主题配置文件_config.butterfly.yml
:
1 | canvas_ribbon: |
动态彩带
好看的彩带背景,会飘动
修改主题配置文件_config.butterfly.yml
:
1 | canvas_ribbon_piao: |
canvas-nest
好看的星空例子特效,会飘动
修改主题配置文件_config.butterfly.yml
:
1 | canvas_nest: |
鼠标点击效果
烟花
zIndex 建议只在 -1 和 9999 上选
-1 代表烟火效果在底部
9999 代表烟火效果在前面
修改主题配置文件_config.butterfly.yml
:
1 | fireworks: |
爱心
修改主题配置文件_config.butterfly.yml
:
1 | # 点击出现爱心 |
文字
修改主题配置文件_config.butterfly.yml
:
1 | # 点击出现文字,文字可自行修改 |
页面美化
会改变 ol、ul、h1-h5 的样式field
配置生效的区域
- post 只在文章页生效
- site 在全站生效
修改主题配置文件_config.butterfly.yml
:
1 | # 美化页面显示 |
对比如下
全局字体
可自行设置字体的 font-family
如不需要配置,请留空
修改主题配置文件_config.butterfly.yml
:
1 | font: |
Blog 标题字体
可自行设置字体的 font-family
如不需要配置,请留空
如不需要使用网络字体,只需要把 font_link 留空就行
修改主题配置文件_config.butterfly.yml
:
1 | blog_title_font: |
网站副标题
1 | 可设置主页中显示的网站副标题或者喜欢的座右铭。 |
1 | # 主页subtitle |
主页 top_img 显示大小
默认的显示为全屏。site-info 的区域会居中显示
修改主题配置文件_config.butterfly.yml
:
1 | # 主页设置 |
注意:index_top_img_height 的值不能使用百分比。
2 个都不填的话,会使用默认值
页面加载动画 preloader
当进入网页时,因为加载速度的问题,可能会导致 top_img 图片出现断层显示,或者网页加载不全而出现等待时间,开启 preloader 后,会显示加载动画,等页面加载完,加载动画会消失。
修改主题配置文件_config.butterfly.yml:
1 | preloader: true |
PWA
PWA简单来说就是让网站有App体验,要为 Butterfly 配上 PWA 特性,你需要如下几个步骤:
- 打开 hexo 工作目录
npm install hexo-offline --save
或者yarn add hexo-offline
- 修改主题配置文件
_config.butterfly.yml
:
1 | # offline config passed to sw-precache. |
更多内容请查看 hexo-offline 的官方文档
1 在主题配置文件中开启 pwa 选项。
1 | pwa: |
2 在创建 source/ 目录中创建 manifest.json 文件。
1 | { |
你也可以通过 Web App Manifest 快速创建 manifest.json。(Web App Manifest 要求至少包含一个 512*512 像素的图标)
可以通过 Chrome 插件 Lighthouse 检查 PWA 配置是否生效以及配置是否正确。
打开博客页面
启动 Lighthouse 插件 (Lighthouse 插件要求至少包含一个 512*512 像素的图标)
关于 PWA(渐进式增强 Web 应用)的更多内容请参閲 Google Tools for Web Developers
图片大图查看模式fancybox
修改主题配置文件_config.butterfly.yml
:
1 | # fancybox http://fancyapps.com/fancybox/3/ |
medium_zoom
修改主题配置文件_config.butterfly.yml
:
1 | medium_zoom: true |
Snackbar 弹窗
Snackbar 弹窗,根据自己爱好开启
修改主题配置文件_config.butterfly.yml
:
1 | snackbar: |
豆瓣
很多人使用 hexo-douban 这款插件。但是该插件是直接生成相应的网页,而不会去读取对应的 markdown 文件。因此,可在设置里进行相应的配置。
修改主题配置文件_config.butterfly.yml
:
1 | # 如果你有使用hexo-douban,可配置这个 |
Pjax
当用户点击链接,通过 ajax 更新页面需要变化的部分,然后使用 HTML5 的 pushState 修改浏览器的 URL 地址。
这样可以不用重复加载相同的资源(css/js), 从而提升网页的加载速度。
修改主题配置文件_config.butterfly.yml
:
1 | # 如果你有使用hexo-douban,可配置这个 |