引入自定义格式
- 如果主题是通过GitHub源下载的,那么你的css文件位于
项目根目录\theme\butterfly\source\css\
直接在这下面新建css文件即可
- 如果是通过npm包管理器下载,即 npm install … ,那么css文件位于
项目根路径\node_modules\hexo-theme-butterfly\source\css\
你可以新增一个用于自定义的文件夹,命名为:_custom,这个文件夹用来存放自定义 css 格式。然后还需要在 \css 目录下的index.styl中添加如下:
1 2 3 4
| @import '_custom/*.css'
@import 'https://cdn.jsdelivr.net/gh/username/repo/css/xxx.css'
|
之后就可以进行格式修改了
修改格式
以标题的修改文章容器颜色为例
在刚才的_custom文件夹中新增一个css,命名随意,然后向其中添加:
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
| #recent-posts > .recent-post-item{ background:rgba(255, 255, 255, 0.9); }
.card-widget{ background:rgba(255, 255, 255, 0.9)!important; }
div#post{ background: rgba(255, 255, 255, 0.9); }
div#page{ background: rgba(255, 255, 255, 0.9); }
div#archive{ background: rgba(255, 255, 255, 0.9); }
div#tag{ background: rgba(255, 255, 255, 0.9); }
div#category{ background: rgba(255, 255, 255, 0.9); }
|
rgba(255, 255, 255, 0.9) 前三个表示对应的rgb值,最后一个是调节透明度。
此时也只是配置了默认状态下文章的颜色,但由于显示优先级顺序,自定义的样式会刷新主题原来的配置,当你切换黑夜模式时,会发现你的文章容器仍然是透明的,没有随着主题变成黑色,像这样:

因此还需要针对黑夜模式进行处理,还是在刚刚创建的那个css文件下添加以下代码(具体细节可以自己调整)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| [data-theme='dark'] #recent-posts > .recent-post-item{ background:rgba(0, 0, 0, 0.6)!important; } [data-theme='dark'] .card-widget{ background:rgba(0, 0, 0, 0.9)!important; } [data-theme='dark'] div#post{ background:rgba(0, 0, 0, 0.9)!important; } [data-theme='dark'] div#page{ background:rgba(0, 0, 0, 0.9)!important; } [data-theme='dark'] div#archive{ background:rgba(0, 0, 0, 0.9)!important; } [data-theme='dark'] div#tag{ background:rgba(0, 0, 0, 0.9)!important; } [data-theme='dark'] div#category{ background:rgba(0, 0, 0, 0.9)!important; }
|
现在,切换黑夜模式时,所有的容器也会随之变成黑色了!

如果还有其他格式修改需求可以看文章参考。
——————————————————————————
参考:
hexo-butterfly-样式修改butterfly主题升级,记录基于hexo-butterfly的修改过程,涉及自 - 掘金 (juejin.cn)
Butterfly主题美化进阶 - ThinkGone - 博客园 (cnblogs.com)