以下内容转载自《Tag Plugin 外挂标签写法 - Arkila糖果屋》以及《butterfly安装文档》和《CC的部落格》,与标签相关的语法写法内容,我把它们合并到一起,当做以后自己写博客文章的语法查用cheatsheet😍


如有使用了本站的右键菜单教程的读者,请确保自己的配置内容为最新。2020年11月15日之前的教程中的css样式和本帖的部分标签有冲突。请及时更新。

同理,若您在使用本帖教程后,发现样式无法完全还原,请重点排查您的其余第三方魔改css样式,例如css中是否存在**.circle**、.square等易重class名。

点开查看开发记录

本文所涉及的样式,主要参考的是各类已有主题,并对相应styl文件进行样式修改以及添加夜间模式适配。已尽可能追根溯源找到了各部分魔改内容最初的作者,如有错误和遗漏还请联系我修改。

开发记录

2020-11-14:内测版v0.05

  1. 主要使用了Volantis的标签样式。引入[tag].js,并针对butterfly主题修改了相应的[tag].styl。在此鸣谢Volantis主题众开发者。
  2. 主要参考内容

2020-11-15:正式版v1.0

  1. 基本完成Volantis外挂标签移植。
  2. 移除了btn标签,因为存在冲突。而且不如butterfly自带的button样式好看。
  3. 适配了folding标签的夜间模式。
  4. 打包了静态资源文件,上传蓝奏云。

2020-11-16:正式版v1.1

  1. 新增tip.js,将小康大佬的渐变色上标标签写法从HTML的方式改成用标签语法编写。
  2. 新增动态标签样式anima,使用了fontawesome-animation项目。
  3. 新增标签内容夜间模式适配。

2020-12-03:正式版v1.2

  1. 新增当初弃用的issues.js标签,以配合友链魔改教程中的issues自动更新功能。
  2. 更新了静态资源文件,请之前的读者重新覆盖安装。
  3. 修改了fontawesome-animation.min.css的引入方式,改成使用@import注入index.css

2020-12-07:正式版v1.21

  1. 资源文件无任何改动。
  2. 更新了动态标签的使用说明。补全参数配置,更换示例。使得教程更加通俗易懂。

2020-12-13:正式版v1.3

  1. 新增Butterfly_v3.4.0的配置文件。
  2. 请读者根据自己的主题版本选择替换。

2020-12-17:正式版v1.4

  1. 新增两个样式标签poem和icon
  2. 修复了folding标签嵌套字体逐级放大的bug。
  3. 不再更新v3.4.0以下版本的适配内容。

2020-12-31:正式版v1.5

  1. 新增两个样式标签,github徽标ghbdage和特效标签wow
  2. 移除静态资源中的fontawesome-animation.min.css以及issues.js,改为CDN引用。
  3. 本帖不专门提供特效标签wow的配置方案,若有需要,请查看站内教程使用wowjs给博客添加动画效果

2021-02-24:正式版v1.6

  1. 新增一个样式标签,进度条progress
点开查看配置教程
  1. 下载资源文件
  2. 将下载的Tag_Plugins.zip解压得到butterfly文件夹。
  3. butterfly文件夹复制到[Blogroot]\themes\目录下,覆盖当前的butterfly主题文件夹,提示重复则选择替换。(如果担心覆盖自己的其他魔改内容,可以根据静态文件内容自主比对修改)
  4. 修改[Blogroot]\_config.butterfly.ymlinject配置项,添加CDN依赖项。由于issues写入timelinesite-card标签要用到jquery,请务必根据注释指示的版本决定是否添加。
1
2
3
4
5
6
7
8
inject:
head:
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/l-lin/font-awesome-animation/dist/font-awesome-animation.min.css" media="defer" onload="this.media='all'"> #动画标签anima的依赖
bottom:
- <script defer src="https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js"></script>
# 自butterfly_v3.4.0+开始,主题基本实现去jquery化,需要自己添加引用,请读者根据版本自行决定是否添加这行引用。
- <script defer src="https://cdn.jsdelivr.net/npm/hexo-theme-volantis@latest/source/js/issues.min.js"></script>
#数据集合标签issues的依赖
  1. 外挂标签使用方案请参阅下文。

行内文本样式

1
2
3
4
5
6
{% u 文本内容 %}
{% emp 文本内容 %}
{% wavy 文本内容 %}
{% del 文本内容 %}
{% kbd 文本内容 %}
{% psw 文本内容 %}
  1. 下划线 的文本
  2. 着重号 的文本
  3. 波浪线 的文本
  4. 删除线 的文本
  5. 键盘样式的文本 command + D
  6. 密码样式的文本:这里没有验证码
1
2
3
4
5
6
1. 带 {% u 下划线 %} 的文本
2. 带 {% emp 着重号 %} 的文本
3. 带 {% wavy 波浪线 %} 的文本
4. 带 {% del 删除线 %} 的文本
5. 键盘样式的文本 {% kbd command %} + {% kbd D %}
6. 密码样式的文本:{% psw 这里没有验证码 %}

行内文本 span

1
{% span 样式参数(参数以空格划分), 文本内容 %}
  1. 字体: logo, code
  2. 颜色: red,yellow,green,cyan,blue,gray
  3. 大小: small, h4, h3, h2, h1, large, huge, ultra
  4. 对齐方向: left, center, right
  • 彩色文字
    在一段话中方便插入各种颜色的标签,包括:红色黄色绿色青色蓝色灰色
  • 超大号文字
    文档「开始」页面中的标题部分就是超大号文字。

    A Wonderful Theme for Hexo
1
2
3
4
5
6
- 彩色文字
在一段话中方便插入各种颜色的标签,包括:{% span red, 红色 %}、{% span yellow, 黄色 %}、{% span green, 绿色 %}、{% span cyan, 青色 %}、{% span blue, 蓝色 %}、{% span gray, 灰色 %}。
- 超大号文字
文档「开始」页面中的标题部分就是超大号文字。
{% span center logo large, Volantis %}
{% span center small, A Wonderful Theme for Hexo %}

段落文本 p

1
{% p 样式参数(参数以空格划分), 文本内容 %}
  1. 字体: logo, code
  2. 颜色: red,yellow,green,cyan,blue,gray
  3. 大小: small, h4, h3, h2, h1, large, huge, ultra
  4. 对齐方向: left, center, right
  • 彩色文字
    在一段话中方便插入各种颜色的标签,包括:

    红色

    黄色

    绿色

    青色

    蓝色

    灰色

  • 超大号文字
    文档「开始」页面中的标题部分就是超大号文字。

A Wonderful Theme for Hexo

1
2
3
4
5
6
- 彩色文字
在一段话中方便插入各种颜色的标签,包括:{% p red, 红色 %}、{% p yellow, 黄色 %}、{% p green, 绿色 %}、{% p cyan, 青色 %}、{% p blue, 蓝色 %}、{% p gray, 灰色 %}。
- 超大号文字
文档「开始」页面中的标题部分就是超大号文字。
{% p center logo large, Volantis %}
{% p center small, A Wonderful Theme for Hexo %}

markdown高亮文字写法

如果在一篇文章内频繁使用某种颜色,可以先在文章开头定义style,后面使用这种格式,只要引用就好了。写法比如:

1
2
3
4
5
6
7
8
9
<style>
r { color: Red }
o { color: Orange }
g { color: Green }
</style>

- <r>TODO:</r> Important thing to do
- <o>TODO:</o> Less important thing to do
- <g>DONE:</g> Breath deeply and improve karma

显示效果如下:

  • TODO: Important thing to do
  • TODO: Less important thing to do
  • DONE: Breath deeply and improve karma

引用 note

最新版butterfly标签支持引用fontawesome V5图标,效果上已经优于volantis的note标签。故不再额外引入volantis的note样式做样式适配好麻烦的啊,能偷懒就偷懒吧

以下是butterfly主题的note写法。

修改主题配置文件

1
2
3
4
5
6
7
8
9
10
11
12
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: simple
icons: false
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标签外挂有两种用法。iconslight_bg_offset只对方法一生效。

方法一
1
2
3
{% note [class] [no-icon] [style] %}
Any content (support inline tags too.io).
{% endnote %}
方法二
1
2
3
{% note [color] [icon] [style] %}
Any content (support inline tags too.io).
{% endnote %}
方法一
参数用法
class【可选】标识,不同的标识有不同的配色
( default / primary / success / info / warning / danger )
no-icon【可选】不显示 icon
style【可选】可以覆盖配置中的 style
(simple/modern/flat/disabled)
方法二
参数用法
class【可选】标识,不同的标识有不同的配色
( default / primary / success / info / warning / danger )
no-icon【可选】可配置自定义 icon (只支持 fontawesome 图标, 也可以配置 no-icon )
style【可选】可以覆盖配置中的 style
(simple/modern/flat/disabled)
方法一
  1. simple样式

默认 提示块标签

default 提示块标签

primary 提示块标签

success 提示块标签

info 提示块标签

warning 提示块标签

danger 提示块标签

  1. modern样式

默认 提示块标签

default 提示块标签

primary 提示块标签

success 提示块标签

info 提示块标签

warning 提示块标签

danger 提示块标签

  1. flat样式

默认 提示块标签

default 提示块标签

primary 提示块标签

success 提示块标签

info 提示块标签

warning 提示块标签

danger 提示块标签

  1. disabled样式

默认 提示块标签

default 提示块标签

primary 提示块标签

success 提示块标签

info 提示块标签

warning 提示块标签

danger 提示块标签

  1. no-icon样式

默认 提示块标签

default 提示块标签

primary 提示块标签

success 提示块标签

info 提示块标签

warning 提示块标签

danger 提示块标签

