个人常用的标签外挂
标签外挂tag plugins是hexo框架的一种功能,在本不懂技术的人眼里,基本上认为是hexo框架下用来扩展markdown语法的玩意儿。hexo本身自带它,butterfly主题和Akilar大佬写的插件又加入了更多的标签外挂。这东西记肯定是记不住的,所以就自己列一遍认为有用的,作为备查。完整的列表将会在文末的参考中标明。
常用front-matter
page
title 【必需】页面标题
date 【必需】页面创建日期
type 【必需】标籤、分类和友情链接三个页面需要配置
updated 【可选】页面更新日期
description 【可选】页面描述
keywords 【可选】页面关键字
comments 【可选】显示页面评论模块 (默认 true)
top_img 【可选】页面顶部图片
post
title 【必需】文章標題
date 【必需】文章創建日期
updated 【可選】文章更新日期
tags 【可選】文章標籤
categories 【可選】文章分類
keywords 【可選】文章關鍵字
description 【可選】文章描述
top_img 【可選】文章頂部圖片
cover 【可選】文章縮略圖(如果沒有設置top_img,文章頁頂部將顯示縮略圖,可設為false/圖片地址/留空)
comments 【可選】顯示文章評論模塊(默認 true)
toc 【可選】顯示文章TOC(默認為設置中toc的enable配置)
toc_number 【可選】顯示toc_number(默認為設置中toc的number配置)
copyright 【可選】顯示文章版權模塊(默認為設置中post_copyright的enable配置)
copyright_author 【可選】文章版權模塊的文章作者
copyright_author_href 【可選】文章版權模塊的文章作者鏈接
copyright_url 【可選】文章版權模塊的文章連結鏈接
copyright_info 【可選】文章版權模塊的版權聲明文字
Hexo自带的标签外挂
blockquote 引用块
在文章中插入引言,可包含作者、来源和标题。
标签语法:1
2
3{% blockquote [author[, source]] [link] [source_link_title] %}
content
{% endblockquote %}
Demo 1 没有提供参数,则只输出普通的 blockquote,相当于 Markdown 的引用语法 > +空格 + 文本1
2
3{% blockquote %}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
{% endblockquote %}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
Demo 2 引用书上的句子1
2
3{% blockquote David Levithan, Wide Awake %}
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.
{% endblockquote %}
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.
Demo3 引用网络文章1
2
3{% blockquote Seth Godin http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html Welcome to Island Marketing %}
Every interaction is both precious and an opportunity to delight.
{% endblockquote %}
Every interaction is both precious and an opportunity to delight.
codeblock 代码块
要调用代码块样式,可以分别使用三个点号(three backticks)一前一后包围代码块即可,并且在前面的三个点号后面紧跟语言的名称。使用 Markdown 的博主 99% 都非常熟悉这个语法,在此就不再赘述。
iframe 插入视频
标签语法:
1 | {% iframe url [width] [height] %} |
实例:实例不写了。
Butterfly的标签外挂
Butterfly 主题的原生标签外挂总共有8个,相关标签的js文件全部保存在 Blog/themes/butterfly/scripts/tag/ 目录下面,现只选取比较有用的。
Button 按钮
1 | {% btn [url],[text],[icon],[color] [style] [layout] [position] [size] %} |
Inline
1 | {% btn [url],[text],[icon],[color] [style] [layout] [position] [size] %} |
1 | This is my website, click the button {% btn 'https://uchouten.top',有顶天 %} |
Block
1 | This is my website, click the button {% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,block larger %} |
This is my website, click the button MaraPython
This is my website, click the button MaraPython
This is my website, click the button MaraPython
混用
不换行配置多个 btn 按钮,默认 inline,靠左对齐,溢出自动换行。
1 | {% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,larger %}{% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,blue larger %}{% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,pink larger %}{% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,red larger %}{% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,purple larger %}{% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,orange larger %}{% btn 'https://marapython.com',MaraPython,far fa-hand-point-right,green larger %} |
Hide 隐藏
如果你想把一些文字、内容隐藏起来,并提供按钮让用户点击显示,可以使用这个标签外挂。
注意:hide 标签似乎不能嵌套使用在 tabs 标签内部,所以本小节没有使用 tabs 标签的分栏设计,全部内容直接平铺开来。
有三种,hideToggle, hideInline, hideBlock.
只展示inline和block了!
标签语法:
inline:
1 | {% hideInline content,display,bg,color %} |
block:
1 | {% hideBlock display,bg,color %} |
inlineimg 行内图片
主题内的图片默认都是以 block 格式显示,如果你想以 inline 格式显示,可以使用这个标签外挂。
1 | {% inlineImg [src] [height] %} |
label 行内色块
1 | {% label [text] [color=default] %} |
1 | We practice {% label "Being ethical, respectful, creative, and collaborative." %} |
We practice Being ethical, respectful, creative, and collaborative.
Note 备注
这一部分介绍的备注样式,有个名称叫做 Bootstrap Callout,在主题配置文件_config.butterfly.yml 中已经有作如下默认设置:1
2
3
4
5
6
7
8
9
10
11
12
13# Note (Bootstrap Callout)
note:
# Note tag style values:
# - simple bs-callout old alert style. Default.
# - modern bs-callout new (v2-v3) alert style.
# - flat flat callout style with background, like on Mozilla or StackOverflow.
# - disabled disable all CSS styles import of note tag.
style: flat
icons: true
border_radius: 3
# Offset lighter of background in % for modern and flat styles (modern: -12 | 12; flat: -18 | 6).
# Offset also applied to label tag variables. This option can work with disabled note tag.
light_bg_offset: 0
note 标签外挂有两种方法,icons 和 light_bg_offset 只对方法一生效。
方法一:
方法一内置了七种颜色,五个图标,但常用的样式有三个:绿色对勾表示肯定 / 赞同 / 成功,蓝色叹号表示提示 / 信息 / 备注,红色横杠表示否定 / 禁止 / 失败。
语法和预览(只列出常用的!):
1 | {% note simple %} |
With class
missing, no-icon
missing, style
= simple, and this is how the text area would look like.
With class
= default, no-icon
missing, style
= simple, and this is how the text area would look like.
With class
= primary, no-icon
missing, style
= simple, and this is how the text area would look like.
With class
= success, no-icon
missing, style
= simple, and this is how the text area would look like.
With class
= info, no-icon
missing, style
= simple, and this is how the text area would look like.
With class
= warning, no-icon
missing, style
= simple, and this is how the text area would look like.
With class
= danger, no-icon
missing, style
= simple, and this is how the text area would look like.
1 | {% note modern %} |
With class
missing, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
With class
= default, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
With class
= primary, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
With class
= success, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
With class
= info, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
With class
= warning, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
With class
= danger, no-icon
missing, style
= modern, this removes left_border_color while adds background_color.
1 | {% note flat %} |
With class
missing, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
With class
= default, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
With class
= primary, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
With class
= success, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
With class
= info, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
With class
= warning, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
With class
= danger, no-icon
missing, style
= flat, this combines left_border_color and a lighter background_color.
1 | {% note disabled %} |
With class
missing, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
With class
= default, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
With class
= primary, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
With class
= success, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
With class
= info, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
With class
= warning, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
With class
= danger, no-icon
missing, style
= disabled, this just leaves the icon plus plain text.
方法二
方法二在图标使用上有了扩展,有了 font awesome icons 加持,图标数量直接冲上了 1000+。
语法:1
2
3
4
5
6
7
8
9{% note [color] [icon] [style] %}
Any content (support inline tags too)
{% endnote %}
[color]: Optional.
(default / blue / pink / red / purple / orange / green)
[icon]: Optional. Either font awesome icons or `no-icon`
[style]: Optional. Configuration here overrides setting in `_config_butterfly.yml`
(simple/modern/flat/disabled)
示例
1 | {% note 'fab fa-cc-visa' simple %} |
你是刷 Visa 还是是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
该充电了哦!
剪刀石頭布
前端最討厭的瀏覽器
1 | {% note 'fab fa-cc-visa' modern %} |
你是刷 Visa 还是是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
该充电了哦!
剪刀石頭布
前端最討厭的瀏覽器
1 | {% note 'fab fa-cc-visa' flat %} |
你是刷 Visa 还是是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
该充电了哦!
剪刀石頭布
前端最討厭的瀏覽器
1 | {% note 'fab fa-cc-visa' disabled %} |
你是刷 Visa 还是是 UnionPay
2021年快到了….
小心开车 安全至上
这是三片呢?还是四片?
该充电了哦!
剪刀石頭布
前端最討厭的瀏覽器
tabs 分栏
语法:
1 | {% tabs Unique name, [index] %} |
在 tabs 标签头设置当前分栏的名称,同时设置默认展示栏位
在每个 tab 子标签内设置每个栏位的名称
栏位名称可以只有图标,没有名称
栏位名称可以是图标 + 名称
tab名字为第一个Tab
tab只有图标 沒有Tab名字
因为tabs标签头设置了默认展示栏位2,所以优先展示这一栏,即第2栏
tab名字+icon
参考资料
Butterfly 官网:Butterfly 安裝文檔 (三) 主題配置 - 1:標籤外掛(Tag Plugins)
akilar 所开发的标签外挂
最初的插件名称为 hexo-tag-plugins,后来出了个升级版 hexo-butterfly-tag-plugins-plus,再后来插件中的个别 tag 例如 timeline 被移除,原因是 Butterfly 主题 4.5.1 已经支持 timeline 功能,并且语法更自然。原文链接在此
插件安装和主题配置如下:
1 | npm install hexo-butterfly-tag-plugins-plus --save |
考虑到 hexo 自带的 markdown 渲染插件 hexo-renderer-marked 与外挂标签语法的兼容性较差,建议您将其替换成 hexo-renderer-kramed
1 | npm uninstall hexo-renderer-marked --save |
配置文件中添加:
1 | # tag-plugins-plus |
hexo-butterfly-tag-plugins-plus 安装成功以后,可以在路径 \MaraPython\node_modules\ 文件夹内找到。本文中将要介绍的各个 tag 的脚本文件保存在 \MaraPythong\node_modules\hexo-butterfly-tag-plugins-plus\lib\scripts\ 文件夹下,样式文件保存在 \MaraPython\node_modules\hexo-butterfly-tag-plugins-plus\lib\style\ 文件夹下,总计 20 个标签,此处只展示常用的。
btns 第二种按钮
Volantis 的按钮使用的是 btn 和 btns 标签。btns 和 butterfly 的 button 不冲突,但是 btn 会被强制渲染,导致部分参数失效,而且 btn 的效果还是 butterfly 的 button 更好看些。所以就只适配了 btns。
1 | {% btns 样式参数 %} |
圆角样式:rounded, circle
增加文字样式:可以在容器内增加标题和描述文字
布局方式:默认为自动宽度,适合视野内只有一两个的情况。
wide: 宽一点的按钮
fill: 填充布局,自动铺满至少一行,多了会换行
center: 居中,按钮之间是固定间距
around: 居中分散
grid2: 等宽最多 2 列,屏幕变窄会适当减少列数
grid3: 等宽最多 3 列,屏幕变窄会适当减少列数
grid4: 等宽最多 4 列,屏幕变窄会适当减少列数
grid5: 等宽最多 5 列,屏幕变窄会适当减少列数
1 | {% btns circle grid5 %} |
bubble 气泡注释
1 | {% nota [label] , [text] %} |
label: 注释词汇
text: 悬停显示的注解内容
background-color: 可选,气泡背景色。默认为“#71a4e3”
内容中不可以有英文逗号
1 | {% bubble 王羲之, 南北朝时期的书法家。,#1db675 %} |
王羲之 南北朝时期的书法家。</span>
注意,如果出现span,主要是因为标签嵌套,md插件渲染出错的缘故。请避免嵌套,如果必须嵌套,可以先在文章外写标签内容,然后hexo s预览,把这块的html代码复制出来,再在要嵌套的标签内写。
如果bubble语法失效,需要将CDN.tag_plugins_css的@latest换为具体版本号,如:@1.0.17。
checkbox 复选列表
1 | {% checkbox [style], [color], [unchecked], [text](支持简单md) %} |
样式: plus, minus, times
颜色: red,yellow,green,cyan,blue,gray
选中状态: checked
1 | {% checkbox 纯文本测试 %} |
Folding 折叠框
功能和hexo自带的hidetoggle类似。
标签语法:
1 | {% folding [color] [status], 标题 %} |
color:[default=gray], blue, cyan, green, yellow, red
status:[defalut=close], open
示例代码
1 | {% folding 查看图片测试 %} |
查看图片测试
查看默认打开的折叠框
这是一个默认打开的折叠框。
查看代码测试
假装这里有代码块(代码块没法嵌套代码块)
查看列表测试
- haha
- hehe
查看嵌套测试
查看嵌套测试2
查看嵌套测试3
hahaha
inline-labels 行内文本样式
1 | {% u 文本内容 %} |
1 | 1. 带 {% u 下划线 %} 的文本 |
- 带 下划线 的文本
- 带
着重号 的文本 - 带
波浪线 的文本 - 带
删除线的文本 - 键盘样式的文本 Command + D
- 密码样式的文本:
这里没有验证码
link 链接卡片
Hexo 具有有原生的 link 标签,官方文档仅提供了简单的使用语法,但是没有给出具体的代码示例和样式预览,插件将会覆盖它。
1 | {% link 标题, 链接, 图片链接(可选) %} |
media 媒体链接
1 | 音频:{% audio 音频链接 %} |
progress 进度条
1 | {% progress [width] [color] [text] %} |
网站卡片
1 | {% sitegroup %} |
span 行内文本
语法:1
2
3
4
5
6{% span 样式参数(参数以空格划分), 文本内容 %}
字体: logo, code
颜色: red,yellow,green,cyan,blue,gray
大小: small, h4, h3, h2, h1, large, huge, ultra
对齐方向: left, center, right
示例代码:
1 | - 彩色文字 |
预览:
- 彩色文字
在一段话中方便插入各种颜色的标签,包括:红色、黄色、绿色、青色、蓝色、灰色。 - 超大号文字
文档「开始」页面中的标题部分就是超大号文字。Volantis A Wonderful Theme for Hexo
段落文本
和上一条类似,但是会直接让文字变成单独一个段落。
1 | {% p 样式参数(参数以空格划分), 文本内容 %} |
字体: logo, code
颜色: red,yellow,green,cyan,blue,gray
大小: small, h4, h3, h2, h1, large, huge, ultra
对齐方向: left, center, right
timeline 时间线
1 | {% timeline 怪话合集,blue %} |
inlineimage 行内图片
1 | {% inlineimage 图片链接, height=高度(可选) %} |
image 图片
语法:1
2
3
4{% image 链接, width=宽度(可选), height=高度(可选), alt=描述(可选), bg=占位颜色(可选) %}
图片宽度高度:width=300px, height=32px
图片描述:alt=图片描述(butterfly需要在主题配置文件中开启图片描述)
占位背景色:bg=#f2f2f2
reference 引用文献
1 | {% referto [id] , [literature] %} |
referto 引用上标
id: 上标序号内容,需与referfrom标签的id对应才能实现跳转
literature: 引用的参考文献名称
referfrom 引用出处,写在章节末很不错。
id: 序号内容,需与referto标签的id对应才能实现跳转
literature: 引用的参考文献名称
url: 引用的参考文献链接,可省略
tip 上标标签
1 | {% tip [参数,可选] %}文本内容{% endtip %} |
样式: success,error,warning,bolt,ban,home,sync,cogs,key,bell
自定义图标: 支持fontawesome。
示例代码1
2
3
4
5
6
7
8
9
10
11
12
13{% tip %}default{% endtip %}
{% tip info %}info{% endtip %}
{% tip success %}success{% endtip %}
{% tip error %}error{% endtip %}
{% tip warning %}warning{% endtip %}
{% tip bolt %}bolt{% endtip %}
{% tip ban %}ban{% endtip %}
{% tip home %}home{% endtip %}
{% tip sync %}sync{% endtip %}
{% tip cogs %}cogs{% endtip %}
{% tip key %}key{% endtip %}
{% tip bell %}bell{% endtip %}
{% tip fa-atom %}自定义font awesome图标{% endtip %}
default
info
success
error
warning
bolt
ban
home
sync
cogs
key
bell
自定义font awesome图标