hexo博客Butterfly主题之标签外挂
本文主要分享:除了
markdown
的基本语法之外,文章可以使用的组件。在Butterfly
官方中称为 标签外挂(Tag Plugins
)。这些组件能够使得hexo
文章内容的呈现方式更加丰富多彩。
Tabs 组件
使用方法
1 | {% [tabs Unique name], [index] %} |
注意:
- 其中的
<!-- -->
注释内容也是Tabs
组件的一部分,并不是markdown
中的注释**- 其中
[xxx]
仅用于描述可以替换的元素,替换后并没有方括号[]
Tabs 配置说明:
[tabs Unique name]
- 必须- 针对当前页面,此
Tabs
的唯一标识字符串 - 如果名称中存在空格,则生成的时候会替换为破折号
-
- 针对当前页面,此
[index]
- 指定选择
Tabs
里面的哪个Tab
选项卡 - 默认为第一个选项卡
- 如果为
-1
,则不会选择任何一个选项卡
- 指定选择
Tab 配置说明
[Tab caption]
选项卡标题- 当前选项卡的标题
- 如果没有标题,则会自动按照索引创建一个唯一标题
- 如果没有标题且指定了图标,则标题为空
[@icon]
图标名称FontAwesome
图标名称(全名,例如fas fa-font
)- 指定选项卡的图标,可以为空
模板效果
无指定选项卡
1 | {% tabs test1 %} |
This is Tab 1.
This is Tab 2.
This is Tab 3.
带图标的选项卡
1 | {% tabs test2 %} |
tab名字为第一个Tab
只有图标 没有Tab名字
名字+icon
Note 引导标注 (Bootstrap Callout)
修改配置文件
修改 主题配置文件,可以设置默认的显示风格及默认是否启用 icon
1 | # Note (Bootstrap Callout) |
Note 类型
内置标识
注意:
- 其中
[xxx]
仅用于描述可以替换的元素,替换后并没有方括号[]
内置标识:不能自定义 icon
,有常用的若干个类型选择:
[class]
表示当前类型- 空,
default
,primary
,success
,info
,warning
,danger
- 空,
[no-icon]
:是否显示 icon,可以替代配置中默认设置icon
true, false
[style]
显示的风格,可以替代配置中默认设置style
simple, modern, flat
1 | {% note [class] [no-icon] [style] %} |
1 | {% note simple %} |
默认 提示块标签
default 提示块标签
primary 提示块标签
success 提示块标签
info 提示块标签
warning 提示块标签
danger 提示块标签
1 | {% note modern %} |
默认 提示块标签
default 提示块标签
primary 提示块标签
success 提示块标签
info 提示块标签
warning 提示块标签
danger 提示块标签
1 | {% note flat %} |
默认 提示块标签
default 提示块标签
primary 提示块标签
success 提示块标签
info 提示块标签
warning 提示块标签
danger 提示块标签
自定义 icon
标识
Butterfly 3.2.0
以上版本支持
自定义 icon 支持使用 fontawesome 图标定义标签前面的图标:
[color]
: Note 标签显示的颜色default / blue / pink / red / purple / orange / green
[icon]
: 可配置自定义icon
(也可以配置no-icon
)- 只支持
fontawesome
图标
- 只支持
[style]
: 风格simple, modern, flat
1 | {% note [color] [icon] [style] %} |
1 | {% note 'fab fa-cc-visa' simple %} |
你是刷 Visa 还是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
你是刷 Visa 还是 UnionPay
剪刀石头布
前端最讨厌的浏览器
1 | {% note 'fab fa-cc-visa' modern %} |
你是刷 Visa 还是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
你是刷 Visa 还是 UnionPay
剪刀石头布
前端最讨厌的浏览器
1 | {% note 'fab fa-cc-visa' flat %} |
你是刷 Visa 还是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
你是刷 Visa 还是 UnionPay
剪刀石头布
前端最讨厌的浏览器
Gallery 相册
Butterfly 2.0.0
以上支持。用于展示一组图片的组件。
本地导入指的是:所有图片的 URL
由 markdown
中直接定义展示。
[layload]
: 一次展示部分图片,点击按钮加载更多图片true, false
。默认为false
[rowHeight]
: 图片显示的高度- 如果需要一行显示更多的图片,可设置更小的数字。默认为
220
。
- 如果需要一行显示更多的图片,可设置更小的数字。默认为
[limit]
: 每次加载照片的数量- 默认为
10
。
- 默认为
1 | {% gallery [lazyload],[rowHeight],[limit] %} |
举例:
1 | {% gallery %} |
远程拉取指的是:从远程获取相册所有图片的 URL
,用 json
描述所有图片的 URL
。用 gallery url
表示当前的图库是远程拉取模式。
[link]
: 获取json
的URL
[layload]
: 一次展示部分图片,点击按钮加载更多图片true, false
。默认为false
[rowHeight]
: 图片显示的高度- 如果需要一行显示更多的图片,可设置更小的数字。默认为
220
。
- 如果需要一行显示更多的图片,可设置更小的数字。默认为
[limit]
: 每次加载照片的数量- 默认为
10
。
- 默认为
1 | {% gallery url,[link],[lazyload],[rowHeight],[limit] %} |
Gallery 相册图库
Butterfly 2.2.0
以上支持。用于展示一组图片,利用图库页面的方式进行展示,图库组件为图库页面的入口。即创建一组图片的图库入口组件,点击图库入口组件后进入对应图库页面进行查看。一般搭配 Gallery 相册 共同使用
[name]
: 图库名字[description]
:图库描述[link]
:连接到对应相册的地址- 一般是一个 Page 页面,使用以
/source
为根目录的相对路径表示:例如/Gallery/galleryAlbumDisplayPhoto
- 一般是一个 Page 页面,使用以
[img-url]
:图库封面的地址
1 | <div class="gallery-group-main"> |
举例说明:
1 | <div class="gallery-group-main"> |
tag-hide 隐藏内容
Butterfly 2.2.0
以上支持。不建议将标题设置为隐藏,会导致目录出现问题。
inline
在文本里面添加按钮隐藏内容,只限文字
[content]
: 【必须】文本内容[display]
: 按钮显示的文字[bg]
: 按钮的背景颜色[color]
: 按钮文字的颜色
1 | {% hideInline [content],[display],[bg],[color] %} |
举例:
1 | 测试问题? {% hideInline 测试答案,查看答案,#FF7242,#fff %} |
测试问题?
测试问题?
block
: 独立的隐藏内容,隐藏更多内容,包括图片,代码块等等
[content]
: 【必须】文本内容[display]
: 按钮显示的文字[bg]
: 按钮的背景颜色[color]
: 按钮文字的颜色
1 | {% hideBlock [display],[bg],[color] %} |
举例:
1 | 测试问题 |
测试问题
Butterfly 2.3.0
以上支持
需要展示的内容太多,可以把它 隐藏在收缩框 里,需要时再把它展开。
[content]
: 【必须】文本内容[display]
: 按钮显示的文字[bg]
: 按钮的背景颜色[color]
: 按钮文字的颜色- 注意事项
display
不能包含英文逗号,可用‚
1 | {% hideToggle [display],[bg],[color] %} |
举例:
1 | {% hideToggle Butterfly安装方法 %} |
Butterfly安装方法
在你的博客根目录里
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly
如果想要安装比较新的dev分支,可以
git clone -b dev https://github.com/jerryc127/hexo-theme-butterfly.git themes/Butterfly
Button 按钮
Butterfly 3.0
以上支持
Button 组件使用
[url]
: 【必须】链接[text]
: 【必须】按钮文字[icon]
: 图标[color]
:- 按钮背景顔色(默认
style
时) - 按钮字体和边框颜色(
outline
时) default/blue/pink/red/purple/orange/green
- 按钮背景顔色(默认
[style]
: 按钮样式 默认实心outline/留空
[layout]
: 按钮布局 默认为line
block/留空line
[position]
: 按钮位置 前提是设置了layout
为block
默认为左边center/right/留空left
[size]
: 按钮大小larger/留空
1 | {% btn [url],[text],[icon],[color] [style] [layout] [position] [size] %} |
举例:
1 | Butterfly 主题,点击:{% btn 'https://butterfly.js.org/',Butterfly %} |
Butterfly 主题,点击:Butterfly
Butterfly 主题,点击:Butterfly
Butterfly 主题,点击:Butterfly
Butterfly 主题,点击:Butterfly
Butterfly 主题,点击:Butterfly
1 | {% btn 'https://butterfly.js.org/',Butterfly,far fa-hand-point-right,block %} |
通过 div 设置 button 的位置
1 | <div class="btn-center"> |
mermaid 绘图
使用 mermaid
组件可以绘制 Flowchart
(流程图)、Sequence diagram
(时序图)、Class Diagram
(类别图)、State Diagram
(状态图)、Gantt
(甘特图)和 Pie Chart
(圆形图),具体可以查看 mermaid 文档
修改配置文件开启组件
1 | # mermaid |
具体使用见文档,格式如下:
1 | {% mermaid %} |
inlineImg 内联元素
主题中的图片都是默认以块级元素显示,如果你想以内联元素显示,可以使用这个标签外挂。
[src]
:【必须】图片链接[height]
: 图片高度限制
1 | {% inlineImg [src] [height] %} |
举例:
1 | 这是一张风景图片:{% inlineImg https://cdn.catsky.org/catskyCDN/img/blog/hexo/galleryAlbum/blog_galleryAlbum_display_photo_3.webp 150px %} |
这是一张风景图片:
label 高亮文字
由于 hexo 的渲染限制, 在段落开头使用 label 标签外挂会出现一些问题。例如:连续开头使用 label 标签外挂的段落无法换行
高亮对应的文件:
[text]
: 文字[color]
: 背景颜色,默认为default
default/blue/pink/red/purple/orange/green
1 | {% label [text] [color] %} |
举例:
1 | {% label label %} 用于高亮 {% label 文字 orange %} 。 |
timeline 时间线
Butterfly 4.0.0
以上支持。用于创建一条时间线。
default(留空) / blue / pink / red / purple / orange / green
1 | {% timeline [title],[color] %} |
举例:
默认颜色:
1 | {% timeline 2023 %} |
2023
01-02
这是测试页面
修改颜色:
1 | {% timeline 2023,pink %} |
2023
01-02
这是测试页面
flink 友链组件
Butterfly 4.1.0
支持。用于在任何markdown
中插入类似友情链接列表效果
内容和友链页面一致:
1 | {% flink %} |
举例:
1 | {% flink %} |
abcjs 乐谱展示
修改配置文件开启
修改 主题配置文件:
1 | # abcjs (乐谱渲染) |
组件使用方法
1 | {% score %} |
series 系列文章
在页面上显示系列文章
修改配置文件
1 | series: |
组件使用方法
- 使用:在文章的
front-matter
上添加参数series
,作为当前 文章的标识 - 效果:使用此标签外挂,会把 相同标识的文章以列表的形式展示
1 | {% series %} |