方法二
  1. simple样式

你是刷 Visa 还是 UnionPay

2021年快到了…

小心开车 安全至上

这是三片呢?还是四片?

你是刷 Visa 还是 UnionPay

剪刀石头布

前端最讨厌的浏览器

  1. modern样式

你是刷 Visa 还是 UnionPay

2021年快到了…

小心开车 安全至上

这是三片呢?还是四片?

你是刷 Visa 还是 UnionPay

剪刀石头布

前端最讨厌的浏览器

  1. flat样式

你是刷 Visa 还是 UnionPay

2021年快到了…

小心开车 安全至上

这是三片呢?还是四片?

你是刷 Visa 还是 UnionPay

剪刀石头布

前端最讨厌的浏览器

  1. disabled样式

你是刷 Visa 还是 UnionPay

2021年快到了…

小心开车 安全至上

这是三片呢?还是四片?

你是刷 Visa 还是 UnionPay

剪刀石头布

前端最讨厌的浏览器

  1. no-icon样式

你是刷 Visa 还是 UnionPay

2021年快到了…

小心开车 安全至上

这是三片呢?还是四片?

你是刷 Visa 还是 UnionPay

剪刀石头布

前端最讨厌的浏览器

方法一
  1. simple样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note simple %}默认 提示块标签{% endnote %}

{% note default simple %}default 提示块标签{% endnote %}

{% note primary simple %}primary 提示块标签{% endnote %}

{% note success simple %}success 提示块标签{% endnote %}

{% note info simple %}info 提示块标签{% endnote %}

{% note warning simple %}warning 提示块标签{% endnote %}

{% note danger simple %}danger 提示块标签{% endnote %}
  1. modern样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note modern %}默认 提示块标签{% endnote %}

{% note default modern %}default 提示块标签{% endnote %}

{% note primary modern %}primary 提示块标签{% endnote %}

{% note success modern %}success 提示块标签{% endnote %}

{% note info modern %}info 提示块标签{% endnote %}

{% note warning modern %}warning 提示块标签{% endnote %}

{% note danger modern %}danger 提示块标签{% endnote %}
  1. flat样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note flat %}默认 提示块标签{% endnote %}

{% note default flat %}default 提示块标签{% endnote %}

{% note primary flat %}primary 提示块标签{% endnote %}

{% note success flat %}success 提示块标签{% endnote %}

{% note info flat %}info 提示块标签{% endnote %}

{% note warning flat %}warning 提示块标签{% endnote %}

{% note danger flat %}danger 提示块标签{% endnote %}
  1. disabled样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note disabled %}默认 提示块标签{% endnote %}

{% note default disabled %}default 提示块标签{% endnote %}

{% note primary disabled %}primary 提示块标签{% endnote %}

{% note success disabled %}success 提示块标签{% endnote %}

{% note info disabled %}info 提示块标签{% endnote %}

{% note warning disabled %}warning 提示块标签{% endnote %}

{% note danger disabled %}danger 提示块标签{% endnote %}
  1. no-icon样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note no-icon %}默认 提示块标签{% endnote %}

{% note default no-icon %}default 提示块标签{% endnote %}

{% note primary no-icon %}primary 提示块标签{% endnote %}

{% note success no-icon %}success 提示块标签{% endnote %}

{% note info no-icon %}info 提示块标签{% endnote %}

{% note warning no-icon %}warning 提示块标签{% endnote %}

{% note danger no-icon %}danger 提示块标签{% endnote %}
方法二
  1. simple样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note 'fab fa-cc-visa' simple %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note blue 'fas fa-bullhorn' simple %}2021年快到了....{% endnote %}

{% note pink 'fas fa-car-crash' simple %}小心开车 安全至上{% endnote %}

{% note red 'fas fa-fan' simple%}这是三片呢?还是四片?{% endnote %}

{% note orange 'fas fa-battery-half' simple %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note purple 'far fa-hand-scissors' simple %}剪刀石头布{% endnote %}

{% note green 'fab fa-internet-explorer' simple %}前端最讨厌的浏览器{% endnote %}
  1. modern样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note 'fab fa-cc-visa' modern %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note blue 'fas fa-bullhorn' modern %}2021年快到了....{% endnote %}

{% note pink 'fas fa-car-crash' modern %}小心开车 安全至上{% endnote %}

{% note red 'fas fa-fan' modern%}这是三片呢?还是四片?{% endnote %}

{% note orange 'fas fa-battery-half' modern %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note purple 'far fa-hand-scissors' modern %}剪刀石头布{% endnote %}

{% note green 'fab fa-internet-explorer' modern %}前端最讨厌的浏览器{% endnote %}
  1. flat样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note 'fab fa-cc-visa' flat %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note blue 'fas fa-bullhorn' flat %}2021年快到了....{% endnote %}

{% note pink 'fas fa-car-crash' flat %}小心开车 安全至上{% endnote %}

{% note red 'fas fa-fan' flat%}这是三片呢?还是四片?{% endnote %}

{% note orange 'fas fa-battery-half' flat %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note purple 'far fa-hand-scissors' flat %}剪刀石头布{% endnote %}

{% note green 'fab fa-internet-explorer' flat %}前端最讨厌的浏览器{% endnote %}
  1. disabled样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note 'fab fa-cc-visa' disabled %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note blue 'fas fa-bullhorn' disabled %}2021年快到了....{% endnote %}

{% note pink 'fas fa-car-crash' disabled %}小心开车 安全至上{% endnote %}

{% note red 'fas fa-fan' disabled %}这是三片呢?还是四片?{% endnote %}

{% note orange 'fas fa-battery-half' disabled %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note purple 'far fa-hand-scissors' disabled %}剪刀石头布{% endnote %}

{% note green 'fab fa-internet-explorer' disabled %}前端最讨厌的浏览器{% endnote %}
  1. no-icon样式
1
2
3
4
5
6
7
8
9
10
11
12
13
{% note no-icon %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note blue no-icon %}2021年快到了....{% endnote %}

{% note pink no-icon %}小心开车 安全至上{% endnote %}

{% note red no-icon %}这是三片呢?还是四片?{% endnote %}

{% note orange no-icon %}你是刷 Visa 还是 UnionPay{% endnote %}

{% note purple no-icon %}剪刀石头布{% endnote %}

{% note green no-icon %}前端最讨厌的浏览器{% endnote %}

上标标签 tip

主要样式参考自小康的butterfly渐变背景标签,自己写了个tip.js来渲染标签,精简了一下代码。

1
{% tip [参数,可选] %}文本内容{% endtip %}
  1. 样式: success,error,warning,bolt,ban,home,sync,cogs,key,bell
  2. 自定义图标: 支持fontawesome。

默认情况

success

error

warning

bolt

ban

home

sync

cogs

key

bell

自定义font awesome图标

1
2
3
4
5
6
7
8
9
10
11
12
{% tip %}默认情况{% 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 %}

动态标签 anima

动态标签的实质是引用了font-awesome-animation的css样式,不一定局限于tip标签,也可以是其他标签。
只不过这里tip.js是我自己写的,所以我清楚它会怎么被渲染成html,才用的这个写法。
可以熟读文档,使用html语言来编写其他标签类型。

1
{% tip [参数,可选] %}文本内容{% endtip %}

更多详情请参看font-awesome-animation文档

  1. 将所需的CSS类添加到图标(或DOM中的任何元素)。
  2. 对于父级悬停样式,需要给目标元素添加指定CSS类,同时还要给目标元素的父级元素添加CSS类faa-parent animated-hover。(详情见示例及示例源码)
    You can regulate the speed of the animation by adding the CSS class or . faa-fastfaa-slow
  3. 可以通过给目标元素添加CSS类faa-fastfaa-slow来控制动画快慢。
On DOM load
当页面加载时
显示动画
On hover
当鼠标悬停时
显示动画
On parent hover
当鼠标悬停
在父级元素时
显示动画
 faa-wrench animated  faa-wrench animated-hover  faa-wrench
 faa-ring animated  faa-ring animated-hover  faa-ring
 faa-horizontal animated  faa-horizontal animated-hover  faa-horizontal
 faa-vertical animated  faa-vertical animated-hover  faa-vertical
 faa-flash animated  faa-flash animated-hover  faa-flash
 faa-bounce animated  faa-bounce animated-hover  faa-bounce
 faa-spin animated  faa-spin animated-hover  faa-spin
 faa-tada animated  faa-tada animated-hover  faa-tada
 faa-pulse animated  faa-pulse animated-hover  faa-pulse
 faa-shake animated  faa-shake animated-hover  faa-shake
 faa-tada animated  faa-tada animated-hover  faa-tada
 faa-passing animated  faa-passing animated-hover  faa-passing
 faa-passing-reverse animated  faa-passing-reverse animated-hover  faa-passing-reverse
 faa-burst animated  faa-burst animated-hover  faa-burst
 faa-falling animated  faa-falling animated-hover  faa-falling
 faa-rising animated  faa-rising animated-hover  faa-rising
  1. On DOM load(当页面加载时显示动画)

warning

ban

  1. 调整动画速度。

warning

ban

  1. On hover(当鼠标悬停时显示动画)

warning

ban

  1. On parent hover(当鼠标悬停在父级元素时显示动画)

warning

ban

  1. On DOM load(当页面加载时显示动画)
1
2
{% tip warning faa-horizontal animated %}warning{% endtip %}
{% tip ban faa-flash animated %}ban{% endtip %}
  1. 调整动画速度
1
2
{% tip warning faa-horizontal animated faa-fast %}warning{% endtip %}
{% tip ban faa-flash animated faa-slow %}ban{% endtip %}
  1. On hover(当鼠标悬停时显示动画)
