Butterfly主题魔改笔记(Ⅱ)
选择自己喜欢的进行配置就好,不用按顺序进行修改,以防万一养成备份的习惯哦
自定义F12控制台样式
点击查看教程
参考地址:Fomalhaut🥝
效果预览
键盘F12
新建js文件
在路径[BlogRoot]\source\js\console.js
,创建并写入如下代码:
控制台会把图案中的\
给吞并一个 所以下面的代码中是\\
1 | var now1 = new Date(); |
自定义控制台图像显示
访问网站找自己喜欢的样式替换
配置文件引入js
在主题配置文件[BlogRoot]\_config.butterfly.yml
中引入该js文件
1 | inject: |
最后三连
执行三连即可看到效果
1 | hexo cl,hexo g,hexo s |
显示网页阅读进度
点击查看教程
效果预览
点击预览
修改文件
修改文件[BlogRoot]\themes\butterfly\layout\includes\rightside.pug
,在最下面插入如下两行代码
记得把加号删除
1 | button#go-up(type="button" title=_p("rightside.back_to_top")) |
新建js和css文件
新建文件[BlogRoot]\source\js\readPercent.js
,在自定义js文件中加入如下代码:
1 | window.onscroll = percent; |
创建css文件[BlogRoot]\source\css\readPercent.css
写入如下代码:
1 | /* 返回顶部显示网页阅读进度 start */ |
修改配置文件
在主题配置文件[BlogRoot]\_config.butterfly.yml
中引入
1 | inject: |
最后三连
执行三连即可看到效果
1 | hexo cl,hexo g,hexo s |
直达底部
点击查看教程
效果预览
偷个懒,直接看右下角
配置文件引入js
在主题配置文件[BlogRoot]\_config.butterfly.yml
中引入该js文件
1 | inject: |
修改配置文件
路径:themes\butterfly\layout\includes\rightside.pug
最下面添加代码 记得删除加号
1 | button#go-up(type="button" title=_p("rightside.back_to_top")) |
我的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64- const { readmode, translate, darkmode, aside, chat_btn } = theme
mixin rightsideItem(array)
each item in array
case item
when 'readmode'
if is_post() && readmode
button#readmode(type="button" title=_p('rightside.readmode_title'))
i.fas.fa-book-open
when 'translate'
if translate.enable
button#translateLink(type="button" title=_p('rightside.translate_title'))= translate.default
when 'darkmode'
if darkmode.enable && darkmode.button
button#darkmode(type="button" title=_p('rightside.night_mode_title'))
i.fas.fa-adjust
when 'hideAside'
if aside.enable && aside.button && page.aside !== false
button#hide-aside-btn(type="button" title=_p('rightside.aside'))
i.fas.fa-arrows-alt-h
when 'toc'
if showToc
button#mobile-toc-button.close(type="button" title=_p("rightside.toc"))
i.fas.fa-list-ul
when 'chat'
if chat_btn
button#chat_btn(type="button" title=_p("rightside.chat"))
i.fas.fa-sms
when 'comment'
if commentsJsLoad
a#to_comment(href="#post-comment" title=_p("rightside.scroll_to_comment"))
i.fas.fa-comments
#rightside
- const { enable, hide, show } = theme.rightside_item_order
- const hideArray = enable ? hide && hide.split(',') : ['readmode','translate','darkmode','hideAside']
- const showArray = enable ? show && show.split(',') : ['toc','chat','comment']
#rightside-config-hide
if hideArray
+rightsideItem(hideArray)
#rightside-config-show
if enable
if hide
button#rightside_config(type="button" title=_p("rightside.setting"))
i.fas.fa-cog.fa-spin
else
if is_post()
if (readmode || translate.enable || (darkmode.enable && darkmode.button))
button#rightside_config(type="button" title=_p("rightside.setting"))
i.fas.fa-cog.fa-spin
else if translate.enable || (darkmode.enable && darkmode.button)
button#rightside_config(type="button" title=_p("rightside.setting"))
i.fas.fa-cog.fa-spin
if showArray
+rightsideItem(showArray)
button#go-up(type="button" title=_p("rightside.back_to_top"))
i.fas.fa-arrow-up
span#percent 0
button#go-down(type="button" title="直达底部" onclick="btf.scrollToDest(document.body.scrollHeight, 500)")
i.fas.fa-arrow-down
最后三连
1 | hexo cl,hexo g,hexo s |
Hexo异步加载方案
点击查看教程
置顶轮播文章
点击查看教程
[参考店长教程](https://akilar.top/posts/8e1264d1/
效果预览
点击预览
安装插件
在博客根目录[Blogroot]
下打开终端,运行以下指令:
1 | npm install hexo-butterfly-swiper --save |
添加配置信息
在站点配置文件_config.yml
或者主题配置文件_config.butterfly.yml
中添加
1 | # hexo-butterfly-swiper ###轮播手动置顶文章 |
使用方法
在文章的头部中添加swiper_index
配置项即可。
1 | --- |
最后三连
1 | hexo cl,hexo g,hexo s |
自定义隐藏文章不在首页显示
点击查看教程
修改配置文件
路径为[BlogRoot]/themes/butterfly/layout/includes/mixins/post-ui.pug
注意,主要添加if article.hide !== true
这一行,然后这一行
下面的每一行全部需要按下tab
缩进一层。
下面的每一行全部需要按下tab
缩进一层。
下面的每一行全部需要按下tab
缩进一层。
1 | mixin postUI(posts) |
修改文章
在要隐藏的md文件的头部信息中添加hide: true
1 |
|
最后三连
1 | hexo cl,hexo g,hexo s |
可看到效果,其实细心的还是可以通过标签找到隐藏的文件
导航栏居中
点击查看教程
找了很多导航栏居中的,终于找到一个靠谱点的,一个css文件直接实现,不知道为啥感觉不修改之前还好看点🤣
效果预览
效果对比: 点击看图
添加css文件
在路径 [Blogroot]\themes\butterfly\source\cs\navigation.css
代码如下
1 | #nav .menus_items { |
修改配置文件
[Blogroot]\_config.butterfly.yml
找到 inject
,引入 css
:
1 | inject: |
最后三连
1 | hexo cl,hexo g,hexo s |
如果只是为了单纯实现居中那么css代码只需要这一段就行了
1 | #nav .menus_items { |
标签添加文章数上标
点击查看教程
效果预览
貌似只在标签页才显示: 点击预览
修改js文件
修改[blog]\themes\butterfly\scripts\helpers\page.js
的代码:
1 | hexo.extend.helper.register('cloudTags', function (options = {}) { |
修改配置文件
[Blogroot]\_config.butterfly.yml
找到 card_tags
的color
参数设置为true
开启彩色标签
1 | card_tags: |
最后三连
1 | hexo cl,hexo g,hexo s |
添加波浪效果
点击查看教程
参考地址
:满心记
效果预览
点击预览
修改index.pug文件
修改themes/butterfly/layout/includes/header/index.pug
大概第 38 行左右 注意缩进
1 | if top_img !== false |
这是我自用 33-45行是修改位置
点击查看
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63if !theme.disable_top_img && page.top_img !== false
if is_post()
- var top_img = page.top_img || page.cover || theme.default_top_img
else if is_page()
- var top_img = page.top_img || theme.default_top_img
else if is_tag()
- var top_img = theme.tag_per_img && theme.tag_per_img[page.tag]
- top_img = top_img ? top_img : (theme.tag_img !== false ? theme.tag_img || theme.default_top_img : false)
else if is_category()
- var top_img = theme.category_per_img && theme.category_per_img[page.category]
- top_img = top_img ? top_img : (theme.category_img !== false ? theme.category_img || theme.default_top_img : false)
else if is_home()
- var top_img = theme.index_img !== false ? theme.index_img || theme.default_top_img : false
else if is_archive()
- var top_img = theme.archive_img !== false ? theme.archive_img || theme.default_top_img : false
else
- var top_img = page.top_img || theme.default_top_img
if top_img !== false
- var imgSource = top_img && isImgOrUrl(top_img) ? `background-image: url('${url_for(top_img)}')` : `background: ${top_img}`
- var bg_img = top_img ? imgSource : ''
- var site_title = page.title || page.tag || page.category || config.title
- var isHomeClass = is_home() ? 'full_page' : 'not-home-page'
- is_post() ? isHomeClass = 'post-bg' : isHomeClass
else
- var isHomeClass = 'not-top-img'
else
- var top_img = false
- var isHomeClass = 'not-top-img'
- const isFixedClass = theme.nav.fixed ? ' fixed' : ''
header#page-header(class=`${isHomeClass+isFixedClass}` style=bg_img)
!=partial('includes/header/nav', {}, {cache: true})
if top_img !== false
if is_post()
include ./post-info.pug
section.main-hero-waves-area.waves-area
svg.waves-svg(xmlns='http://www.w3.org/2000/svg', xlink='http://www.w3.org/1999/xlink', viewBox='0 24 150 28', preserveAspectRatio='none', shape-rendering='auto')
defs
path#gentle-wave(d='M -160 44 c 30 0 58 -18 88 -18 s 58 18 88 18 s 58 -18 88 -18 s 58 18 88 18 v 44 h -352 Z')
g.parallax
use(href='#gentle-wave', x='48', y='0')
use(href='#gentle-wave', x='48', y='3')
use(href='#gentle-wave', x='48', y='5')
use(href='#gentle-wave', x='48', y='7')
#post-top-cover
img#post-top-bg(class='nolazyload' src=bg_img)
else if is_home()
#site-info
h1#site-title=site_title
if theme.subtitle.enable
- var loadSubJs = true
#site-subtitle
span#subtitle
if(theme.social)
#site_social_icons
!=fragment_cache('social', function(){return partial('includes/header/social')})
#scroll-down
i.fas.fa-angle-down.scroll-down-effects
else
#page-site-info
h1#site-title=site_title
修改配置文件
然后在_config.butterfly.yml
的 [inject.head]
或者自定义css
中 引入以下css
,需要注意的是 css
中fill
属性可以控制波浪颜色,最好使其中一个颜色与背景颜色一致,否则会显的有点奇怪
1 | /* 波浪css */ |
最后三连
1 | hexo cl,hexo g,hexo s |