Shortcodes 是 Hugo 的写作机制,通过简洁标签在 Markdown 中插入图片、视频等复杂内容,无需直接编写 HTML,提升效率与灵活性。
实际使用中,可结合输入法自定义短语,如搜狗输入法(属性设置 > 高级 > 自定义短语 ),为常用 Shortcodes 设置英文缩写,进一步降低输入成本。
文本
Admonition
admonition 用于展示提示、警告或说明等强调信息,通过不同样式表达不同语义。
1
2
3
{{< admonition type="" title="" open="" >}}
文本
{{< /admonition >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 可选值 默认值 说明 1 type见下文 note提示块类型 2 title— 同 type 自定义标题 3 opentrue / falsetrue是否默认展开
type 可选:note、abstract、info、todo、tip、success、question、warning、failure、danger、bug、example、quote。写作中最常用的是 note、tip 和 warning。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1、最简用法
{{< admonition >}}普通说明{{< /admonition >}}
2、自定义标题与展开状态
{{< admonition type=tip title="[AriaNote ](https://arianote.top )" open=false >}}文本{{< /admonition >}}
3、常用类型
{{< admonition type=note >}}普通说明{{< /admonition >}}
{{< admonition type=tip >}}技巧窍门{{< /admonition >}}
{{< admonition type=warning >}}风险提醒{{< /admonition >}}
4、不常用类型
{{< admonition type=abstract >}}摘要总结{{< /admonition >}}
{{< admonition type=info >}}客观信息提示{{< /admonition >}}
{{< admonition type=todo >}}待办事项{{< /admonition >}}
{{< admonition type=success >}}成功提示{{< /admonition >}}
{{< admonition type=question >}}提问思考{{< /admonition >}}
{{< admonition type=failure >}}失败结果{{< /admonition >}}
{{< admonition type=danger >}}严重错误{{< /admonition >}}
{{< admonition type=bug >}}已知问题{{< /admonition >}}
{{< admonition type=example >}}示例说明{{< /admonition >}}
{{< admonition type=quote >}}引用内容{{< /admonition >}}
1、最简用法
2、自定义标题与展开状态
3、常用类型
4、不常用类型
Book
引入详见《Book 短代码:豆瓣风格书籍展示 》。
book 是豆瓣风格的书籍卡片,用于展示封面、信息、评分等。
1
2
3
4
5
6
{{< book id="" />}}
{{< book isbn="" />}}
或
{{< book cover="" title="" author="" publisher="" pubdate="" rating="" isbn="" link="" >}}
内容简介
{{< /book >}}
参数说明 示例源码 示例效果 参数说明 参数名 说明 id书籍 ID,用于从本地 JSON 数据中按豆瓣 ID 查询书籍 isbn书籍 ID,用于从本地 JSON 数据中按豆瓣 ID 查询书籍 title书籍标题 author作者 publisher出版社 pubdate出版日期(展示时统一为 YYYY年MM月) rating评分(0–10 分制,展示时会转换为 5 星制) link书籍详情链接 cover封面图片 URL 或本地路径(默认在 assets/books/) 内容简介 书籍简介内容,默认从书籍数据中加载,支持手动覆盖
id 或 isbn 二选一,从 data/books.json 中自动加载书籍信息。如果未提供 id 或 isbn 时,则必须手动指定 title。 手动传入的参数优先级高于 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
1、最简示例:
{{< book id="4882120" />}}
{{< book isbn="9787544248174" />}}
2、ID + 参数覆盖(部分自定义)
{{< book id="4882120" title="自定义标题" author="自定义作者" />}}
3、ID + 自定义内容简介:
{{< book id="4882120" >}}
这是自定义的内容简介,会覆盖 JSON 中的内容。
支持多行和 Markdown 格式。
{{< /book >}}
4、ID + 参数 + 自定义内容简介:
{{< book id="4882120" title="自定义标题" author="自定义作者" >}}
这是完全自定义的内容简介。
{{< /book >}}
5、完全手动输入(无 ID):
{{< book cover="/books/4882120.jpg" title="金字塔原理" author="芭芭拉·明托" publisher="南海出版公司" pubdate="2010年08月" rating="8.0" isbn="9787544248174" link="https://book.douban.com/subject/4882120/" >}}
金字塔的基本结构是:中心思想明确,结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结果后过程。
{{< /book >}}
6、部分手动 + 自定义内容简介:
{{< book title="金字塔原理" author="芭芭拉·明托" rating="8.0" >}}
无 ID 时,没有本地图片路径,就无法显示封面图。
{{< /book >}}
1、最简示例:
BOOK
芭芭拉・明托 南海出版公司 2010年08月 9787544248174
内容简介
本书系统介绍了 “金字塔原理” 这一结构化思维与表达方法,围绕结论先行、逻辑分组和层级递进等核心原则,讲解如何组织观点、梳理思路并清晰呈现信息。通过标准结构和规范表达动作,帮助读者提升分析问题、表达观点和高效沟通的能力。
2、ID + 参数覆盖(部分自定义):
BOOK
自定义作者 南海出版公司 2010年08月 9787544248174
内容简介
本书系统介绍了 “金字塔原理” 这一结构化思维与表达方法,围绕结论先行、逻辑分组和层级递进等核心原则,讲解如何组织观点、梳理思路并清晰呈现信息。通过标准结构和规范表达动作,帮助读者提升分析问题、表达观点和高效沟通的能力。
3、ID + 自定义内容简介:
BOOK
芭芭拉・明托 南海出版公司 2010年08月 9787544248174
内容简介
这是自定义的内容简介,会覆盖 JSON 中的内容。
支持多行和 Markdown 格式。
4、ID + 参数 + 自定义内容简介:
BOOK
自定义作者 南海出版公司 2010年08月 9787544248174
内容简介
这是完全自定义的内容简介。
5、完全手动输入(无 ID):
BOOK
芭芭拉·明托 南海出版公司 2010年08月 9787544248174
内容简介
金字塔的基本结构是:中心思想明确,结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结果后过程。
6、部分手动 + 自定义内容简介
BOOK
金字塔原理 芭芭拉·明托
内容简介
无 ID 时,没有本地图片路径,就无法显示封面图。
Center-Quote
center-quote 用于居中展示引用或强调语句,适合格言、标语或短文本强调。
1
2
3
{{< center-quote >}}
文本
{{< /center-quote >}}
示例源码 示例效果 1
{{< center-quote >}}文本{{< /center-quote >}}
Details
details 用于折叠显示内容,需用户展开查看,适合补充说明或示例说明。
1
2
3
{{< details summary="" open="" class="" >}}
文本
{{< /details >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 可选值 默认值 说明 1 summary— Details折叠标题 2 opentrue / falsefalse是否默认展开 3 class— — 自定义样式类 — name— — name 属性— title— — title 属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、最简折叠说明
{{< details >}}文本{{< /details >}}
2、自定义折叠标题
{{< details summary="展开查看" >}}文本{{< /details >}}
3、默认展开内容
{{< details summary="展开查看" open=true >}}文本{{< /details >}}
4、带样式的补充说明
{{< details summary="更多说明" open=false class="note" >}}文本{{< /details >}}
5、带属性的说明区块 - 命名参数
{{< details summary="更多信息" open=false class="note" name="extra" title="点击展开" >}}文本{{< /details >}}
1、最简折叠说明
Details 文本
2、自定义折叠标题
展开查看 文本
3、默认展开内容
展开查看 文本
4、带样式的补充说明
更多说明 文本
5、带属性的说明区块 - 命名参数
更多信息 文本
Tabs
tabs 和 tab 用于将内容分组显示在多个选项卡中,适合并列信息或对比展示。
1
2
3
4
5
{{< tabs type="" placement="" defaultTab="" >}}
{{% tab title="" %}}
文本
{{% /tab %}}
{{< /tabs >}}
参数说明 示例源码 示例效果 参数说明 参数名 可选值 默认值 说明 typeunderline / pill / card / segmentunderline标签页样式 placementtop / bottom / left / righttop标签页位置 defaultTab0 ~ N-10默认激活索引
segment 类型不支持 placement 参数。tab 的 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
1、下划线样式 - 标签页位于下方
{{< tabs type="underline" placement="bottom" >}}
{{% tab title="1" %}}文本1{{% /tab %}}
{{% tab title="2" %}}文本2{{% /tab %}}
{{% tab title="3" %}}文本3{{% /tab %}}
{{< /tabs >}}
2、胶囊样式 - 标签页位于右方
{{< tabs type="pill" placement="right" >}}
{{% tab title="1" %}}文本1{{% /tab %}}
{{% tab title="2" %}}文本2{{% /tab %}}
{{% tab title="3" %}}文本3{{% /tab %}}
{{< /tabs >}}
3、卡片样式 - 标签页位于左方
{{< tabs type="card" placement="left" >}}
{{% tab title="1" %}}文本1{{% /tab %}}
{{% tab title="2" %}}文本2{{% /tab %}}
{{% tab title="3" %}}文本3{{% /tab %}}
{{< /tabs >}}
4、分段样式 - 标签页默认位于上方 + 默认选中第二个标签页
{{< tabs type="segment" defaultTab=1 >}}
{{% tab title="1" %}}文本1{{% /tab %}}
{{% tab title="2" %}}文本2{{% /tab %}}
{{% tab title="3" %}}文本3{{% /tab %}}
{{< /tabs >}}
1、下划线样式 - 标签页位于下方
1 2 3 文本1
文本2
文本3
2、胶囊样式 - 标签页位于右方
1 2 3 文本1
文本2
文本3
3、卡片样式 - 标签页位于左方
1 2 3 文本1
文本2
文本3
4、分段样式 - 标签页默认位于上方 + 默认打开第二个标签选项卡
1 2 3 文本1
文本2
文本3
Timeline
timeline 用于按时间顺序展示事件列表,适合项目进展、版本记录或流程节点。
1
2
3
4
5
6
{{< timeline reverse="" placement="" animation="" size="" node="" >}}
events:
- timestamp: ""
content: ""
{{< /timeline >}}
参数说明 示例源码 示例效果 容器参数 位置 参数名 可选值 默认值 说明 1 reversetrue / falsefalse是否倒序排列 2 placementtop / bottombottom时间戳位置 3 animationtrue / falsefalse是否启用动画 4 sizesmall / medium / largemedium节点尺寸 5 nodecircle / dotcircle节点样式 — width— — 容器宽度 — height— — 容器高度 — class— — 容器样式类 — data— — 数据源键值 — file— — 外部数据文件
时间节点参数 参数 可选值 默认值 说明 timestamp— — 时间戳 content— — 事件内容 hideTimestamptrue / falsefalse是否隐藏时间戳 placementtop / bottombottom节点时间戳位置 color颜色值 — 节点颜色 typeprimary / success / info / warning / danger— 节点类型 sizesmall / medium / largemedium节点尺寸
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
1、最简单时间线 - 正序
{{< timeline >}}
events:
- timestamp: 2024-07-11
content: 创建成功
- timestamp: 2024-07-13
content: 通过审核
- timestamp: 2024-07-15
content: 活动按期开始
{{< /timeline >}}
2、倒序时间线
{{< timeline reverse=true >}}
events:
- timestamp: 2024-07-11
content: 创建成功
- timestamp: 2024-07-13
content: 通过审核
- timestamp: 2024-07-15
content: 活动按期开始
{{< /timeline >}}
3、开启动画效果
{{< timeline animation=true >}}
events:
- timestamp: 2024-07-11
content: 创建成功
- timestamp: 2024-07-13
content: 通过审核
- timestamp: 2024-07-15
content: 活动按期开始
{{< /timeline >}}
4、自定义节点样式
{{< timeline >}}
events:
- timestamp: 2024-07-19 20:30
content: 支持自定义风格
type: primary
node: dot
- timestamp: 2024-07-19 20:30
content: 支持自定义颜色
color: "#0CBD87 "
- timestamp: 2024-07-19 20:30
content: 支持自定义尺寸
size: large
- timestamp: 2024-07-20 20:30
content: 默认样式的节点
{{< /timeline >}}
5、使用 data 参数加载数据
{{< timeline data="example" >}}
6、使用 file 参数加载数据
{{< timeline file="data/example.yml" >}}
1、最简单时间线 - 正序
创建成功
2024-07-11
通过审核
2024-07-13
活动按期开始
2024-07-15
2、倒序时间线
活动按期开始
2024-07-15
通过审核
2024-07-13
创建成功
2024-07-11
3、开启动画效果
创建成功
2024-07-11
通过审核
2024-07-13
活动按期开始
2024-07-15
4、自定义节点样式
支持自定义风格
2024-07-19 20:30
支持自定义颜色
2024-07-19 20:30
支持自定义尺寸
2024-07-19 20:30
默认样式的节点
2024-07-20 20:30
Typeit
typeit 用于创建打字机效果的动态文字,适合强调性或演示性文本。
1
2
3
{{< typeit >}}
文本
{{< /typeit >}}
参数说明 示例源码 示例效果 参数说明 参数名 可选值 默认值 说明 tag— spanHTML 标签名 code— — 代码语言 code-linktrue / falsefalse解析代码链接 group— — 动画分组 speed— 100打字速度 cursorSpeed— 1000光标闪烁速度 cursorChar— |光标字符 duration— -1光标持续时间 looptrue / falsefalse动画循环
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1、最简用法
{{< typeit >}}文本{{< /typeit >}}
2、自定义 HTML 标签
{{< typeit tag=h4 >}}`h4` 标签{{< /typeit >}}
3、代码效果
{{< typeit code=java >}}
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
{{< /typeit >}}
4、分组效果
{{< typeit group=paragraph >}}**第一组**文本{{< /typeit >}}
{{< typeit group=paragraph >}}**第二组**文本{{< /typeit >}}
5、循环效果
{{< typeit loop=true >}}循环段落……{{< /typeit >}}
1、最简用法
2、自定义 HTML 标签
3、代码效果
public class HelloWorld {
public static void main ( String [] args ) {
System . out . println ( "Hello World" );
}
} 4、分组效果
5、循环效果
图片
figure 用于插入标准图片,支持标题、说明与署名,适合需要语义结构的图片展示。
1
{{< figure src="" alt="" >}}
参数说明 示例源码 示例效果 参数说明 参数名 可选值 说明 src— 图片资源路径(必需) alt— 图片替代文本 width— 图片宽度 height— 图片高度 loadinglazy / eager图片加载策略 class— <figure> 的 CSS classlink— 图片链接地址 target— 图片链接的 target 属性 rel— 图片链接的 rel 属性 title— 标题文本(说明区顶部) caption— 图片说明文字 attr— 图片署名信息 attrlink— 署名链接地址
caption 与 attr 支持 Markdown 语法。设置 link 时,图片将被链接包裹。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、最简图片展示
{{< figure src="/favicon-96x96.png" alt="示例" >}}
2、带说明文字
{{< figure src="/favicon-96x96.png" alt="示例" caption="说明" >}}
3、带标题与说明
{{< figure src="/favicon-96x96.png" alt="示例" title="标题" caption="说明" >}}
4、可点击图片
{{< figure src="/favicon-96x96.png" alt="示例" link="https://arianote.top" >}}
5、完整示例
{{< figure src="/favicon-96x96.png" alt="示例" title="图片" caption="说明" attr="来源" attrlink="https://arianote.top" class="w-75" loading="lazy" >}}
1、最简图片展示
2、带说明文字
说明
3、带标题与说明
标题 说明
4、可点击图片
5、完整示例
图片 说明
来源
Image
image 类似 figure,侧重响应式布局与加载性能,适合封面图或大尺寸图片。
1
{{< image src="" alt="" caption="" >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 可选值 默认值 说明 1 src— — 图片路径(必需) 2 alt— 同 src 图片替代文本 3 caption— — 图片说明文字 — title— — 悬停提示文本 — class— — <figure> 的 CSS class— height— — 图片高度 — width— — 图片宽度 — linkedtrue / falsetrue是否启用点击大图 — rel— — 图片链接的 rel 属性 — loadingeager / lazylazy图片加载方式 — optimisetrue / false— 是否启用图片优化 — cacheRemotetrue / false— 是否缓存远程图片
rel 仅在 linked=true 时生效。启用 linked 时,图片自动集成 LightGallery。 optimise 与 cacheRemote 可覆盖主题全局配置。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1、最简图片使用
{{< image src="/favicon-96x96.png" >}}
2、带替代文本
{{< image src="/favicon-96x96.png" alt="示例" >}}
3、带说明文字
{{< image src="/favicon-96x96.png" caption="示例" >}}
4、悬停提示 + 自定义样式
{{< image src="/favicon-96x96.png" alt="示例" caption="带提示的图片" title="提示文本" class="shadow-lg" >}}
5、禁用点击大图
{{< image src="/favicon-96x96.png" caption="不可点击的图片" linked=false >}}
6、完整示例
{{< image src="/favicon-96x96.png" alt="示例" caption="图片说明" title="完整示例" class="w-75" loading="lazy" optimise=true cacheRemote=true >}}
1、最简图片使用
2、带替代文本
示例 3、带说明文字
示例 4、悬停提示 + 自定义样式
带提示的图片 5、禁用点击大图
不可点击的图片 6、完整示例
图片说明 超链接
Link
link 用于生成指向链接,可显示为普通文本或卡片样式,适合外部网站、邮箱地址或可下载资源。
1
{{< link href="" content="" title="" card="" card-icon="" >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 可选值 默认值 说明 1 href— — 链接目标地址(必需) 2 content— 同 href 链接显示内容 3 title— — 悬停提示文本 4 cardtrue / falsefalse是否使用卡片样式 5 card-icon— — 卡片图标 — download— — <a> 的 download 属性— class— — <a> 的 class 属性— rel— — <a> 的 rel 补充属性— external-icontrue / false— 是否显示外链图标 — noreferrertrue / falsetrue是否自动添加 noreferrer
设置 card=true 时,链接将以卡片形式展示。 未指定 card-icon 时,会尝试从目标地址自动获取 favicon。 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
1、最简链接
{{< link "https://arianote.top" >}}
2、邮箱链接
{{< link "mailto:example@qq .com" >}}
3、自定义链接文本
{{< link href="https://arianote.top" content="AriaNote" >}}
4、带提示标题
{{< link href="https://arianote.top" content="AriaNote" title="温故而知新" >}}
5、卡片式链接
{{< link href="https://arianote.top" content="AriaNote" title="我的博客" card=true >}}
6、卡片链接 - 自定义图片图标
{{< link href="https://arianote.top" content="AriaNote" title="我的博客" card=true card-icon="/avatar.webp" >}}
7、卡片链接 - Font Awesome 图标
{{< link href="https://arianote.top" content="AriaNote" title="我的博客" card=true card-icon="fa-solid fa-blog" >}}
8、可下载链接
{{< link href="/avatar.webp" content="avatar.webp" title="下载头像" download="avatar.webp" >}}
9、卡片式下载链接
{{< link href="/avatar.webp" content="头像.webp" title="下载头像" download="avatar.webp" card=true >}}
Ref
ref 用于在站点内部页面之间建立绝对引用链接,适合文章跳转或跨语言引用。
1
[链接文本 ]({{< ref path="" >}} )
参数说明 示例源码 参数说明 位置 参数名 默认值 说明 1 path— 目标页面路径 — lang当前语言 目标页面语言 — outputFormat当前格式 目标页面输出格式
在 Markdown 内容中,ref 短代码已被视为过时用法。 不以 / 开头的路径会先相对于当前页面解析,再回退至站点根目录。 需配合 Markdown 链接语法使用。 1
2
3
4
5
6
7
8
1、指向英文页面的绝对永久链接
[Link A ]({{< ref path="/example" >}} )
2、指向德语页面
[Link C ]({{< ref path="/example" lang="de" >}} )
3、指向德语页面的 JSON 输出格式
[Link D ]({{< ref path="/example" lang="de" outputFormat="json" >}} )
Relref
relref 用于在站点内部页面之间建立相对引用链接,适合站内文章跳转。
1
[链接文本 ]({{< relref path="" >}} )
参数说明 示例源码 参数说明 位置 参数名 默认值 说明 1 path— 目标页面路径 — lang当前语言 目标页面语言 — outputFormat当前格式 目标页面输出格式
参数规则与 ref 完全一致。 使用相对路径生成链接,适合站内结构调整场景。 1
2
3
4
5
6
7
8
1、指向相对路径的页面链接
[Link B ]({{< relref path="/example" >}} )
2、相对路径的德语页面
[Link C ]({{< relref path="/example" lang="de" >}} )
3、相对路径的 JSON 输出格式
[Link D ]({{< relref path="/example" lang="de" outputFormat="json" >}} )
图表
Echarts
echarts 用于嵌入 ECharts 交互式图表,适合展示折线图、柱状图、饼图等数据可视化内容。
1
2
3
{{< echarts width="" height="" >}}
ECharts option (JSON / YAML / TOML / JS)
{{< /echarts >}}
参数说明 示例源码 参数说明 位置 参数名 可选值 默认值 说明 1 width— 100%图表容器宽度 2 height— 30rem图表容器高度 — jstrue / falsefalse是否以 JavaScript 方式解析 — asynctrue / falsefalseJS 代码是否异步执行 — data— — 站点数据键(data/echarts) — file— — 页面资源或 assets 中的数据文件
width、height 为位置参数,其余为命名参数。data 与 file 用于从外部数据源加载图表配置。设置 js=true 时,内容将作为 JavaScript 执行。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{{< echarts >}}
{
"xAxis": {
"type": "category",
"data": ["Mon", "Tue", "Wed", "Thu", "Fri"]
},
"yAxis": {
"type": "value"
},
"series": [
{
"type": "line",
"data": [120, 200, 150, 80, 70]
}
]
}
{{< /echarts >}}
Mermaid
mermaid 用于绘制 Mermaid 图表,适合流程图、时序图、状态图等结构化表达。
1
2
3
{{< mermaid >}}
// mermaid diagram code here
{{< /mermaid >}}
示例源码 1
2
3
4
5
6
7
{{< mermaid >}}
graph LR;
A[Hard edge] -->|Link text| B(Round edge)
B --> C{Decision}
C -->|One| D[Result one]
C -->|Two| E[Result two]
{{< /mermaid >}}
Mapbox
mapbox 用于在页面中嵌入 Mapbox 交互式地图,支持缩放、标记点及自定义样式。
1
{{< mapbox lng="" lat="" zoom="" marked="" light-style="" dark-style="" markers="" >}}
参数说明 示例源码 参数说明 位置 参数名 可选值 默认值 说明 1 lng— — 地图中心点经度(必需) 2 lat— — 地图中心点纬度(必需) 3 zoom— 10初始缩放级别 4 markedtrue / falsetrue是否显示中心点标记 5 light-style— 主题配置 浅色模式地图样式 6 dark-style— 主题配置 深色模式地图样式 7 markers— — 多标记点数组 — navigationtrue / false主题配置 是否显示导航控件 — geolocatetrue / false主题配置 是否显示定位控件 — scaletrue / false主题配置 是否显示比例尺 — fullscreentrue / false主题配置 是否显示全屏按钮 — width— 100%地图宽度 — height— 20rem地图高度
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1、最简单示例
{{< mapbox lng=113.953277 lat=22.559102 >}}
2、指定缩放级别
{{< mapbox lng=113.953277 lat=22.559102 zoom=11 >}}
3、关闭中心点图钉
{{< mapbox lng=113.953277 lat=22.559102 zoom=11 marked=false >}}
4、自定义地图样式
{{< mapbox lng=-122.252 lat=37.453 zoom=10 marked=false light-style="mapbox://styles/mapbox/streets-zh-v1" >}}
5、多标记示例
{{< mapbox lng=113.953277 lat=22.559102 zoom=11 markers="[ {"lng":113.81841,"lat":22.637524,"description":"宝安国际机场"},
{"lng":113.953386,"lat":22.559052,"description":"市中心"},{"lng":114.035746,"lat":22.615667,"description":"深圳北站"} ]" >}}
6、自定义尺寸
{{< mapbox lng=113.953277 lat=22.559102 width=\"100%\" height=\"30rem\" >}}
影音
APlayer
aplayer 用于创建功能完整的音频播放器,支持播放列表、歌词同步、主题色自定义等。
1
2
3
{{< aplayer autoplay="" >}}
{{< audio name="" artist="" url="" cover=" />}}
{{< /aplayer >}}
参数说明 示例源码 APlayer(容器)参数 参数 可选值 默认值 说明 fixedtrue / falsefalse是否固定在页面底部 minitrue / falsefalse是否启用迷你模式 autoplaytrue / falsefalse是否自动播放 theme— — 播放器主题色 loopall / one / noneall循环模式 orderlist / randomlist播放顺序 preloadnone / metadata / autoauto预加载方式 volume0 ~ 10.7默认音量 mutextrue / falsetrue是否互斥播放 lrcType0 / 1 / 30歌词类型 listFoldedtrue / falsefalse是否折叠播放列表 listMaxHeight— — 播放列表最大高度 storageName— — 本地存储键名
Audio(音频项)参数 参数 可选值 默认值 说明 name任意字符串 — 音频名称(必需) artist任意字符串 — 艺术家 url任意字符串 — 音频文件地址(必需) cover任意字符串 — 封面图片地址 lrc任意字符串 — 歌词文件地址
aplayer 用于创建播放器实例,至少有一个参数值;audio 用于定义音频条目。二者必须配合使用,且只能使用命名参数。 更多高级配置参考 APlayer.js 官方文档 。 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
1、最简单的音频播放器
{{< aplayer autoplay=false >}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" />}}
{{< /aplayer >}}
2、包含多首音乐的播放列表
{{< aplayer theme="#b7daff " order="list" >}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" />}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" />}}
{{< /aplayer >}}
3、内嵌歌词
{{< aplayer lrcType=1 >}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" />}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" >}}
[00:00.00]Hello
[00:05.00]FixIt
{{< /audio >}}
{{< /aplayer >}}
4、完整参数
{{< aplayer fixed=false mini=false autoplay=false theme="#b7daff " loop="all" order="list" preload="auto" volume=0.7 mutex=true lrcType=1 listFolded=false listMaxHeight="" storageName="aplayer-setting" >}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" cover="/avatar.webp" />}}
{{< audio name="Demo" artist="示例" url="/music/demo.mp3" cover="/avatar.webp" cover="/avatar.webp" >}}
[00:00.00]APlayer audio2
[00:04.01]is
[00:08.02]amazing
{{< /audio >}}
{{< /aplayer >}}
Bilibili
bilibili 用于嵌入哔哩哔哩视频,支持多 P 分集播放与弹幕控制。
1
{{< bilibili id="" p="" >}}
参数说明 示例源码 参数说明 位置 参数名 可选值 默认值 说明 1 id— — 视频 BV ID(必需) 2 p— 1多 P 视频的分集序号,从 1 开始 — autoplaytrue / falsefalse是否自动播放 — postertrue / falsetrue是否显示视频封面 — mutedtrue / falsefalse是否静音播放 — danmakutrue / falsetrue是否开启弹幕 — t— 0视频起始时间点(单位:秒)
1
2
3
4
5
6
7
8
9
10
11
1、单 P 视频
{{< bilibili id=BV19S411c7Wu >}}
2、多 P 视频
{{< bilibili id=BV1kt411k7Rq p=3 >}}
3、自动播放并关闭弹幕
{{< bilibili BV19S411c7Wu autoplay=true danmaku=false >}}
4、指定起始时间并静音
{{< bilibili BV19S411c7Wu t=60 muted=true >}}
Douyin
douyin 用于嵌入抖音短视频内容。
参数说明 示例源码 参数说明 位置 参数名 说明 1 id抖音视频的 Video ID(必需)
1
{{< douyin id=7388149561765760266 >}}
Music
music 是播放器能力的简化封装,适合快速嵌入单首音乐、播放列表或主流音乐平台资源。
参数说明 示例源码 通用参数 参数 可选值 默认值 说明 theme— #448aff播放器主题色 fixedtrue / falsefalse是否固定在页面 minitrue / falsefalse迷你模式 autoplaytrue / falsefalse自动播放 volume0–10.7默认音量 mutextrue / falsetrue自动暂停其它播放器 loopall / one / nonenone列表循环模式 orderlist / randomlist播放顺序 list-foldedtrue / falsefalse初始是否折叠 list-max-height— 340px列表最大高度
loop、order、list-folded、list-max-height 仅适用于歌单、专辑等列表模式。本地音乐参数 位置 参数名 可选值 默认值 说明 1 url字符串 — 音乐文件链接(必需) — name字符串 — 音乐名称 — artist字符串 — 音乐作者 — cover字符串 — 封面图片链接
音乐平台参数 位置 参数名 可选值 默认值 说明 1 autoURL — 音乐平台链接(必需) 1 servernetease / tencent / kugou / xiami / baidu— 音乐平台 2 typesong / playlist / album / search / artist— 音乐类型 3 id字符串 — 音乐 ID
自动识别音乐平台时,仅需 auto ,且与其它三个参数互斥。 自定义音乐平台时,server、type、id 必须同时存在。 1
2
3
4
5
6
7
8
1、本地音乐
{{< music url="/music/demo.mp3" name="Demo" artist="示例" cover="/avatar.webp" >}}
2、音乐平台自动识别
{{< music auto="https://music.163.com/#/playlist ?id=60198" >}}
3、自定义音乐平台
{{< music server="netease" type="song" id="1868553" >}}
Spotify
spotify 用于直接嵌入 Spotify 内容,支持专辑、歌单、艺术家或单曲。
1
{{< spotify type="" id="" width="" height="" >}}
参数说明 示例源码 参数说明 位置 参数名 可选值 说明 1 typeartist / album / track / playlistSpotify 音乐类型(必需) 2 id— Spotify 音乐 ID(必需) 3 width— 播放器宽度 4 height— 播放器高度
1
2
3
4
5
6
7
8
9
10
11
1、艺术家
{{< spotify type=artist id=74ASZWbe4lXaubB36ztrGX >}}
2、专辑
{{< spotify type=album id=1ATL5GLyefJaxhQzSPVrLX >}}
3、曲目
{{< spotify type=track id=6rqhFgbbKwnb9MLmUQDhG6 >}}
4、播放列表
{{< spotify type=playlist id=37i9dQZF1DXcBWIGoYBM5M >}}
Vimeo
vimeo 通过 Hugo 原生 Shortcode 嵌入 Vimeo 视频。
参数说明 示例源码 参数说明 位置 参数名 可选值 默认值 说明 1 id— — Vimeo 视频 ID(必需) — allowFullScreentrue / falsetrue是否允许全屏 — class— — 包裹元素的 CSS class — loadingeager / lazyeageriframe 加载策略 — title— — iframe 的 title 属性
1
2
3
4
5
6
7
8
9
10
11
1、最简用法
{{< vimeo id=55073825 >}}
3、关闭全屏并启用懒加载
{{< vimeo id=55073825 allowFullScreen=false loading=lazy >}}
4、添加自定义样式类
{{< vimeo id=55073825 class="video-frame" >}}
5、设置 iframe 标题
{{< vimeo id=55073825 title="Vimeo 示例视频" >}}
Youtube
youtube 通过 Hugo 原生 Shortcode 嵌入 YouTube 视频。
参数说明 示例源码 参数说明 位置 参数名 可选值 默认值 说明 1 id— — YouTube 视频 ID(必需) — allowFullScreentrue / falsetrue是否允许全屏 — autoplaytrue / falsefalse是否自动播放(开启后强制静音) — class— — 包裹 div 的 CSS class — controlstrue / falsetrue是否显示播放器控件 — start秒数 — 视频开始播放时间 — end秒数 — 视频停止播放时间 — looptrue / falsefalse是否循环播放 — mutetrue / falsefalse是否静音 — loadingeager / lazyeageriframe 加载策略 — title— YouTube videoiframe 的 title 属性
mute 在 autoplay=true 时始终为 true。 1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、最简用法
{{< youtube id=0RKpf3rK57I >}}
3、指定起止时间
{{< youtube id=0RKpf3rK57I start=30 end=60 >}}
4、自动播放 - 强制静音
{{< youtube id=0RKpf3rK57I autoplay=true >}}
5、关闭控件并循环播放
{{< youtube id=0RKpf3rK57I controls=false loop=true >}}
6、懒加载并设置标题
{{< youtube id=0RKpf3rK57I loading=lazy title="YouTube 示例视频" >}}
社交
Bluesky
bluesky 用于嵌入 Bluesky 平台的单条帖子,展示原帖内容及其上下文。
1
{{< bluesky link="" >}}
参数说明 示例源码 参数说明 位置 参数名 说明 — linkBluesky 帖子的完整链接(必需)
1
{{< bluesky link="https://bsky.app/profile/bsky.app/post/3latotljnec2h" >}}
Instagram
instagram 用于嵌入 Instagram 单条帖子,自动加载官方样式并支持响应式布局。
1
{{< instagram id="" >}}
参数说明 示例源码 参数说明 位置 参数名 说明 1 idInstagram 帖子的 ID(必需)
1
{{< instagram id=CxOWiQNP2MO >}}
QR
qr 用于将文本、链接或结构化信息生成二维码图像,适用于分享链接、联系方式或快速访问入口。
1
{{< qr text="" level="" scale="" targetDir="" alt="" class="" id="" loading="" title="" >}}
参数说明 示例源码 示例效果 参数说明 参数名 可选值 默认值 说明 text— — 编码内容(未指定时使用标签内文本) levellow / medium / quartile / highmedium二维码纠错等级 scale— 4QR 模块像素尺寸(≥2) targetDir— — 输出目录(相对于 publishDir) alt— — img 的 alt 属性class— — img 的 class 属性id— — img 的 id 属性loadingeager / lazy— 图片加载策略 title— — img 的 title 属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1、使用自闭合语法
{{< qr text="https://arianote.top" />}}
2、使用标签内容作为文本
{{< qr >}}文本{{< /qr >}}
3、电话号码二维码
{{< qr text="tel:+12065550101" />}}
4、生成 vCard 二维码
{{< qr level="low" scale=2 alt="QR code of vCard for John Smith" >}}
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8:Smith;John;R.;Dr.;PhD
FN;CHARSET=UTF-8:Dr. John R. Smith, PhD.
ORG;CHARSET=UTF-8:ABC Widgets
TITLE;CHARSET=UTF-8:Vice President Engineering
TEL;TYPE=WORK:+12065550101
EMAIL;TYPE=WORK:jsmith@example .org
END:VCARD
{{< /qr >}}
1、URL 二维码
2、使用标签内容作为文本
3、电话号码二维码
4、Card 二维码
Reward
reward 用于在文章底部展示打赏或赞助方式,支持多种支付平台。
1
{{< reward wechatpay="" alipay="" paypal="" bitcoin="" author="" comment="" mode="" >}}
参数说明 示例源码 参数说明 位置 参数名 可选值 默认值 说明 1 wechatpay— — 微信支付二维码图片路径 2 alipay— — 支付宝二维码图片路径 3 paypal— — PayPal 打赏图片路径 4 bitcoin— — 比特币收款图片路径 5 author— — 作者名称 6 comment— — 打赏提示文案 7 modestatic / fixedstatic展示模式
1
2
3
4
5
6
7
8
9
10
11
12
13
1、基础用法(微信 + 支付宝)
{{< reward wechatpay="/images/wechatpay.gif" alipay="/images/alipay.gif" >}}
2、添加提示文案
{{< reward wechatpay="/images/wechatpay.gif" alipay="/images/alipay.gif"
comment="给作者买杯卡布奇诺~" >}}
3、指定作者名称
{{< reward wechatpay="/images/wechatpay.gif" author="FixIt 作者" >}}
4、使用固定展示模式
{{< reward wechatpay="/images/wechatpay.gif" alipay="/images/alipay.gif"
mode="fixed" >}}
X
x 用于嵌入 X(原 Twitter)平台的单条帖子。
1
{{< x user="" id="" >}}
参数说明 示例源码 参数说明 参数名 说明 user发布该帖子的 X 用户名(必需) idX 帖子的 ID(必需)
1
{{< x user="SanDiegoZoo" id="1453110110599868418" >}}
开发
Env
env 根据 Hugo 开发与生成环境条件渲染内容,避免本地加载外部服务,提高构建和调试效率。
1
2
3
{{< env "" >}}
仅在指定环境中渲染的内容
{{< /env >}}
参数说明 示例源码 参数说明 位置 参数名 说明 1 envHugo 环境名称(必需)
env 的取值通常与 HUGO_ENV 一致,常见值包括 development 与 production。1
2
3
4
5
仅在生产环境渲染内容
{{< env "production" >}}
This content is only rendered in the production environment.
里面的内容只会在生产环境中渲染。
{{< /env >}}
Fixit-encryptor
fixit-encryptor 用于对页面内容进行局部或全部加密,需输入正确密码后才能查看。
1
2
3
{{% fixit-encryptor password="" message="" %}}
加密内容
{{% /fixit-encryptor %}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 说明 1 password部分加密内容的密码(必需) 2 message解密输入框的提示信息
全文加密:在 Front Matter 中设置 password(必需) 与 message。 局部加密:使用 fixit-encryptor Shortcode。 1
2
3
4
5
6
7
8
9
10
1、部分加密
{{< fixit-encryptor password="1212" message="密码是 1212" >}}这是被加密的部分内容。{{< /fixit-encryptor >}}
2、嵌套加密
{{< fixit-encryptor "1212" >}}
第一层加密内容
{{< fixit-encryptor "1212" >}}
第二层加密内容
{{< /fixit-encryptor >}}
{{< /fixit-encryptor >}}
1、部分加密
6L+Z502f9ed2a8d1e08d8f74f5303e9eb93637d47f82ab6f1c15871cf8dd0481piv6KKr5Yqg5a+G55qE6YOo5YiG5YaF5a6544CC 2、嵌套加密
56ys502f9ed2a8d1e08d8f74f5303e9eb93637d47f82ab6f1c15871cf8dd0481LiA5bGC5Yqg5a+G5YaF5a65CjxmaXhpdC1lbmNyeXB0b3I+CjxkaXYgY2xhc3M9ImZpeGl0LWRlY3J5cHRvci1jb250YWluZXIiPgo8aW1nIGNsYXNzPSJmaXhpdC1kZWNyeXB0b3ItbG9hZGluZyIgc3JjPSIvaW1hZ2VzL2xvYWRpbmcubWluLnN2ZyIgYWx0PSJkZWNyeXB0b3IgbG9hZGluZyIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiAvPgo8bGFiZWwgZm9yPSJpZC00MSIgdGl0bGU9IuWvhueggSI+CjxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9ImlkLTQxIiBjbGFzcz0iZml4aXQtZGVjcnlwdG9yLWlucHV0IiBwbGFjZWhvbGRlcj0i8J+UkSDor7fovpPlhaXlr4bnoIEiIC8+CjwvbGFiZWw+CjxidXR0b24gY2xhc3M9ImZpeGl0LWRlY3J5cHRvci1idG4iPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS11bmxvY2siIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+6L+b5YWlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZGVjcnlwdG9yLWNvbnRlbnQiPjwvZGl2PjxjaXBoZXItdGV4dCBkYXRhLXBhc3N3b3JkPSI0OGM3MjA3NmE5NDAzOGQxIj41NnlzNTAyZjllZDJhOGQxZTA4ZDhmNzRmNTMwM2U5ZWI5MzYzN2Q0N2Y4MmFiNmYxYzE1ODcxY2Y4ZGQwNDgxTHFNNWJHQzVZcWc1YStHNVlhRjVhNjU8L2NpcGhlci10ZXh0Pgo8L2ZpeGl0LWVuY3J5cHRvcj4= File Tree
file-tree 用于将目录结构或层级数据渲染为可交互的文件树视图,适合展示项目结构或层级数据。
1
2
3
4
5
6
7
8
9
10
{{< file-tree [path] [level] [folderSlash]
[file="filename"]
[data="datafilename"]
[ignoreList="item1,item2"]
[highlightList="item1,item2"]
[name="rootName"] >}}
<!-- 可选:树结构数据 -->
{{< /file-tree >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 可选值 默认值 说明 1 path— /扫描的目录路径 2 level-1 / 0 / 正整数1展开层级深度 3 folderSlashtrue / falsefalse文件夹名称是否追加 / — file— — 外部数据文件(JSON/YAML/TOML) — data— — data/filetree/ 中的数据文件— ignoreList— — 忽略的文件或目录 — highlightList— — 高亮的文件或目录 — name字符串 / {path} — 根节点显示名称
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1、使用实际文件系统
{{< file-tree />}}
2、指定路径并展开两层
{{< file-tree path="documentation" level=2 folderSlash=true />}}
3、使用内联数据
{{< file-tree >}}
- name: src
type: dir
children:
- name: index.ts
type: file
- name: app.ts
type: file
- name: package.json
type: file
{{< /file-tree >}}
4、从文件加载结构
{{< file-tree file="data/tree.yml" />}}
Highlight
highlight 用于在 Markdown 中展示带有语法高亮的代码块,是展示示例代码的推荐方式。
1
2
3
{{< highlight [LANG] [OPTIONS] >}}
CODE
{{< /highlight >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 说明 1 LANG代码语言(不区分大小写) 2 OPTIONS用引号包裹的键值对选项
1
2
3
4
5
{{< highlight python "linenos=table,hl_lines=2 3" >}}
def hello():
print("Hello Hugo!")
print("Bye!")
{{< /highlight >}}
1
2
3
def hello ():
print ( "Hello Hugo!" )
print ( "Bye!" )
Gist
gist 用于在文档中嵌入 GitHub Gist 中的代码,适合展示外部或可复用的代码片段。
1
{{< gist [USERNAME] [GIST_ID] [FILE] >}}
参数说明 示例源码 参数说明 位置 参数名 说明 1 usernameGist 所属的 GitHub 用户名(必需) 2 gist_idGist 的唯一 ID(必需) 3 file需要展示的特定文件
未指定 file 时,将显示该 Gist 的全部内容。 等同于在 HTML 中插入对应 Gist 的 <script> 引用。 1
2
3
4
5
1、显示整个 gist
{{< gist Lruihao fb8b2d0353465c4d40bf74818db80710 >}}
2、显示 gist 中的某个文件
{{< gist Lruihao fb8b2d0353465c4d40bf74818db80710 example.py >}}
Param
param 用于读取页面 Front Matter 或站点配置中的参数值。
1
{{< param [PARAM_NAME] */>%}}
Row
raw 用于输出不经过 Hugo 或 Markdown 解析的原始内容,常用于展示 Shortcode 或模板语法示例。
1
2
3
{{</* raw [TAG] >}}
原始内容
{{< /raw >}}
参数说明 示例源码 参数说明 位置 参数名 默认值 说明 1 tagdiv原始内容的父级 HTML 标签
raw shortcode 会 禁用内部 Markdown 渲染,内容将被直接作为 HTML 输出。常用于混合 Markdown 与 HTML 时避免语法冲突。 1
2
原始的带有 Markdown 和 HTML 语法的内容:
{{< raw "span" >}}**Hello** <strong>World</strong>{{< /raw >}}
Script
script 用于嵌入自定义 JavaScript 代码,可能会影响页面行为。
1
2
3
{{< script >}}
JavaScript 脚本内容
{{< /script >}}
示例源码 1
2
3
{{< script >}}
console.log('Hello World!');
{{< /script >}}
Style
style 用于定义或引入自定义 CSS,仅在当前 Shortcode 作用域内生效。
1
2
3
{{< style [STYLE [TAG] >}}
内容
{{< /style >}}
参数说明 示例源码 参数说明 位置 参数名 默认值 说明 1 style— 自定义样式内容(必需) 2 tagdiv包裹内容的父级 HTML 标签
样式内容支持 SASS 嵌套语法。 & 表示当前包裹元素。1
2
3
{{< style "text-align:right; strong{color:#00b1ff ;}" >}}
This is a **right-aligned** paragraph.
{{< /style >}}
Version
version 用于标记功能或项目的版本变更信息,常见于更新日志或文档注释中。
1
{{< version [VERSION] [TYPE] [PREFIX] [PROJECT] >}}
参数说明 示例源码 示例效果 参数说明 位置 参数名 可选值 默认值 说明 1 version— — 版本号(必需) 2 typenew / changed / deleted / deprecatednew版本变更类型 3 prefix— 见下文 发行标签 URL 前缀 4 project— FixIt项目名称
type 用于指示版本状态,如新增、变更或废弃。prefix 的默认值为 https://github.com/hugo-fixit/FixIt/releases/tag/v。如果未显式指定仓库前缀,将使用 params.repoVersion 或默认 FixIt 仓库。 1
2
3
4
5
6
7
8
9
10
11
1、新增功能
{{< version 0.3.15 >}}
2、功能更改
{{< version 0.3.15 changed >}}
3、功能删除
{{< version 0.3.15 deleted >}}
4、功能废弃
{{< version 0.3.15 deprecated >}}