1
2
{% tip warning faa-horizontal animated-hover %}warning{% endtip %}
{% tip ban faa-flash animated-hover %}ban{% endtip %}
  1. On parent hover(当鼠标悬停在父级元素时显示动画)
1
2
{% tip warning faa-parent animated-hover %}<p class="faa-horizontal">warning</p>{% endtip %}
{% tip ban faa-parent animated-hover %}<p class="faa-flash">ban</p>{% endtip %}

复选列表 checkbox

1
{% checkbox 样式参数(可选), 文本(支持简单md) %}
  1. 样式: plus, minus, times
  2. 颜色: red,yellow,green,cyan,blue,gray
  3. 选中状态: checked

纯文本测试

支持简单的 markdown 语法

支持自定义颜色

绿色 + 默认选中

黄色 + 默认选中

青色 + 默认选中

蓝色 + 默认选中

增加

减少

1
2
3
4
5
6
7
8
9
10
{% checkbox 纯文本测试 %}
{% checkbox checked, 支持简单的 [markdown](https://guides.github.com/features/mastering-markdown/) 语法 %}
{% checkbox red, 支持自定义颜色 %}
{% checkbox green checked, 绿色 + 默认选中 %}
{% checkbox yellow checked, 黄色 + 默认选中 %}
{% checkbox cyan checked, 青色 + 默认选中 %}
{% checkbox blue checked, 蓝色 + 默认选中 %}
{% checkbox plus green checked, 增加 %}
{% checkbox minus yellow checked, 减少 %}
{% checkbox times red checked, 叉 %}

单选列表 radio

1
{% radio 样式参数(可选), 文本(支持简单md) %}
  1. 颜色: red,yellow,green,cyan,blue,gray
  2. 选中状态: checked

纯文本测试

支持简单的 markdown 语法

支持自定义颜色

绿色

黄色

青色

蓝色

1
2
3
4
5
6
7
{% radio 纯文本测试 %}
{% radio checked, 支持简单的 [markdown](https://guides.github.com/features/mastering-markdown/) 语法 %}
{% radio red, 支持自定义颜色 %}
{% radio green, 绿色 %}
{% radio yellow, 黄色 %}
{% radio cyan, 青色 %}
{% radio blue, 蓝色 %}

时间轴 timeline

1
2
3
4
5
6
7
8
{% timeline 时间线标题(可选) %}
{% timenode 时间节点(标题) %}
正文内容
{% endtimenode %}
{% timenode 时间节点(标题) %}
正文内容
{% endtimenode %}
{% endtimeline %}

2020-07-24 2.6.6 -> 3.0

  1. 如果有 hexo-lazyload-image 插件,需要删除并重新安装最新版本,设置 lazyload.isSPA: true
  2. 2.x 版本的 css 和 js 不适用于 3.x 版本,如果使用了 use_cdn: true 则需要删除。
  3. 2.x 版本的 fancybox 标签在 3.x 版本中被重命名为 gallery 。
  4. 2.x 版本的置顶 top: true 改为了 pin: true,并且同样适用于 layout: page 的页面。
  5. 如果使用了 hexo-offline 插件,建议卸载,3.0 版本默认开启了 pjax 服务。

2020-05-15 2.6.3 -> 2.6.6

不需要额外处理。

2020-04-20 2.6.2 -> 2.6.3

  1. 全局搜索 seotitle 并替换为 seo_title
  2. group 组件的索引规则有变,使用 group 组件的文章内,group: group_name 对应的组件名必须是 group_name
  3. group 组件的列表名优先显示文章的 short_title 其次是 title
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
{% timeline %}

{% timenode 2020-07-24 [2.6.6 -> 3.0](https://github.com/volantis-x/hexo-theme-volantis/releases) %}

1. 如果有 `hexo-lazyload-image` 插件,需要删除并重新安装最新版本,设置 `lazyload.isSPA: true`
2. 2.x 版本的 css 和 js 不适用于 3.x 版本,如果使用了 `use_cdn: true` 则需要删除。
3. 2.x 版本的 fancybox 标签在 3.x 版本中被重命名为 gallery 。
4. 2.x 版本的置顶 `top: true` 改为了 `pin: true`,并且同样适用于 `layout: page` 的页面。
5. 如果使用了 `hexo-offline` 插件,建议卸载,3.0 版本默认开启了 pjax 服务。

{% endtimenode %}

{% timenode 2020-05-15 [2.6.3 -> 2.6.6](https://github.com/volantis-x/hexo-theme-volantis/releases/tag/2.6.6) %}

不需要额外处理。

{% endtimenode %}

{% timenode 2020-04-20 [2.6.2 -> 2.6.3](https://github.com/volantis-x/hexo-theme-volantis/releases/tag/2.6.3) %}

1. 全局搜索 `seotitle` 并替换为 `seo_title`
2. group 组件的索引规则有变,使用 group 组件的文章内,`group: group_name` 对应的组件名必须是 `group_name`
2. group 组件的列表名优先显示文章的 `short_title` 其次是 `title`

{% endtimenode %}

{% endtimeline %}

链接卡片 link

按钮 btns

Volantis的按钮使用的是btnbtns标签。btnsbutterflybutton不冲突,但是btn会被强制渲染,导致部分参数失效,而且btn的效果还是butterflybutton更好看些。所以就只适配了btns

1
2
3
4
{% btns 样式参数 %}
{% cell 标题, 链接, 图片或者图标 %}
{% cell 标题, 链接, 图片或者图标 %}
{% endbtns %}
  1. 圆角样式:rounded, circle
  2. 增加文字样式:可以在容器内增加 <b>标题</b> <p>描述文字</p>
  3. 布局方式:
    默认为自动宽度,适合视野内只有一两个的情况。
参数 含义
wide 宽一点的按钮
fill 填充布局,自动铺满至少一行,多了会换行
center 居中,按钮之间是固定间距
around 居中分散
grid2 等宽最多2列,屏幕变窄会适当减少列数
grid3 等宽最多3列,屏幕变窄会适当减少列数
grid4 等宽最多4列,屏幕变窄会适当减少列数
grid5 等宽最多5列,屏幕变窄会适当减少列数
  1. 如果需要显示类似「团队成员」之类的一组含有头像的链接:
  1. 或者含有图标的按钮:
  1. 圆形图标 + 标题 + 描述 + 图片 + 网格5列 + 居中
  1. 如果需要显示类似「团队成员」之类的一组含有头像的链接:
1
2
3
4
5
6
7
{% btns circle grid5 %}
{% cell xaoxuu, https://xaoxuu.com, https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/avatar/avatar.png %}
{% cell xaoxuu, https://xaoxuu.com, https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/avatar/avatar.png %}
{% cell xaoxuu, https://xaoxuu.com, https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/avatar/avatar.png %}
{% cell xaoxuu, https://xaoxuu.com, https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/avatar/avatar.png %}
{% cell xaoxuu, https://xaoxuu.com, https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/avatar/avatar.png %}
{% endbtns %}
  1. 或者含有图标的按钮:
1
2
3
4
{% btns rounded grid5 %}
{% cell 下载源码, /, fas fa-download %}
{% cell 查看文档, /, fas fa-book-open %}
{% endbtns %}
  1. 圆形图标 + 标题 + 描述 + 图片 + 网格5列 + 居中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{% btns circle center grid5 %}
<a href='https://apps.apple.com/cn/app/heart-mate-pro-hrm-utility/id1463348922?ls=1'>
<i class='fab fa-apple'></i>
<b>心率管家</b>
{% p red, 专业版 %}
<img src='https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/qrcode/heartmate_pro.png'>
</a>
<a href='https://apps.apple.com/cn/app/heart-mate-lite-hrm-utility/id1475747930?ls=1'>
<i class='fab fa-apple'></i>
<b>心率管家</b>
{% p green, 免费版 %}
<img src='https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/qrcode/heartmate_lite.png'>
</a>
{% endbtns %}

github卡片 ghcard

ghcard使用了github-readme-stats的API,支持直接使用markdown语法来写。

1
2
{% ghcard 用户名, 其它参数(可选) %}
{% ghcard 用户名/仓库, 其它参数(可选) %}

更多参数可以参考:

使用,分割各个参数。写法为:参数名=参数值
以下只写几个常用参数值。

参数名 取值 释义
hide stars,commits,prs,issues,contribs 隐藏指定统计
count_private true 将私人项目贡献添加到总提交计数中
show_icons true 显示图标
theme 请查阅Available Themes 主题
  1. 用户信息卡片
  1. 仓库信息卡片
  1. 用户信息卡片
1
2
3
4
5
| {% ghcard xaoxuu %} | {% ghcard xaoxuu, theme=vue %} |
| -- | -- |
| {% ghcard xaoxuu, theme=buefy %} | {% ghcard xaoxuu, theme=solarized-light %} |
| {% ghcard xaoxuu, theme=onedark %} | {% ghcard xaoxuu, theme=solarized-dark %} |
| {% ghcard xaoxuu, theme=algolia %} | {% ghcard xaoxuu, theme=calm %} |
  1. 仓库信息卡片
1
2
3
4
5
| {% ghcard volantis-x/hexo-theme-volantis %} | {% ghcard volantis-x/hexo-theme-volantis, theme=vue %} |
| -- | -- |
| {% ghcard volantis-x/hexo-theme-volantis, theme=buefy %} | {% ghcard volantis-x/hexo-theme-volantis, theme=solarized-light %} |
| {% ghcard volantis-x/hexo-theme-volantis, theme=onedark %} | {% ghcard volantis-x/hexo-theme-volantis, theme=solarized-dark %} |
| {% ghcard volantis-x/hexo-theme-volantis, theme=algolia %} | {% ghcard volantis-x/hexo-theme-volantis, theme=calm %} |

github徽标 ghbdage

关于ghbdage参数的更多具体用法可以参看站内教程:添加github徽标

1
{% bdage [right],[left],[logo]||[color],[link],[title]||[option] %}
  1. left:徽标左边的信息,必选参数。
  2. right: 徽标右边的信息,必选参数,
  3. logo:徽标图标,图标名称详见simpleicons,可选参数。
  4. color:徽标右边的颜色,可选参数。
  5. link:指向的链接,可选参数。
  6. title:徽标的额外信息,可选参数。主要用于优化SEO,但object标签不会像a标签一样在鼠标悬停显示title信息。
  7. option:自定义参数,支持shields.io的全部API参数支持,具体参数可以参看上文中的拓展写法示例。形式为name1=value2&name2=value2

本外挂标签的参数分为三组,用||分割。

1. 基本参数
2. 信息参数
3. 拓展参数

本外挂标签的参数分为三组,用||分割。

1. 基本参数,定义徽标左右文字和图标
1
2
{% bdage Theme,Butterfly %}
{% bdage Frame,Hexo,hexo %}
2. 信息参数,定义徽标右侧内容背景色,指向链接
1
2
3
{% bdage CDN,JsDelivr,jsDelivr||abcdef,https://metroui.org.ua/index.html,本站使用JsDelivr为静态资源提供CDN加速 %}
//如果是跨顺序省略可选参数,仍然需要写个逗号,用作分割
{% bdage Source,GitHub,GitHub||,https://github.com/ %}
3. 拓展参数,支持shields的API的全部参数内容
1
2
3
{% bdage Hosted,Vercel,Vercel||brightgreen,https://vercel.com/,本站采用双线部署,默认线路托管于Vercel||style=social&logoWidth=20 %}
//如果是跨顺序省略可选参数组,仍然需要写双竖线||用作分割
{% bdage Hosted,Vercel,Vercel||||style=social&logoWidth=20&logoColor=violet %}

网站卡片 sites

1
2
3
4
{% sitegroup %}
{% site 标题, url=链接, screenshot=截图链接, avatar=头像链接(可选), description=描述(可选) %}
{% site 标题, url=链接, screenshot=截图链接, avatar=头像链接(可选), description=描述(可选) %}
{% endsitegroup %}
1
2
3
4
5
6
7
{% sitegroup %}
{% site xaoxuu, url=https://xaoxuu.com, screenshot=https://i.loli.net/2020/08/21/VuSwWZ1xAeUHEBC.jpg, avatar=https://cdn.jsdelivr.net/gh/xaoxuu/cdn-assets/avatar/avatar.png, description=简约风格 %}
{% site inkss, url=https://inkss.cn, screenshot=https://i.loli.net/2020/08/21/Vzbu3i8fXs6Nh5Y.jpg, avatar=https://cdn.jsdelivr.net/gh/inkss/common@master/static/web/avatar.jpg, description=这是一段关于这个网站的描述文字 %}
{% site MHuiG, url=https://blog.mhuig.top, screenshot=https://i.loli.net/2020/08/22/d24zpPlhLYWX6D1.png, avatar=https://cdn.jsdelivr.net/gh/MHuiG/imgbed@master/data/p.png, description=这是一段关于这个网站的描述文字 %}
{% site Colsrch, url=https://colsrch.top, screenshot=https://i.loli.net/2020/08/22/dFRWXm52OVu8qfK.png, avatar=https://cdn.jsdelivr.net/gh/Colsrch/images/Colsrch/avatar.jpg, description=这是一段关于这个网站的描述文字 %}
{% site Linhk1606, url=https://linhk1606.github.io, screenshot=https://i.loli.net/2020/08/21/3PmGLCKicnfow1x.png, avatar=https://i.loli.net/2020/02/09/PN7I5RJfFtA93r2.png, description=这是一段关于这个网站的描述文字 %}
{% endsitegroup %}

行内图片 inlineimage

1
{% inlineimage 图片链接, height=高度(可选) %}
  1. 高度:height=20px

这是 一段话。

这又是 一段话。

1
2
3
这是 {% inlineimage https://cdn.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/0000.gif %} 一段话。

这又是 {% inlineimage https://cdn.jsdelivr.net/gh/volantis-x/cdn-emoji/aru-l/5150.gif, height=40px %} 一段话。

Markdown图片并排显示

这个语法写法转自:markdown 图片并排显示

  • 要一张图片接着一张图片的写,中间不能有换行。如果换行的话则图片也换行
    正确的写法:
1
![描述](图片链接)![描述](图片链接)![描述](图片链接)

居中并排:

  • 正确写法:注意两个<img>之间不要换行,如果图片太大的的话可以设置图片的宽度或者高度,这样图片就会缩放。注意不要同时设置宽度和高度,这样的话不好把握宽度和高度的比例,可能会是图像变形。
1
2
3
<center class="half">
<img src="图片链接" width="200"/><img src="图片链接" width="200"/><img src="图片链接" width="200"/>
</center>
  • 实例:
1
2
3
<center class="half">
<img src="https://cdn.jsdelivr.net/gh/YDTRINLEY/AssetsRepo@master/assets-img/image.ybjitmslu34.png" width="200"/><img src="https://cdn.jsdelivr.net/gh/YDTRINLEY/AssetsRepo@master/assets-img/image.ybjitmslu34.png" width="200"/><img src="https://cdn.jsdelivr.net/gh/YDTRINLEY/AssetsRepo@master/assets-img/image.ybjitmslu34.png" width="200"/>
</center>
  • 显示结果:

左对齐并排:

  • 还是注意所有的 <img> 标签写在一行中不要换行。
1
2
3
<figure class="third">
<img src="https://cdn.jsdelivr.net/gh/YDTRINLEY/AssetsRepo@master/assets-img/image.ybjitmslu34.png" width="200"/><img src="https://cdn.jsdelivr.net/gh/YDTRINLEY/AssetsRepo@master/assets-img/image.ybjitmslu34.png" width="200"/><img src="https://cdn.jsdelivr.net/gh/YDTRINLEY/AssetsRepo@master/assets-img/image.ybjitmslu34.png" width="200"/>
</figure>
  • 显示效果:

单张图片 image

1
{% image 链接, width=宽度(可选), height=高度(可选), alt=描述(可选), bg=占位颜色(可选) %}
  1. 图片宽度高度:width=300px, height=32px
  2. 图片描述:alt=图片描述(butterfly需要在主题配置文件中开启图片描述)
  3. 占位背景色:bg=#f2f2f2
  1. 添加描述:
每天下课回宿舍的路,没有什么故事。
每天下课回宿舍的路,没有什么故事。
  1. 指定宽度:
  1. 指定宽度并添加描述:
每天下课回宿舍的路,没有什么故事。
每天下课回宿舍的路,没有什么故事。
  1. 设置占位背景色:
优化不同宽度浏览的观感
优化不同宽度浏览的观感
  1. 添加描述:
1
{% image https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper-minimalist/2020/025.jpg, alt=每天下课回宿舍的路,没有什么故事。 %}
  1. 指定宽度:
1
{% image https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper-minimalist/2020/025.jpg, width=400px %}
  1. 指定宽度并添加描述:
1
{% image https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper-minimalist/2020/025.jpg, width=400px, alt=每天下课回宿舍的路,没有什么故事。 %}
  1. 设置占位背景色:
1
{% image https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper-minimalist/2020/025.jpg, width=400px, bg=#1D0C04, alt=优化不同宽度浏览的观感 %}

音频 audio

1
{% audio 音频链接 %}
1
{% audio https://github.com/volantis-x/volantis-docs/releases/download/assets/Lumia1020.mp3 %}

视频 video

1
{% video 视频链接 %}
  1. 对其方向:left, center, right
  2. 列数:逗号后面直接写列数,支持 1 ~ 4 列。
  1. 100%宽度
  1. 50%宽度
  1. 25%宽度
  1. 100%宽度
1
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
  1. 50%宽度
1
2
3
4
5
6
{% videos, 2 %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% endvideos %}
  1. 25%宽度
1
2
3
4
5
6
7
8
9
10
{% videos, 4 %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% video https://github.com/volantis-x/volantis-docs/releases/download/assets/IMG_0341.mov %}
{% endvideos %}

相册 gallery

Butterfly自带gallery相册,而且会根据图片大小自动调整排版,效果比Volantisgallery更好,故不再收录Volantisgallery标签。

以下为Butterfly自带的gallery标签写法。相册图库和相册配合使用。

折叠框 folding

Butterfly虽然也有内置折叠框hideToggle标签,但是Volantisfolding折叠框更好看一些。

1
2
3
{% folding 参数(可选), 标题 %}
![](https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper/abstract/41F215B9-261F-48B4-80B5-4E86E165259E.jpeg)
{% endfolding %}
  1. 颜色:blue, cyan, green, yellow, red
  2. 状态:状态填写 open 代表默认打开。
查看图片测试

查看默认打开的折叠框

这是一个默认打开的折叠框。

查看代码测试
1
![](https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper/abstract/41F215B9-261F-48B4-80B5-4E86E165259E.jpeg)
查看列表测试
  • haha
  • hehe
查看嵌套测试
查看嵌套测试2
查看嵌套测试3

hahaha

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
{% folding 查看图片测试 %}

![](https://cdn.jsdelivr.net/gh/volantis-x/cdn-wallpaper/abstract/41F215B9-261F-48B4-80B5-4E86E165259E.jpeg)

{% endfolding %}

{% folding cyan open, 查看默认打开的折叠框 %}

这是一个默认打开的折叠框。

{% endfolding %}

{% folding green, 查看代码测试 %}
假装这里有代码块(代码块没法嵌套代码块)
{% endfolding %}

{% folding yellow, 查看列表测试 %}

- haha
- hehe

{% endfolding %}

{% folding red, 查看嵌套测试 %}

{% folding blue, 查看嵌套测试2 %}

{% folding 查看嵌套测试3 %}

hahaha <span><img src='https://cdn.jsdelivr.net/gh/volantis-x/cdn-emoji/tieba/%E6%BB%91%E7%A8%BD.png' style='height:24px'></span>

{% endfolding %}

{% endfolding %}

{% endfolding %}

分栏 tab

Butterflytab标签和Volantistab标签都是移值自NexT主题,所以写法和效果一模一样。

1
2
3
4
5
6
7
{% tabs Unique name, [index] %}
<!-- tab [Tab caption] [@icon] -->
Any content (support inline tags too).
<!-- endtab -->
{% endtabs %}


  1. Unique name :
    • 选项卡块标签的唯一名称,不带逗号。
    • 将在#id中用作每个标签及其索引号的前缀。
    • 如果名称中包含空格,则对于生成#id,所有空格将由破折号代替。
    • 仅当前帖子/页面的URL必须是唯一的!
  2. [index]:
    • 活动选项卡的索引号。
    • 如果未指定,将选择第一个标签(1)。
    • 如果index为-1,则不会选择任何选项卡。
    • 可选参数。
  3. [Tab caption]:
    • 当前选项卡的标题。
    • 如果未指定标题,则带有制表符索引后缀的唯一名称将用作制表符的标题。
    • 如果未指定标题,但指定了图标,则标题将为空。
    • 可选参数。
  4. [@icon]:
    • FontAwesome图标名称(全名,看起来像“ fas fa-font”)
    • 可以指定带空格或不带空格;
    • 例如’Tab caption @icon’ 和 ‘Tab caption@icon’.
    • 可选参数。

Demo 1 - 预设选择第一个【默认】

This is Tab 1.

This is Tab 2.

This is Tab 3.

Demo 2 - 预设选择tabs

This is Tab 1.

This is Tab 2.

This is Tab 3.

Demo 3 - 没有预设值

This is Tab 1.

This is Tab 2.

This is Tab 3.

Demo 4 - 自定义Tab名 + 只有icon + icon和Tab名

tab名字为第一个Tab

只有图标 没有Tab名字

名字+icon

Demo 1 - 预设选择第一个【默认】

1
2
3
4
5
6
7
8
9
10
11
12
13
{% tabs test1 %}
<!-- tab -->
**This is Tab 1.**
<!-- endtab -->

<!-- tab -->
**This is Tab 2.**
<!-- endtab -->

<!-- tab -->
**This is Tab 3.**
<!-- endtab -->
{% endtabs %}

Demo 2 - 预设选择tabs

1
2
3
4
5
6
7
8
9
10
11
12
13
{% tabs test2, 3 %}
<!-- tab -->
**This is Tab 1.**
<!-- endtab -->

<!-- tab -->
**This is Tab 2.**
<!-- endtab -->

<!-- tab -->
**This is Tab 3.**
<!-- endtab -->
{% endtabs %}

Demo 3 - 没有预设值

1
2
3
4
5
6
7
8
9
10
11
12
13
{% tabs test3, -1 %}
<!-- tab -->
**This is Tab 1.**
<!-- endtab -->

<!-- tab -->
**This is Tab 2.**
<!-- endtab -->

<!-- tab -->
**This is Tab 3.**
<!-- endtab -->
{% endtabs %}

Demo 4 - 自定义Tab名 + 只有icon + icon和Tab名

1
2
3
4
5
6
7
8
9
10
11
12
13
{% tabs test4 %}
<!-- tab 第一个Tab -->
**tab名字为第一个Tab**
<!-- endtab -->

<!-- tab @fab fa-apple-pay -->
**只有图标 没有Tab名字**
<!-- endtab -->

<!-- tab 炸弹@fas fa-bomb -->
**名字+icon**
<!-- endtab -->
{% endtabs %}

数据集合 issues

1
{% issues type | api=url | group=key:value1,value2(可选) %}


根据需求不同,会将 issues 内容解析成不同的 HTML 标签,目前支持的类型有:

  1. 时间轴timeline: 解析成timeline标签,issue的标题对应timeline的时间,issue的内容对应timeline的内容。
  2. 网站卡片sites: 解析成sites标签,需要有JSON代码块,各参数对应sites标签参数:
1
2
3
4
5
6
7
8
{
"title": "",
"screenshot": "",
"url": "",
"avatar": "",
"description": "",
"「keywords」": ""
}
参数 释义
title 网站名称
screenshot 网站预览图
url 网站链接,需要添加
https://协议组成完整域名。
否则可能被识别成站点相对路径。
avatar 站长头像
「keywords」 分组依据,
未必要叫「keywords」,
详见下文group(分组)


url为可以调的通的API,例如:

1
2
api=https://gitee.com/api/v5/repos/xaoxuu/friends/issues?sort=updated&state=open&page=1&per_page=100&labels=active
api=https://api.github.com/repos/xaoxuu/friends/issues?sort=updated&state=open&page=1&per_page=100&labels=active
参数 释义
https://gitee.com/api/v5/ gitee仓库的api
https://api.github.com/ github仓库的api
repos/xaoxuu/friends/issues repos/用户名/仓库名/issues
sort=updated&state=open 界定哪些类型的issues
被读取过来渲染成相应的标签
page=1&per_page=100 读取前100条issues
labels=active 控制默认的issue不显示,
只有自己审核通过
添加了active标签之后才会显示


sites类型的issues默认不分组,如果需要分组,可指定分组依据「keywords」,和分组白名单「value1」「value2」等,例如:

1
2
group=version:v4,v3,v2
# 此处的version就是上文中的「keywords」

这个参数的作用就是,筛选出JSON中包含"version": "v4"或者"version":"v3"或者"version": "v2"的数据,并分组显示。

Github仓库配置方案
  1. 新建一个仓库,仓库名随意,这里我命名为friend_link,
    新建文件friend_link\.github\ISSUE_TEMPLATE.md,
    并在其中输入以下内容作为issues模板。

其中的json代码块前面的反斜杠记得删去。此处这么写主要是为了转义,否则无法嵌套代码块。

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
---
name: 友链模板
about: 请根据指示规范填写友链格式。
---

<!-- 请在下方代码块的双引号中填写 -->
\```json
{
"title": "",
"screenshot": "",
"url": "",
"avatar": "",
"description": "",
"keywords": ""
}
\```

<!--
"title": "站点名称",
"screenshot": "站点预览图链接",
"url": "站点链接",
"avatar": "头像链接",
"description": "站点描述",
"keywords": "关键词,作为分组名"
-->

<!-- 示例 -->

<!--
"title": "Akilarの糖果屋",
"screenshot": "https://cdn.jsdelivr.net/gh/Akilarlxh/ScreenShot@gh-pages/akilar.top.jpg",
"url": "https://akilar.top/",
"avatar": "https://akilar.top/img/siteicon/favicon.png",
"description": "期待您的光临!",
"keywords": "糖果屋"
-->

  1. 新建active label

新建label用于控制审核结果

配置名称描述颜色

  1. 提交示例

填写规范
审核通过

  1. 从审核通过到页面读取有一段api的缓存期,稍微有点耐心。
Gitee仓库配置方案
  1. 新建一个仓库,仓库名随意,这里我命名为friend_link,
    新建文件friend_link\.gitee\ISSUE_TEMPLATE.md,
    并在其中输入以下内容作为issues模板。

其中的json代码块前面的反斜杠记得删去。此处这么写主要是为了转义,否则无法嵌套代码块。

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
---
name: 友链模板
about: 请根据指示规范填写友链格式。
---

<!-- 请在下方代码块的双引号中填写 -->
\```json
{
"title": "",
"screenshot": "",
"url": "",
"avatar": "",
"description": "",
"keywords": ""
}
\```

<!--
"title": "站点名称",
"screenshot": "站点预览图链接",
"url": "站点链接",
"avatar": "头像链接",
"description": "站点描述",
"keywords": "关键词,作为分组名"
-->

<!-- 示例 -->

<!--
"title": "Akilarの糖果屋",
"screenshot": "https://cdn.jsdelivr.net/gh/Akilarlxh/ScreenShot@gh-pages/akilar.top.jpg",
"url": "https://akilar.top/",
"avatar": "https://akilar.top/img/siteicon/favicon.png",
"description": "期待您的光临!",
"keywords": "糖果屋"
-->

  1. 新建active标签

新建标签用于控制审核结果

  1. 提交示例

填写规范
审核通过

  1. 从审核通过到页面读取有一段api的缓存期,稍微有点耐心。
  1. 时间轴标签timeline渲染
    对应的仓库issues链接:
  1. 网站卡片标签sites渲染
  1. 网站卡片标签sites分组渲染
    这是Volantis主题官网的「示例博客」页面的数据:
    对应的仓库issues链接:

渲染后的标签:

  1. 时间轴标签timeline渲染
1
{% issues timeline | api=https://gitee.com/api/v5/repos/xaoxuu/timeline/issues?state=open&creator=xaoxuu&sort=created&direction=desc&page=1&per_page=100 %}
  1. 网站卡片标签sites渲染
  • gitee仓库示例

    1
    {% issues sites | api=https://gitee.com/api/v5/repos/xaoxuu/friends/issues?sort=updated&state=open&page=1&per_page=100&labels=active %}
  • github仓库示例

    1
    {% issues sites | api=https://api.github.com/repos/xaoxuu/friends/issues?sort=updated&state=open&page=1&per_page=100&labels=active %}
  1. 网站卡片标签sites分组渲染
    这是Volantis主题官网的「示例博客」页面的数据:
1
{% issues sites | api=https://api.github.com/repos/volantis-x/examples/issues?sort=updated&state=open&page=1&per_page=100 | group=version:版本:^4.0,版本:^3.0,版本:^2.0 %}

诗词标签 poem

1
2
3
{% poem [title],[author] %}
诗词内容
{% endpoem %}
  1. title:诗词标题
  2. author:作者,可以不写
水调歌头
苏轼

明月几时有?把酒问青天。
不知天上宫阙,今夕是何年?
我欲乘风归去,又恐琼楼玉宇,高处不胜寒。
起舞弄清影,何似在人间?
转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。

1
2
3
4
5
6
7
8
9
10
11
12
{% poem 水调歌头,苏轼 %}
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。
明月几时有?把酒问青天。
不知天上宫阙,今夕是何年?
我欲乘风归去,又恐琼楼玉宇,高处不胜寒。
起舞弄清影,何似在人间?

转朱阁,低绮户,照无眠。
不应有恨,何事长向别时圆?
人有悲欢离合,月有阴晴圆缺,此事古难全。
但愿人长久,千里共婵娟。
{% endpoem %}

阿里图标 icon

本标签的图标需要自己额外引入阿里矢量图标库的样式,具体引入方案请移步:Hexo引入阿里矢量图标库

1
{% icon [icon-xxxx],[font-size] %}
  1. icon-xxxx:表示图标font-class,可以在自己的阿里矢量图标库项目的font-class引用方案内查询并复制。
  2. font-size:表示图标大小,直接填写数字即可,单位为em。图标大小默认值为1em
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{% icon icon-rat_zi %}{% icon icon-rat,2 %}

{% icon icon-ox_chou,3 %}{% icon icon-ox,4 %}

{% icon icon-tiger_yin,5 %}{% icon icon-tiger,6 %}

{% icon icon-rabbit_mao,1 %}{% icon icon-rabbit,2 %}

{% icon icon-dragon_chen,3 %}{% icon icon-dragon,4 %}

{% icon icon-snake_si,5 %}{% icon icon-snake,6 %}

{% icon icon-horse_wu %}{% icon icon-horse,2 %}

{% icon icon-goat_wei,3 %}{% icon icon-goat,4 %}

{% icon icon-monkey_shen,5 %}{% icon icon-monkey,6 %}

{% icon icon-rooster_you %}{% icon icon-rooster,2 %}

{% icon icon-dog_xu,3 %}{% icon icon-dog,4 %}

{% icon icon-boar_hai,5 %}{% icon icon-boar,6 %}

特效标签wow

特效标签的静态资源未添加在本帖的配置内容中(因为多为cdn配置),请移步站内教程完成相关配置:

1
{% wow [animete],[duration],[delay],[offset],[iteration] %}
  1. animate: 动画样式,效果详见animate.css参考文档
  2. duration: 选填项,动画持续时间,单位可以是ms也可以是s。例如3s700ms
  3. delay: 选填项,动画开始的延迟时间,单位可以是ms也可以是s。例如3s700ms
  4. offset: 选填项,开始动画的距离(相对浏览器底部)
  5. iteration: 选填项,动画重复的次数

注意,后面四个虽然是选填项,但是当有跨位选填时,次序不能乱。详见示例。
支持嵌套其他外挂标签。

  1. flip动画效果。

flip动画效果。

2. `zoomIn`动画效果,持续`5s`,延时`5s`,离底部`100`距离时启动,重复`10`次。

zoomIn动画效果,持续5s,延时5s,离底部100距离时启动,重复10

3. `slideInRight`动画效果,持续`5s`,延时`5s`。

slideInRight动画效果,持续5s,延时5s

4. `heartBeat`动画效果,延时`5s`,重复`10`次。

heartBeat动画效果,延时5s,重复10次。

  1. flip动画效果。
1
2
3
4
5
{% wow animate__flip %}
{% note green 'fas fa-fan' modern%}
`flip`动画效果。
{% endnote %}
{% endwow %}
  1. zoomIn动画效果,持续5s,延时5s,离底部100距离时启动,重复10次。
1
2
3
4
5
{% wow animate__zoomIn,5s,5s,100,10 %}
{% note blue 'fas fa-bullhorn' modern%}
`zoomIn`动画效果,持续`5s`,延时`5s`,离底部`100`距离时启动,重复`10`次
{% endnote %}
{% endwow %}
  1. slideInRight动画效果,持续5s,延时5s
1
2
3
4
5
{% wow animate__slideInRight,5s,5s %}
{% note orange 'fas fa-car' modern%}
`slideInRight`动画效果,持续`5s`,延时`5s`。
{% endnote %}
{% endwow %}
  1. heartBeat动画效果,延时5s,重复10次。此处注意不用的参数位置要留空,用逗号间隔。
1
2
3
4
5
{% wow animate__heartBeat,,5s,,10 %}
{% note red 'fas fa-battery-half' modern%}
`heartBeat`动画效果,延时`5s`,重复`10`次。
{% endnote %}
{% endwow %}

进度条 progress

进度条标签参考沂佰孜猫-给HEXO文章添加彩色进度条
源样式提取自Cuteen主题。

1
{% progress [width] [color] [text] %}

width: 0到100的阿拉伯数字
color: 颜色,取值有red,yellow,green,cyan,blue,gray
text:进度条上的文字内容

进度条样式预览

进度条样式预览

进度条样式预览

进度条样式预览

进度条样式预览

进度条样式预览

1
2
3
4
5
6
{% progress 10 red 进度条样式预览 %}
{% progress 30 yellow 进度条样式预览 %}
{% progress 50 green 进度条样式预览 %}
{% progress 70 cyan 进度条样式预览 %}
{% progress 90 blue 进度条样式预览 %}
{% progress 100 gray 进度条样式预览 %}

此分割线以下转载自《Butterfly 安裝文檔(三) 主題配置-1tag-plugins

tag-hide 隐藏内容

2.2.0以上提供
请注意,tag-hide内的标签外挂content内都不建议有h1 - h6 等标题。因为Toc会把隐藏内容标题也显示出来,而且当滚动屏幕时,如果隐藏内容没有显示出来,会导致Toc的滚动出现异常。

如果你想把一些文字、内容隐藏起来,并提供按钮让用户点击显示。可以使用这个标籤外挂。

inline 在文本里面添加按钮隐藏内容,只限文字
( content不能包含英文逗号,可用&sbquo;)

1
{% hideInline content,display,bg,color %}
  • content: 文本内容
  • display: 按钮显示的文字(可选)
  • bg: 按钮的背景颜色(可选)
  • color: 按钮文字的颜色(可选)

default Demo

1
2
3
哪个英文字母最酷? {% hideInline 因为西装裤(C装酷),查看答案,#FF7242,#fff %}

门里站着一个人? {% hideInline 闪 %}

block独立的block隐藏内容,可以隐藏很多内容,包括图片,代码块等等
( display 不能包含英文逗号,可用&sbquo;)

1
2
3
{% hideBlock display,bg,color %}
content
{% endhideBlock %}
  • content: 文本内容
  • display: 按钮显示的文字(可选)
  • bg: 按钮的背景颜色(可选)
  • color: 按钮文字的颜色(可选)

default Demo

1
2
3
4
查看答案
{% hideBlock 查看答案 %}
傻子,怎么可能有答案
{% endhideBlock %}
查看答案

傻子,怎么可能有答案

2.3.0以上支持

如果你需要展示的内容太多,可以把它隐藏在收缩框里,需要时再把它展开。

( display 不能包含英文逗号,可用&sbquo;)

1
2
3
{% hideToggle display,bg,color %}
content
{% endhideToggle %}

Demo

1
2
3
4
5
6
7
8
9
10
{% hideToggle 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

{% endhideToggle %}

lable 高亮所需的文字

3.7.5 及以上版本适用

高亮所需的文字

1
{% label text color %}
参数 解释
text 文字
color 【可选】背景颜色,默认为 default
default/blue/pink/red/purple/orange/green

Demo

1
2
3
臣亮言:{% label 先帝 %}创业未半,而{% label 中道崩殂 blue %}。今天下三分,{% label 益州疲敝 pink %},此诚{% label 危急存亡之秋 red %}也!然侍衞之臣,不懈于内;{% label 忠志之士 purple %},忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气;不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中、府中,俱为一体;陟罚臧否,不宜异同。若有{% label 作奸 orange %}、{% label 犯科 green %},及为忠善者,宜付有司,论其刑赏,以昭陛下平明之治;不宜偏私,使内外异法也。

臣亮言:先帝 创业未半,而中道崩殂 。今天下三分,益州疲敝 ,此诚危急存亡之秋 也!然侍衞之臣,不懈于内;忠志之士 ,忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气;不宜妄自菲薄,引喻失义,以塞忠谏之路也。
宫中、府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科 ,及为忠善者,宜付有司,论其刑赏,以昭陛下平明之治;不宜偏私,使内外异法也。


以下转自CC的部落格

mermaid

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
{% mermaid %}
pie
title Key elements in Product X
"Calcium" : 42.96
"Potassium" : 50.05
"Magnesium" : 10.01
"Iron" : 5
{% endmermaid %}

{% mermaid %}
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
{% endmermaid %}

{% mermaid %}
gantt
title A Gantt Diagram
dateFormat YYYY-MM-DD
section Section
A task :a1, 2014-01-01, 30d
Another task :after a1 , 20d
section Another
Task in sec :2014-01-12 , 12d
another task : 24d
{% endmermaid %}

动态图表 chartjs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{% chart 90% 300 %}
{
type: 'line',
data: {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [{
label: 'My First dataset',
backgroundColor: 'rgb(255, 99, 132)',
borderColor: 'rgb(255, 99, 132)',
data: [0, 10, 5, 2, 20, 30, 45]
}]
},
options: {
responsive: true,
title: {
display: true,
text: 'Chart.js Line Chart'
}
}
}
{% endchart %}

关于预览,更多详细内容,请分别前往 插件文档 | 原文档 查看

媒体 mmedia

简介

hexo-tag-mmedia 是一个能在 Hexo 中快速插入媒体标签的插件,目前支持的标签和平台有(持续开发中):

DEMO

http://demo.hexo-tag-mmedia.u2sb.com/

使用

hexo-tag-mmedia 插件和其他 hexo 插件使用方法类似,诸如 如何启用一个插件 之类的共性问题就不再赘述了,只说 hexo-tag-mmedia 相关的。

安装

1
npm install hexo-tag-mmedia@1 --save
1
pnpm install hexo-tag-mmedia@1 --save
1
yarn add hexo-tag-mmedia@1 --save

配置

如需修改配置,请务必不要保留空选项,空选项会覆盖默认配置,严重可能直接导致插件无法使用。

单项使用的文档中会详细讲解对应的使用文档,请自行阅读后再做配置。

下面只是示例,请勿全盘复制,请看清后面的讲解后组织自己的配置文件。

持续更新中,详情见详细文档和 源码

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
mmedia:
audio:
default:
video:
default:
aplayer:
js: https://cdn.jsdelivr.net/npm/aplayer@1/dist/APlayer.min.js
css: https://cdn.jsdelivr.net/npm/aplayer@1/dist/APlayer.min.css
default:
contents:
meting:
js: https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js
api:
default:
dplayer:
js: https://cdn.jsdelivr.net/npm/dplayer@1/dist/DPlayer.min.js
hls_js: https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js
dash_js: https://cdn.jsdelivr.net/npm/dashjs/dist/dash.all.min.js
shaka_dash_js: https://cdn.jsdelivr.net/npm/shaka-player/dist/shaka-player.compiled.js
flv_js: https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js
webtorrent_js: https://cdn.jsdelivr.net/npm/webtorrent/webtorrent.min.js
default:
contents:
bilibili:
default:
page: 1
danmaku: true
allowfullscreen: allowfullscreen
sandbox: allow-top-navigation allow-same-origin allow-forms allow-scripts allow-popups
width: 100%
max_width: 850px
margin: auto
xigua:
default:
autoplay: false
startTime: 0
allowfullscreen: allowfullscreen
sandbox: allow-top-navigation allow-same-origin allow-forms allow-scripts allow-popups
width: 100%
max_width: 850px
margin: auto

解释

  • 配置项较多目的是给予最大的自定义权限,默认情况下不做配置也可以使用。
  • 配置文件放在博客根目录的 _config.yml
  • default 为默认配置,在 _config.yml 中填写就不需要在每个标签全部写入了,所有允许在 mmedia 标签上写入的配置项,均可在 default 下配置。
  • default 下 contents 项,用于设置 JSON 类型的默认配置,注意要使用 yaml 格式写默认配置,以下是几个示例。

示例

如无法读懂下面的示例,请阅读后面的文档后再回来看。

修改 Aplayer 的 js 文件:

1
2
3
4
mmedia:
aplayer:
js: https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js
css: https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css

将 Aplayer 的 JS 和 CSS 放入博客目录:

首先请下载 APlayer.min.jsAPlayer.min.js 文件,放入博客下 source/assets/js/source/assets/css/ 下(路径只是示例)

1
2
3
4
mmedia:
aplayer:
js: /assets/js/APlayer.min.js
css: /assets/css/APlayer.min.css

Meting 修改循环方式为随机循环:

1
2
3
4
5
mmedia:
meting:
default:
loop: all
order: random

Dplayer 修改弹幕 API:

1
2
3
4
5
6
mmedia:
dplayer:
default:
contents:
danmaku:
api: https://api.prprpr.me/dplayer/v3/

使用

下面只是快速示例,请阅读后面的文档后再回来看。示例只是为了展示配置方式瞎写的,一些配置不一定正确,不要照抄。

1
{% mmedia "audio" "src:a.mp3" %}
1
{% mmedia "aplayer" "name:songName" "url:a.mp3" %}
1
{% mmedia "meting" "auto=https://y.qq.com/n/yqq/song/001RGrEX3ija5X.html" %}
1
{% mmedia "bilibili" "bvid:BV1hb4y1R7xf" %}
1
{% mmedia "xigua" "xid=6925997698269053453" %}
1
2
3
4
5
6
7
8
9
10
11
12
{% mmedias "dplayer" "flv:" "url:https://dandoc.u2sb.com/video/%E5%AE%89%E8%A3%85/1-%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%89%E8%A3%85.mp4" %}
{
"contextmenu":
[
{
text: "custom1",
link: "https://github.com/DIYgod/DPlayer"
}
]
}
{% endmmedias %}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{% mmedias "aplayer" "autoplay:false" %}
{
"volume": 0.8,
"audio":
[
{
"name": "name1",
"artist": "artist1",
"url": "url1.mp3",
"cover": "cover1.jpg",
"lrc": "lrc1.lrc",
"theme": "#ebd0c2"
},
{
"name": "name2",
"artist": "artist2",
"url": "url2.mp3",
"cover": "cover2.jpg",
"lrc": "lrc2.lrc",
"theme": "#46718b"
}
]
}
{% endmmedias %}

markdown 内可以使用两种标签作为插件,分别是 mmediammedias,使用方式为:

1
{% mmedia %}
1
2
{% mmedias %}
{% endmmedias %}

只使用 args 作为传参方式时,两种标签均可使用,当需要使用 contents 传参时,只能使用 mmedias

后面第一个参数用于标记标签,可选(以详细文档为主,持续更新中):

audio video meting aplayer dplayer bilibili xigua

再后面的参数将直接作为 args 参数直接传入插件。

参数

传入标签的参数可以写入到三个位置,分别为:_config.ymlargscontents,其中只有部分插件可使用 contents 配置,具体看详细文档,如有冲突项,覆盖规则为(后面的会被前面发覆盖):

contents -> args -> _config.yml -> 插件默认

写入到 args 上的参数,有两种写法,分别是使用 := 分割,两种写法是等效的,在遇到第一个 := 时会自动分割,例如:

1
2
3
{% mmedia "bilibili" "bvid:BV1hb4y1R7xf" %}

{% mmedia "bilibili" "bvid=BV1hb4y1R7xf" %}

两种写法是等效的。

如果遇到布尔类型的参数,可以简写

1
{% mmedia "audio" "src:a.mp3" "autoplay:" %}
1
{% mmedia "audio" "src:a.mp3" "autoplay:true" %}

两种写法等效,但需要注意,:= 一定不能省略。

JSON 传参

支持 JSON 方式传参,其中 JSON 为 JSON5 规范。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{% mmedias "aplayer" "autoplay:false" %}
{
"volume": 0.8,
"audio":
[
{
"name": "name1",
"artist": "artist1",
"url": "url1.mp3",
"cover": "cover1.jpg",
"lrc": "lrc1.lrc",
"theme": "#ebd0c2"
},
{
"name": "name2",
"artist": "artist2",
"url": "url2.mp3",
"cover": "cover2.jpg",
"lrc": "lrc2.lrc",
"theme": "#46718b"
}
]
}
{% endmmedias %}

从 0.x 升级

考虑到一部分用户 0.x 版本使用时间较长,迁移成本较高,遂将 0.x 单独发布为一个包,可以用 1.x 版本同时安装。

详情见 0.X 版本

虽然能兼容使用,但建议及时修改文章到 1.x ,0.x 版本已不再继续维护。

开发者要说的几句话

  1. 这个插件并不完美,如果使用中遇到问题,请熟读文档,如果还是有问题,请再读一遍文档,还是有问题,请向开发者反馈。
  2. 关于 JS 重复请求,请升级客户端浏览器版本,两个一样的 JS,只会请求一次,暂时没有想到什么好的办法,如果有,请及时告诉 Aki 。
  3. 关于 pjax,这东西真的不想去做兼容(其实也不难),如果以后闲得无聊的话,可能会做,但不要催 Aki 关于 pjax 兼容的问题。
  4. 不要局限于示例,放开手脚,大胆去尝试,这个插件的开放性真的非常的大。

介绍

可以插入 html5 原生 audio 标签

使用

1
{% mmedia "audio" "src:a.mp3" %}
1
{% mmedia "audio" "src:https://baidu.com/a.mp3" "autoplay:true" %}

参数

此部分请熟读 Audio 相关介绍

  • 使用 := 分割。
  • 所有 <audio> 标签的原生参数均可添加,只要能写进去就可以。
  • 具体能否实现相关标准,取决于客户端浏览器。

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,使用 JSON5 标准。

配置

默认配置可写入 _config.yml

1
2
3
4
5
mmedia:
audio:
default:
autoplay: true
key: vaule

介绍

可以插入 html5 原生 video 标签

使用

1
{% mmedia "video" "src:a.mp4" %}
1
{% mmedia "video" "src:https://baidu.com/a.mp4" "autoplay:true" %}

参数

此部分请熟读 Video 相关介绍

  • 使用 := 分割。
  • 所有 <video> 标签的原生参数均可添加,只要能写进去就可以。
  • 具体能否实现相关标准,取决于客户端浏览器。

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,使用 JSON5 标准。

配置

默认配置可写入 _config.yml

1
2
3
4
5
mmedia:
video:
default:
autoplay: true
key: vaule

介绍

可以插入 MetingJS 标签。

使用

1
{% mmedia "meting" "auto=https://y.qq.com/n/yqq/song/001RGrEX3ija5X.html" %}
1
{% mmedia "meting" "server=netease" "type=playlist" "id=60198" %}

参数

此部分请熟读 MetingJS 文档

  • 使用 := 分割。
  • 所有 <meting-js> 标签的参数均可添加,只要能写进去就可以。

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,使用 JSON5 标准。

1
2
3
4
5
6
{% mmedias "meting" "server=netease" %}
{
type:"playlist",
id:"60198"
}
{% endmmedias %}

配置

默认配置可写入 _config.yml

1
2
3
4
5
6
mmedia:
meting:
js: https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js
api: http://example.com/api.php
default:
key: vaule

介绍

可以插入 aplayer 标签

使用

1
{% mmedia "aplayer" "name:songName" "url:a.mp3" %}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{% mmedias "aplayer" "autoplay:false" %}
{
"volume": 0.8,
"audio":
[
{
"name": "name1",
"artist": "artist1",
"url": "url1.mp3",
"cover": "cover1.jpg",
"lrc": "lrc1.lrc",
"theme": "#ebd0c2"
},
{
"name": "name2",
"artist": "artist2",
"url": "url2.mp3",
"cover": "cover2.jpg",
"lrc": "lrc2.lrc",
"theme": "#46718b"
}
]
}
{% endmmedias %}

参数

此部分请熟读 APlayer 文档

  • 使用 := 分割。

详细参数表:

参数 默认 解释
name - audio name
artist - audio artist
url - audio url
cover - audio cover
lrc - audio lrc
theme - audio theme
type auto audio type 可选 ‘auto’, ‘hls’, ‘normal’
autoplay false autoplay
loop ‘all’ player loop play, values: ‘all’, ‘one’, ‘none’
order ‘list’ player play order, values: ‘list’, ‘random’
volume 0.7 default volume,
tlistMaxHeight - list max height

不在表格内的参数请使用下面 JSON 类型的参数。

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,由于允许使用 JSON5,此项配置几乎与 APlayer 完全一致。

详情请见上方示例。

配置

默认配置可写入 _config.yml

1
2
3
4
5
6
mmedia:
aplayer:
js: https://cdn.jsdelivr.net/npm/aplayer@1/dist/APlayer.min.js
css: https://cdn.jsdelivr.net/npm/aplayer@1/dist/APlayer.min.css
default:
contents:

介绍

可以插入 dplayer 标签。

使用

1
{% mmedia "dplayer" "url:a.mp4" %}
1
2
3
4
5
6
7
8
9
10
11
{% mmedias "dplayer" "flv:" "url:https://dandoc.u2sb.com/video/%E5%AE%89%E8%A3%85/1-%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%89%E8%A3%85.mp4" %}
{
"contextmenu":
[
{
text: "custom1",
link: "https://github.com/DIYgod/DPlayer"
}
]
}
{% endmmedias %}

参数

此部分请熟读 DPlayer 文档

  • 使用 := 分割。

详细参数表:

参数 默认 解释
url - video.url
pic - video.pic
thumbnails - video.thumbnails
type auto video.type, values: ‘auto’, ‘hls’, ‘flv’, ‘dash’, ‘webtorrent’, ‘normal’ or other
autoplay false video autoplay
loop false video loop
logo - showing logo in the top left corner, you can adjust its size and position by CSS
volume 0.7 default volume
screenshot false enable screenshot, if true, video and video poster must enable Cross-Origin
id - danmaku.id, danmaku pool id, it must be unique
api - danmaku.api, see Danmaku API

上面有一个比较特殊的参数 flv,这里单独解释一下,这个参数是用于引入其他 js 文件的,目前支持的有:hls dash shaka_dash flv webtorrent,上述参数可多个一起使用,如果后面带有 js 地址,将直接使用,否则将使用 _config.yml 配置或插件默认配置,如:

1
{% mmedia "dplayer" "flv:" "url:a.flv" %}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{% mmedias "dplayer" "flv:" "hls:https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js" %}
{
video:
{
quality:
[
{
name: 'HLS',
url: 'a.m3u8',
type: 'hls',
},
{
name: 'FLV',
url: 'demo.mp4',
type: 'flv',
},
],
efaultQuality: 0,
ic: 'demo.png',
thumbnails: 'thumbnails.jpg',
},
}
{% endmmedias %}

不在表格内的参数请使用下面 JSON 类型的参数。

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,由于允许使用 JSON5,此项配置几乎与 DPlayer 完全一致。

详情请见上方示例。

配置

默认配置可写入 _config.yml

1
2
3
4
5
6
7
8
9
10
mmedia:
dplayer:
js: https://cdn.jsdelivr.net/npm/dplayer@1/dist/DPlayer.min.js
hls_js: https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js
dash_js: https://cdn.jsdelivr.net/npm/dashjs/dist/dash.all.min.js
shaka_dash_js: https://cdn.jsdelivr.net/npm/shaka-player/dist/shaka-player.compiled.js
flv_js: https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js
webtorrent_js: https://cdn.jsdelivr.net/npm/webtorrent/webtorrent.min.js
default:
contents:

介绍

可以插入 artplayer 标签。

使用

1
{% mmedia "artplayer" "url:https://dandoc.u2sb.com/video/%E5%AE%89%E8%A3%85/1-%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%89%E8%A3%85.mp4" %}
1
2
3
4
5
{% mmedias "artplayer" "flv:"  %}
{
url: "https://dandoc.u2sb.com/video/%E5%AE%89%E8%A3%85/1-%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%89%E8%A3%85.mp4"
}
{% endmmedias %}

参数

此部分请熟读 ArtPlayer 文档

  • 使用 := 分割。

详细参数表:

参数 默认 解释
url - url
title - title
poster - poster
type - type
autoplay false video autoplay
loop false video loop
volume 0.7 default volume
style - style

上面有一个比较特殊的参数 flv,这里单独解释一下,这个参数是用于引入其他 js 文件的,目前支持的有:hls dash shaka_dash flv webtorrent,上述参数可多个一起使用,如果后面带有 js 地址,将直接使用,否则将使用 _config.yml 配置或插件默认配置,如:

1
{% mmedia "artplayer" "flv:" "url:a.flv" %}
1
2
3
4
5
{% mmedias "artplayer" "flv:" "hls:https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js" %}
{
...
}
{% endmmedias %}

不在表格内的参数请使用下面 JSON 类型的参数。

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,由于允许使用 JSON5,此项配置几乎与 ArtPlayer 完全一致。

详情请见上方示例。

配置

默认配置可写入 _config.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mmedia:
artplayer:
js: https://cdn.jsdelivr.net/npm/artplayer@3/dist/artplayer.js
hls_js: https://cdn.jsdelivr.net/npm/hls.js/dist/hls.min.js
dash_js: https://cdn.jsdelivr.net/npm/dashjs/dist/dash.all.min.js
shaka_dash_js: https://cdn.jsdelivr.net/npm/shaka-player/dist/shaka-player.compiled.js
flv_js: https://cdn.jsdelivr.net/npm/flv.js/dist/flv.min.js
webtorrent_js: https://cdn.jsdelivr.net/npm/webtorrent/webtorrent.min.js
default:
style: width:100%;height:650px;max-width:1200px;center
contents:
autoSize: true
autoMini: true
fullscreen: true
fullscreenWeb: true

介绍

可以插入 bilibili 视频

使用

1
{% mmedia "bilibili" "bvid:BV1br4y1P7ND" %}
1
{% mmedia "bilibili" "bvid:BV1br4y1P7ND" "danmaku:false" %}

参数

  • 使用 := 分割。

详细参数表:

参数 默认 解释
aid - aid
bvid - bvid,与 aid 同时出现时以 bvid 为准
page 1 page
danmaku true 是否有弹幕 ture or false
allowfullscreen allowfullscreen 允许全屏, allowfullscreen 或 true 允许,其他选项不允许
sandbox 配置 iframe sandbox
width 100% css 属性
max_width 850px css 属性
margin auto css 属性

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,使用 JSON5 标准。

配置

默认配置可写入 _config.yml

1
2
3
4
5
6
7
8
9
10
mmedia:
bilibili:
default:
page: 1
danmaku: true
allowfullscreen: allowfullscreen
sandbox: allow-top-navigation allow-same-origin allow-forms allow-scripts allow-popups
width: 100%
max_width: 850px
margin: auto

介绍

可以插入 西瓜 视频

使用

1
{% mmedia "xigua" "xid=6925997698269053453" %}
1
{% mmedia "xigua" "xid:6925997698269053453" "autoplay:true" %}

参数

  • 使用 := 分割。

详细参数表:

参数 默认 解释
xid - 西瓜视频的 ID,就是那一串数字
id - 一般情况下不需要填写
autoplay false autoplay
startTime 0 开始时间,秒
allowfullscreen allowfullscreen 允许全屏, allowfullscreen 或 true 允许,其他选项不允许
sandbox 配置 iframe sandbox
width 100% css 属性
max_width 850px css 属性
margin auto css 属性

JSON 参数

mmedia 插件允许在 contents 部分使用 JSON 编写配置,使用 JSON5 标准。

配置

默认配置可写入 _config.yml

1
2
3
4
5
6
7
8
9
10
mmedia:
xigua:
default:
autoplay: false
startTime: 0
allowfullscreen: allowfullscreen
sandbox: allow-top-navigation allow-same-origin allow-forms allow-scripts allow-popups
width: 100%
max_width: 850px
margin: auto

待开发…

请前往 音乐界面 预览部分效果,分别用到了 Artplayer, Aplayer, Dplayer, Meting