Butterfly美化-Categories Magnet
文章摘要
HrnAI
文章摘要初始化中...
Butterfly主题添加磁贴分类
介绍作者 JayHrn
生成本文简介
推荐相关文章
前往主页
看看其他文章
此内容由作者归纳总结,仅用于文章内容的解释与总结,如有不当之处,请予指正!
反馈此文章来自Akilarの糖果屋
插件版配置教程
插件版教程
- 安装插件,在博客根目录
[Blogroot]
下打开终端,运行以下指令:1
npm install hexo-butterfly-categories-card --save
- 添加配置信息,以下为写法示例
在站点配置文件_config.yml或者主题配置文件_config.butterfly.yml中添加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# hexo-butterfly-categories-card
# see https://akilar.top/posts/a9131002/
categoryBar:
enable: true # 开关
priority: 5 #过滤器优先权
enable_page: / # 应用页面
layout: # 挂载容器类型
type: id
name: recent-posts
index: 0
column: odd # odd:3列 | even:4列
row: 1 #显示行数,默认两行,超过行数切换为滚动显示
message:
- descr: Ubuntu指南
cover: https://npm.elemecdn.com/akilar-candyassets/image/cover1.webp
- descr: 玩转Win10
cover: https://npm.elemecdn.com/akilar-candyassets/image/cover2.webp
- descr: 长篇小说连载
cover: https://npm.elemecdn.com/akilar-candyassets/image/cover3.webp
- descr: 个人日记
cover: https://npm.elemecdn.com/akilar-candyassets/image/cover4.webp
- descr: 诗词歌赋
cover: https://npm.elemecdn.com/akilar-candyassets/image/cover5.webp
- descr: 杂谈教程
cover: https://npm.elemecdn.com/akilar-candyassets/image/cover6.webp
custom_css: https://npm.elemecdn.com/hexo-butterfly-categories-card@1.0.0/lib/categorybar.css - 参数释义
参数 | 备选值/类型 | 释义 |
---|---|---|
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链接后自主修改 |
4.0磁贴新版教程
旧版教程
- 修改
[Blogroot]\themes\butterfly\layout\index.pug
1
2
3
4
5
6
7
8
9
10extends includes/layout.pug
block content
include ./includes/mixins/post-ui.pug
#recent-posts.recent-posts
+ if theme.categoryBar.enable
+ .recent-post-item(style='height:auto;width:100%;padding:0px;')
+ #categoryBar!= list_categories(site.categories,{class: 'categoryBar',depth: 1})
+postUI
include includes/pagination.pug - 新建
[Blogroot]\themes\butterfly\source\css\_layout\categoryBar.styl
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100if hexo-config('categoryBar.enable')
#categoryBar
width 100%
ul
&.categoryBar-list
margin 5px 5px 0 5px
padding 0
li
&.categoryBar-list-item
font-weight bold
display inline-block
height 180px
margin 5px .5% 0 .5%
background-image linear-gradient(rgba(0, 0, 0, 0.4) 25%, rgba(16, 16, 16, 0) 100%)
border-radius 10px
padding 25px 0 25px 25px
box-shadow rgba(50, 50, 50, 0.3) 50px 50px 50px 50px inset
overflow hidden
background-size 100%
background-position center
&:hover
background-size 110%
box-shadow inset 500px 50px 50px 50px rgba(50,50,50, 0.6)
span
&.categoryBar-list-count
&::after
transition all .5s
transform translate(-100%, 0)
a
&.categoryBar-list-link
color white
font-size 20px
&::before
content '|'
color white
font-size 20px
&:after
content ''
position relative
width 0
bottom 0
display block
height 3px
border-radius 3px
background-color white
&:hover
&:after
width 90%
left 1%
transition all 0.5s
span
&.categoryBar-list-count
display block
color white
font-size 20px
&::before
content '\f02d'
padding-right 15px
@extend .fontawesomeIcon
&::after
padding 5px
display block
color white
font-size 20px
position relative
right -100%
covers = hexo-config('categoryBar.cover')
for cover,i in covers
li.categoryBar-list-item:nth-child({i+1})
background unquote(cover)
descrs = hexo-config('categoryBar.descr')
for descr,i in descrs
li.categoryBar-list-item:nth-child({i+1})>span::after
content descr
if hexo-config('categoryBar.column') == 'odd'
li
&.categoryBar-list-item
width 32.3%
else if hexo-config('categoryBar.column') == 'even'
li
&.categoryBar-list-item
width 24%
@media screen and (max-width: 650px)
li
&.categoryBar-list-item
width 48%!important
height 150px!important
margin 5px 1% 0 1%!important
$caterow = hexo-config('categoryBar.row')?hexo-config('categoryBar.row'):2
.categoryBar-list
max-height 190px * $caterow
overflow auto
&::-webkit-scrollbar
width 0!important
@media screen and (max-width: 650px)
.categoryBar-list
max-height 160px * $caterow - 在
[Blogroot]\_config.butterfly.yml
添加配置项:| 参数名 |可选参数| 参数释义 |1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18categoryBar:
enable: true
column: odd # 显示列数,odd:3列 | even:4列
row: 1 #显示行数,默认两行,超过行数切换为滚动显示
descr:
- 长篇小说连载
- 杂谈教程
- 玩转Win10
- Ubuntu指南
- 个人日记
- 诗词歌赋
cover:
- url('https://npm.elemecdn.com/akilar-candyassets/image/cover1.webp')
- '#abcdef' # HEX格式色值需要用''包裹,不然会被识别成注释
- rgba(45,67,89,0.7)
- linear-gradient(rgba(0, 0, 0, 0.4) 25%, rgba(200,16 , 16, 0) 100%)
- url('https://npm.elemecdn.com/akilar-candyassets/image/cover5.webp')
- url('https://npm.elemecdn.com/akilar-candyassets/image/cover6.webp')
| ——— | —————————————————————————————— | —————————————————————————————— |
| enable |true
、false
| 必填项。控制磁贴开关,true
为开启,false
为关闭 |
| colume |odd
、even
| 必填项。控制磁贴显示列数,odd
为3列,even
为4列 |
| raw |1
、2
、3
…(大于0的整数即可) | 选填项,默认显示两行。控制磁贴显示行数,超过自动切换为滚动显示。 |
| descr |string
格式,任意字符串均可 | 选填项,默认为空。磁贴描述,根据磁贴从左到右,从上到下的顺序配置。每行用-
开头,如果要跳着填写,前一行需要留空。 |
| cover | -url('/img/cover.png')
-'#abcdef'
-rgba(45,67,89,0.7)
-linear-gradient(rgba(0, 0, 0, 0.4) 25%, rgba(200,16 , 16, 0) 100%)
| 选填项,默认深蓝色渐变背景。磁贴封面,根据磁贴从左到右,从上到下的顺序配置。可以配置纯色、渐变色、图片,如果要跳着填写,前一行需要留空。 |
转载自Akilar的文章,本文仅为记录魔改过程
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是转载文章,版权归原作者所有。建议访问原文,转载本文请联系作者
评论
匿名评论
隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果