butterfly魔改合集
butterfly魔改合集
本网页迄今为止所有魔改部分的合集
以后都集中在这篇文章,免得翻来翻去麻烦
首页卡片分类栏
点击查看
今天搞了一个首页分类栏,用的店长大佬的插件,参考这篇文章,效果如图
开始!
安装插件,在博客根目录[Blogroot]
下打开终端,运行以下指令:
1 | npm install hexo-butterfly-categories-card --save |
添加配置信息,以下为写法示例
在站点配置文件_config.yml
或者主题配置文件_config.butterfly.yml
中添加
1 | # hexo-butterfly-categories-card |
参数释义
参数 | 备选值/类型 | 释义 |
---|---|---|
priority | number | 【可选】过滤器优先级,数值越小,执行越早,默认为10,选填 |
enable | true/false | 【必选】控制开关 |
enable_page | path/all | 【可选】填写想要应用的页面的相对路径(即路由地址),如根目录就填’/‘,分类页面就填’/categories/‘。若要应用于所有页面,就填’all’,默认为’/‘ |
layout.type | id/class | 【可选】挂载容器类型,填写id或class,不填则默认为id |
layout.name | text | 【必选】挂载容器名称 |
layout.index | 0和正整数 | 【可选】前提是layout.type为class,因为同一页面可能有多个class,此项用来确认究竟排在第几个顺位 |
column | odd/even | 【可选】显示列数,考虑到比例问题,只提供3列和4列,odd为3列, even为4列 |
row | number | 【可选】显示行数,默认两行,超过行数切换为滚动显示 |
message.descr | text | 分类描述,需要和你自己的文章分类一一对应。 |
message.cover | url | 分类背景,需要和你自己的文章分类一一对应。 |
custom_css | url | 【可选】自定义样式,会替换默认的css链接,可以下载文档给出的cdn链接后自主修改 |
完成啦,店长太强啦!
改动
在店长的基础上,做了一些css上的改动,使得看起来更流畅
具体改动参考https://zoulicheng.oss-cn-shanghai.aliyuncs.com/cssJs/categorybar.css
除了css,还关掉了pjax的跳转,修改[Blogroot]\node_modules\hexo-butterfly-categories-card\lib\html.pug
1 | - var prow = 190 * row + 'px' |
修改为
1 | - var prow = 190 * row + 'px' |
首页置顶滚动栏
点击查看
用的还是店长大佬的插件,参考这篇文章,效果如图
安装插件,在博客根目录[Blogroot]
下打开终端,运行以下指令:
1 | npm install hexo-butterfly-swiper --save |
添加配置信息,以下为写法示例
在站点配置文件_config.yml
或者主题配置文件_config.butterfly.yml
中添加
1 | # hexo-butterfly-swiper |
参数 | 备选值/类型 | 释义 |
---|---|---|
priority | number | 【可选】过滤器优先级,数值越小,执行越早,默认为10,选填 |
enable | true/false | 【必选】控制开关 |
enable_page | path/all | 【可选】填写想要应用的页面的相对路径(即路由地址),如根目录就填’/‘,分类页面就填’/categories/‘。若要应用于所有页面,就填’all’,默认为all |
timemode | date/updated | 【可选】时间显示,date为显示创建日期,updated为显示更新日期,默认为date |
layout.type | id/class | 【可选】挂载容器类型,填写id或class,不填则默认为id |
layout.name | text | 【必选】挂载容器名称 |
layout.index | 0和正整数 | 【可选】前提是layout.type为class,因为同一页面可能有多个class,此项用来确认究竟排在第几个顺位 |
default_descr | text | 默认文章描述 |
swiper_css | url | 【可选】自定义的swiper依赖项css链接 |
swiper_js | url | 【可选】自定义的swiper依赖项加js链接 |
custom_css | url | 【可选】适配主题样式补丁 |
custom_js | url | 【可选】swiper初始化方法 |
使用方法:在文章的front_matter
中添加swiper_index
配置项即可。
1 | --- |
完成啦,店长太强啦!
改动
把pjax的功能给关了,找到[Blogroot]\node_modules\hexo-butterfly-swiper\index.js
第33行
1 | // 集体声明配置项 |
改为
1 | // 集体声明配置项 |
文章自定义背景图
点击查看
在实现一图流之后,每个文章页面都没有了封面,并且都是一样的背景页,实在有点难看
于是参考了店长大人的文章来实现每次在写作时通过font-matter自定义文章背景图的效果
记录一下修改的代码和过程,免得出bug不好恢复
开始!
修改[Blogroot]\themes\butterfly\layout\includes\layout.pug
,
1 | if theme.background |
这段代码的逻辑是如果文章设置了background标签,则设置背景为background标签的值(url),
否则,检查文章是否设置了cover标签,则设置背景为cover标签的值(url),
如果都没有,则设置成默认背景(与首页保持一致)。
这样,我们在每次写文章时候,可以设置background的值为想要的背景图,比如
1 | title: butterfly自定义文章背景 |
有时候文章设置了封面但是不想用封面做背景图,比如
1 | title: 蓝莲花-许巍 |
那么封面和背景会优先为background的值
pjax设置
为了实现期望的效果,这里还要再把#web_bg
加到pjax
选择器中。
修改[Blogroot]\themes\butterfly\layout\includes\third-party\pjax.pug
1 | script(src=url_for(theme.CDN.pjax)) |
文章页面顶部标题
点击查看
文章顶部标题太白了不好看,改成黑色加粗
修改前
修改[Blogroot]\themes\butterfly\source\css\_layout\head.styl
1 | // 已修改 post-info文章头部大标题 |
修改后
变大变粗!
感觉还是不够清晰,等找到新字体再进一步修改
twikoo评论美化
点击查看
给twikoo评论区加了一个输入提醒,在昵称提示输入QQ号信息
参考的Leonus大佬的文章
效果预览
开始!
在custom.css里加入以下代码
1 | /* 评论区美化 输入提醒 */ |
就是这么简单!
twikoo评论移动端适配
点击查看
我们在使用手机访问自己的网站时候,评论区的默认样式是这样的
都挤在一起了根本没法看!
于是开始自己改造移动端评论区样式
最终效果
但是这个按钮实在不知道怎么自适应高度,有没有大佬能教教我
上代码!在自定义的custom.css里插入如下代码
1 | /* 移动端适配评论 */ |
结束!访问手机端看效果。
安知鱼同款loading动画
点击查看
抄的安知鱼大佬的~~抄的洪哥的~~loading动画,在此记录一下魔改流程,免得以后出bug不好恢复
效果预览
loading动画,开始!
将themes/butterfly/source/css/_layout/loading.styl
替换为以下代码,其中颜色代码注意换成自己的。
1 | if hexo-config('preloader') |
替换themes/butterfly/layout/includes/loading/loading.pug
, 其中图片注意换成自己的.
1 | #loading-box(onclick='document.getElementById("loading-box").classList.add("loaded")') |
在合适的地方加上自定义 css, 其中 background 的 url 即为 loading 的图片地址。我的是custom.css
1 | .loading-img { |
加入顶部加载条
同样参考的一个大佬的博客
引入 css(我还是写在custom.css里)
1 | /* 顶部进度条 */ |
引入 JS(inject注入)
1 | <script src="https://zoulicheng.oss-cn-shanghai.aliyuncs.com/cssJs/pace.min.js"></script> |
网站左下角音乐播放器
点击查看
参考这个视频,目前正在探索如何魔改中
首页动态分类栏(heo大佬版本)
点击查看
抄的洪哥的动态分类栏,在此记录一下魔改流程,免得以后出bug不好恢复
效果
开始!
新建文件:themes/butterfly/layout/includes/categoryBar.pug
1 | #category-bar |
我们需要在首页和分类的页面引用我们的分类条
编辑themes/butterfly/layout/index.pug
在+postUI上一行添加include includes/categoryBar.pug
1 | extends includes/layout.pug |
我们在分类页也需要引用。
编辑themes/butterfly/layout/category.pug,在#category下方添加以下代码
1 | #category |
1 | extends includes/layout.pug |
本地引入洪哥的css和js
在本地引入,方便自己改,新建一个HeoCSS.css
1 | :root{ |
HeoJS.js
1 | categoriesBarActive() |
在_config.butterfly.yml文件中找到inject,插入如下代码
1 | inject: |
注意
如果你开启了pjax功能
需要额外在themes/butterfly/source/js/main.js中修改以下代码
1 | // 初始化header |
或者在上一步引入Heo.js时,参考如下格式
1 | inject: |
文章页 H1-H6 图标风车样式效果
点击查看
本站使用了风车样式
1 | beautify: |
首页双栏布局
点击查看
效果
参考小冰大佬的文章
安装插件
1 | npm i hexo-butterfly-article-double-row --save |
新增网站根目录_config 配置项 (不是主题的):
1 | butterfly_article_double_row: |
结束,啦啦啦
未完待续。。。
点击查看
未完待续。。。