升级了Hexo和Butterfly
这几天busuanzi又抽风导致我的站点频繁卡死,于是在伟大的互联网上我找到了Vercount这个平替方案,之前换域名导致busuanzi的访问量丢失,没想到Vercount竟然可以编辑访问量,这下访问量也回来了,真是太好了!然而,一颗折腾的心一旦被激起涟漪就不会再静止,我又花了一天时间把Hexo升级到8.1.2版本,把Butterfly升级到5.5.5版本,虽然外观看起来没什么变化,但是底层一定是优化了的!技术人的事就是这么朴实无华。整个升级过程不算顺利,主要原因是唐志远大大的博客停更了,我这个站点很多魔改方案都是看他的文章做的,不过幸运的是唐大大的文章在网上被到处转载,找到原文还是很简单,那么我也来转载一下牢唐当年的高质量文章吧!
不过在那之前,先让我用一首《念牢唐》来纪念一下唐大大:
你坐在电脑前,把技术说的简单
一把键盘一双手,敲出我心里的慌
你总把文写清晰,像夏天的一把冰糖
不绕弯不撞墙,把博客给我摆在前方
那时候我害怕,怕Hexo难装
你一句别嫌,我就敢去搭建
唐志远老师,我还记得你
一句一句,把我拉进Hexo里
唐志远老师,我还记得你
那些Hexo的Bug,你替我修理
前言
这一篇内容在搭建完 hexo 框架的基础上进行博客的魔改,这是我自己的记录,你可以直接看我推荐大佬的博客,然后进行魔改,这篇文章不常更,还望周知!!!
推荐大佬博客,根据自己的需求进行魔改:糖果屋
butterfly 魔改
看到这里相信大家已经搭建好了属于自己的博客,本来想这先出优化博客的教程,但是我觉得通过上篇的教程,网页还是有很多不足的地方,本篇教程继续带领大家,完成博客的美化,搭好框架,打造一个属于自己免费的炫酷博客。
还是那句话,魔改的尽头是默认,哈哈,我只挑我觉得不足的地方,争取教会大家方法,大家也可以根据自己的喜好,查询官方文档,设置自己的博客。
如果你没有 pug 以及 stylus 的渲染器,请下载安装
1 | npm install hexo-renderer-pug hexo-renderer-stylus --save |
主页的美化
我发现每次进来这个部分的背景颜色都不一样,有的时候随机匹配出来的很丑,于是乎我就开始看代码,查官方文档的帮助文档,将这部分内容做了修改,觉得没有影响的可以忽略这部分的内容。
我设置了主题配置文件以下内容:
方式一:删除掉后面的值,我觉得更美观些
方式二:将背景改成透明,或者引用别人的 css 文件,推荐的大佬博客里面都有,这里不在赘述
生成文章唯一链接
Hexo 的默认文章链接格式是年,月,日,标题这种格式来生成的。如果你的标题是中文的话,那你的 URL 链接就会包含中文,复制后的 URL 路径就是把中文变成了一大堆字符串编码,如果你在其他地方用这边文章的 url 链接,偶然你又修改了改文章的标题,那这个 URL 链接就会失效。为了给每一篇文章来上一个属于自己的链接,利用 hexo-abbrlink 插件 ,来解决这个问题。
参考 github 官方: hexo-abbrlink 按照此教程配置完之后如下:
记得修改每篇文章 abbrlink 的值
1、安装插件,在博客根目录下打开终端,运行以下指令:
1 | npm install hexo-abbrlink --save |
2、插件安装成功后,在根目录 的配置文件 _config.yml 找到 permalink:
1 | permalink: :year/:month/:day/:title/ |
打字效果
修改主题配置文件 _config.butterfly.yml 的 activate_power_mode 即可
1 | activate_power_mode: |
网站副标题
可设置主页中展示的网站副标题或者自己喜欢的座右铭修改主题配置文件 _config.butterfly.yml
1 | # Site |
文章置顶
PS:要实现这个功能的方法很多,有一个就可以了
方式一:
Hexo 本身并没有内置文章置顶功能,因此需要自行安装。
1 |
|
就需要在文章的头部信息栏加入一个 header 属性:
1 | title: 谢谢你来看我的博客 |
方式二:
在你的 .md 的文件属性栏添加 sticky 属性,值越大文章越靠前
代码高亮主题
Butterfly 支持 6 种代码高亮样式:
darker
pale night
light
ocean
mac
mac light
修改主题配置文件 _config.butterfly.yml
1 | highlight_theme: mac light |
这个自行选择
运行时间
网页已运行时间
修改主题配置文件 _config.butterfly.yml
1 | runtimeshow: |
代码复制
主题支持代码复制功能
修改 主题配置文件
1 | highlight_copy: true |
侧边栏时钟
1、安装插件,在博客根目录 [Blog] 下打开终端,运行以下指令:
1 | npm install hexo-butterfly-clock --save |
2、添加配置信息,以下为写法示例在站点配置文件 _config.yml 或者主题配置文件 _config.butterfly.yml 中添加:
1 |
|
字数统计
要为 Butterfly 配上字数统计特性, 你需要如下几个步骤:
打开 hexo 工作目录
npm install hexo-wordcount —save or yarn add hexo-wordcount
修改主题配置文件 _config.butterfly.yml
1 | wordcount: |
公告 2 个小人
在 node_modules\hexo-theme-butterfly\layout\includes\widget\card_announcement.pug 下添加如下代码:
1 | .xpand(style='height:200px;') |
添加个性化板娘
以下整理了很多类别,选择自己喜好的怕动手就第一种,现在都很成熟,放心大胆的引用,我使用的就是第一种,但每种都试过了,才写出来,可以参考一下推荐的大佬博客的看板娘。
不怕动手建议选择大神魔改版本,可以根据自己的喜好进行配置,修改!!!
第一种:最简单引用方式在Butterfly/_config.yml中inject添加,复制的时候注意一下格式
1 | inject: |
第二种:Hexo 插件版看板娘(不能换装)
在 Hexo 根目录[Blogroot]下打开终端,输入以下指令安装必要插件。
1 | npm install --save hexo-helper-live2d |
打开站点配置文件[Blog]\config.yml搜索 live2d,按照如下注释内容指示进行操作。如果没有搜到 live2d 的配置项,就直接把以下内容复制到最底部
完成后保存修改,在 Hexo 根目录下运行指令
之所以必须要使用 hexo clean 是因为我们需要清空缓存重新生成静态页面,不然看板娘没被加入生成的静态页面里,是不会出现的。
更换看板娘
同样是在 Hexo 根目录[Blog]下,打开终端,选择想要的看板娘进行安装,例如我这里用到的是 live2d-widget-model-koharu,一个Q版小正太。其他的模型也可以在模型预览里查看以供选择。
输入指令
然后在站点配置文件里找到配置项修改为期望的模型。
之后按部就班的运行就能在网站上查看效果了。
卸载看板娘
这个是第二种方式安装看板娘的卸载方法,其它方式很简单就不说了
卸载插件和卸载模型的指令都是通过 npm 进行操作的。在博客根目录[Blog]打开终端,输入:
1 | npm uninstall hexo-helper-live2d #卸载看板娘插件 |
卸载后为了保证配置项不出错,记得把[Blog]_config.yml里的配置项给注释或者删除掉。
页脚跳动的♥
编辑博客根目录node_modules\hexo-theme-butterfly\layout\includes\footer.pug文件,修改以下内容
1 | .copyright!= `©${theme.footer.owner.since} - ${nowYear} By ${config.author}` |
编辑butterfly.yml文件
在inject->head下面添加如下内容:
1 | - <link rel="stylesheet" href="/css/heartbeat.css"> |
然后在blog/themes/butterfly/source/css/下新建一个hearbeat.css文件,并把下面代码复制进去
1 | #heartbeat { |
Butterfly 加载动画修改
添加配置文件,在目录node_modules\hexo-theme-butterfly\layout\includes\loading\loaded.ejs下添加 loaded.ejs 文件,代码如下
1 | <% if (theme.preloader.enable) { %> |
引入样式文件
引入 spinner-boxbutterfly,在主题配置文件 inject 处 heard 处引入以下代码
1 | - <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/zyoushuo/Blog@latest/hexo/css/loading_style_1.css" > |
gear 风格样式文件引入
1 | - <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/zyoushuo/Blog@latest/hexo/css/loading_style_2.css" > |
找到 node_modules\hexo-theme-butterfly\layout\includes\layout.pug ,将如下代码替换
1 | if theme.preloader |
最后主题配置文件下的preloader.enable设为true
浏览器标题恶搞
在node_modules\hexo-theme-butterfly\source\js\crash_cheat.js文件夹下添加crash_cheat.js文件 填入以下内容:(记得修改你喜好的标题)
1 | var OriginTitle = document.title; |
在 node_modules\hexo-theme-butterfly\layout\includes\layout.pug 中添加以下代码来引入
1 | script(type='text/javascript', src='/js/crash_cheat.js') |
在inject: -> bottom: 引入以下文件
1 | - <script src="https://cdn.jsdelivr.net/gh/weilain/cdn-photo/js/jquery.min.js"></script> |
自定义文章封面
首先:找到主题配置文件 cover ,文章主题的修改在 cover 下,如果不想麻烦可以选择统一的封面,把默认的修改成自己喜欢的图片地址即可
写文章的时候在 cover 后面输入你想要的封面图片的 url,在 top_img 后面加上你想要的顶部图片的 url
背景渐变
在 css——>style.css 引入以下文件即可
1 | #web_bg { |
引入阿里矢量图标库
推荐阅读大佬的文章阿里矢量图标库_糖果屋教程
添加标签云
使用命令进行安装插件
1 | npm install hexo-tag-cloud --save |
打开 node_modules\hexo-theme-butterfly\layout\includes\widget\card_tags.pug 文件,用下面内容将其替换掉,最好把之前的文件备份一下,防止后悔
1 | if site.tags.length |
普通标签备份
1 | if theme.aside.card_tags.enable |
twikoo 评论块气泡风格魔改美化
糖果屋教程:https://akilar.top/posts/d99b5f01/
引入音乐播放器
https://akilar.top/posts/3afa069a/
手机端 fixed 定位侧栏布局魔改方案
https://akilar.top/posts/451ac5f8/
给博客添加自定义的通知悬浮窗
https://kmar.top/posts/de06ec72/
文章页相关推荐
山岳博文https://kmar.top/posts/3bc89eb/
hexo-swiper 文章轮播图插件
https://zfe.space/post/hexo-swiper.html
在 Front-matter 添加以下参数即可,index 数字越大越靠前展示。
1 | swiper_index: 8 |
若你安装了插件功能都有了,但是点击无法跳转可能是你的 pjax 的地址设置不对,在主题配置文件,找到 CDN——->pjax 设置 pjax 的地址
更换为如下地址:
https://cdn.staticfile.org/pjax/0.2.8/pjax.min.js
butterfly 主题文章双栏布局插件
https://zfe.space/post/hexo-butterfly-article-double-row.html








