Hugo

Hugo Shortcodes 语法手册

警告
本文最后更新于 2026-01-16,文中内容可能已过时。

本文参数表中,取值列 加粗 表示默认值。

Shortcodes 是 Hugo 的写作机制,通过简洁标签在 Markdown 中插入图片、视频等复杂内容,无需直接编写 HTML,提升效率与灵活性。1

实际使用中,可结合输入法自定义短语,如搜狗输入法(属性设置>高级>自定义短语),为常用 Shortcodes 设置英文缩写,进一步降低输入成本。

文本

Admonition

admonition 用于展示提示、警告或说明等强调信息,通过不同样式表达不同语义。

Markdown
1
2
3
{{< admonition [type] "[title]" [open] >}}
...
{{< /admonition >}}
参数名取值说明
typenote / abstract / info / todo / tip / success / question
warning / failure / danger / bug / example / quote
横幅的类型
title字符串横幅的标题
opentrue / false横幅内容是否默认展开

示例如下:

Markdown
1
2
3
{{< admonition tip "[AriaNote](https://arianote.top)" true >}}
自定义标题与展开状态
{{< /admonition >}}
自定义标题与展开状态

Book

引入详见《Book 短代码:豆瓣风格书籍展示》。

book 是豆瓣风格的书籍卡片,用于展示封面、信息、评分等。

Markdown
1
2
3
4
5
6
7
8
// id 和 isbn 二选一
{{< 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/)

示例如下:

Markdown
1
2
3
4
5
{{< book id="4882120" />}}
{{< book isbn="9787544248174" />}}
{{< book cover="/books/4882120.jpg" title="金字塔原理"  author="芭芭拉·明托"  publisher="南海出版公司" pubdate="2010年08月"  rating="8.0"  isbn="9787544248174"  link="https://book.douban.com/subject/4882120/" >}}
金字塔的基本结构是:中心思想明确,结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结果后过程。
{{< /book >}}
BOOK
金字塔原理 封面

金字塔原理

★★★★★
8.0
芭芭拉·明托南海出版公司2010年08月9787544248174
内容简介
金字塔的基本结构是:中心思想明确,结论先行,以上统下,归类分组,逻辑递进。先重要后次要,先全局后细节,先结论后原因,先结果后过程。

Center-Quote

center-quote 用于居中展示引用或强调语句,适合格言、标语或短文本强调。

Markdown
1
2
3
{{< center-quote >}}
...
{{< /center-quote >}}

示例如下:

Markdown
1
2
3
{{< center-quote >}}
这是一个 **居中对齐** 的段落。
{{< /center-quote >}}
这是一个 居中对齐 的段落。

Details

details 用于折叠显示内容,需用户展开查看,适合补充说明或示例说明。

Markdown
1
2
3
{{< details [summary] [open] [class] >}}
...
{{< /details >}}
参数名取值说明
summaryDetails / 字符串折叠标题
opentrue / false是否默认展开
class字符串自定义样式类
name字符串name 属性
title字符串title 属性

示例如下:

Markdown
1
2
3
{{< details "展开查看" false >}}
这是一个示例。
{{< /details >}}
展开查看

这是一个示例。

Raw

raw 用于输出不经过 Hugo 或 Markdown 解析的原始内容,常用于展示 Shortcode 或模板语法示例。

Markdown
1
2
3
{{< raw "[tag]" >}}
...
{{< /raw >}}
参数名取值说明
tagdiv / 字符串原始内容的父级元素 HTML 标签

示例如下:

Markdown
1
原始的带有 Markdown 和 HTML 语法的内容:{{< raw "span" >}}**Hello** <strong>FixIt</strong>{{< /raw >}}

Tabs

tabs 和 tab 用于将内容分组显示在多个选项卡中,适合并列信息或对比展示。

Markdown
1
2
3
4
5
{{< tabs type="" placement="" defaultTab="" >}}
{{% tab title="" %}}...{{% /tab %}}
{{% tab title="" %}}...{{% /tab %}}
{{% tab title="" %}}...{{% /tab %}}
{{< /tabs >}}
参数名取值说明
typeunderline / pill / card / segment标签页的样式类型
placementtop / bottom / left / right标签页相对于内容的位置,对 segment 无效
defaultTab0 ~ N-1默认激活标签页的索引

示例如下:

Markdown
1
2
3
4
5
{{< tabs type="card" placement="left" >}}
{{% tab title="1" %}}文本 1{{% /tab %}}
{{% tab title="2" %}}文本 2{{% /tab %}}
{{% tab title="3" %}}文本 3{{% /tab %}}
{{< /tabs >}}
文本 1
文本 2
文本 3

Timeline

timeline 用于按时间顺序展示事件列表,适合项目进展、版本记录或流程节点。

Markdown
1
2
3
4
5
{{< timeline reverse= placement= animation= size= node= >}}
events:
  - timestamp:
    content:
{{< /timeline >}}
类型参数名取值说明
Timelinereversetrue / false是否倒序排列
placementtop / bottom时间戳位置
animationtrue / false是否开启动画
sizesmall / medium / large节点尺寸
nodecircle / dot节点风格
width字符串容器宽度
height字符串容器高度
class字符串容器类名
data字符串Hugo 站点数据键值
file字符串页面资源或 assets 数据文件
Eventstimestamp字符串时间戳
content字符串事件内容
hideTimestamptrue / false是否隐藏时间戳
placementtop / bottom时间戳位置
colorhsl / hsv / hex / rgb节点颜色
typeprimary / secondary / success
info / warning / danger
节点类型
sizesmall / medium / large节点尺寸
nodecircle / dot节点风格

示例如下:

Markdown
1
2
3
4
5
6
7
8
9
{{< timeline reverse=true animation=true >}}
events:
  - timestamp: 2024-07-11
    content: 创建成功
  - timestamp: 2024-07-13
    content: 通过审核
  - timestamp: 2024-07-15
    content: 活动按期开始
{{< /timeline >}}
  • 活动按期开始
    2024-07-15
  • 通过审核
    2024-07-13
  • 创建成功
    2024-07-11

Typeit

typeit 用于创建打字机效果的动态文字,适合强调性或演示性文本。

Markdown
1
2
3
{{< typeit >}}
文本
{{< /typeit >}}
参数名取值说明
tag字符串内容容器的 HTML 标签
code字符串指定代码内容语言类型
code-linktrue / false是否解析代码内容中的 Markdown 链接
group字符串相同分组的内容将按顺序开始打字动画
speed100 / 数值每一步的打字速度(单位:毫秒)
cursorSpeed1000 / 数值光标闪烁速度(单位:毫秒)
cursorChar|光标使用的字符,支持 HTML 格式
duration-1(无限)/ 数值打字动画完成后光标持续时间(单位:毫秒)
looptrue / false内容是否会在打字动画完成后继续循环

示例如下:

Markdown
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{{< typeit code=java group=paragraph >}}
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
{{< /typeit >}}
{{< typeit group=paragraph */>}
这一个带有基于 [TypeIt](https://typeitjs.com/) 的 **打字动画** 的 *段落*……
{{</* /typeit >}}

图片

Figure

figure 用于插入标准图片,支持标题、说明与署名,适合需要语义结构的图片展示。

Markdown
1
{{< figure src="" alt="" width="" height="" loading="" class="" link="" target="" rel="" title="" caption="" attr="" attrlink="" >}}
参数名取值说明
src字符串图片资源路径(必需)
alt字符串图片替代文本
width数值图片宽度
height数值图片高度
loadinglazy / eager图片加载策略
class字符串<figure> 的 CSS class
link字符串图片链接地址
target字符串图片链接的 target 属性
rel字符串图片链接的 rel 属性
title字符串标题文本(说明区顶部)
caption字符串图片说明文字
attr字符串图片署名信息
attrlink字符串署名链接地址

示例如下:

Markdown
1
{{< figure src="/favicon-96x96.png" alt="示例" link="https://arianote.top" class="w-75" >}}
示例

Image

image 类似 figure,侧重响应式布局与加载性能,适合封面图或大尺寸图片。

Markdown
1
{{< image src="" alt="" caption="" >}}
参数名取值说明
src字符串图片的 URL(必需)
alt字符串图片无法显示时的替代文本
caption字符串图片标题
title字符串当悬停在图片上会显示的提示
class字符串<figure> 的 class 属性
height字符串图片的高度
width字符串图片的宽度
linkedtrue / false图片是否需要被链接
rel字符串<a> 的 rel 补充属性
loadingeager / lazy<a> 的 loading 补充属性
optimisetrue / false图片是否需要被优化,覆盖全局配置
cacheRemotetrue / false是否缓存远程图片,覆盖全局配置

示例如下:

Markdown
1
{{< image src="/favicon-96x96.png" alt="示例" caption="图片说明" title="完整示例" class="w-75" loading="lazy" optimise=true cacheRemote=true >}}
示例
图片说明

QR

qr 用于将文本、链接或结构化信息生成二维码图像,适用于分享链接、联系方式或快速访问入口。

Markdown
1
{{< qr text="" level="" scale= targetDir="" alt="" class="" id="" loading="" title="" >}}
参数名取值说明
text字符串编码内容(未指定时使用标签内文本)
levellow / medium / quartile / high二维码纠错等级
scale4 / 数值QR 模块像素尺寸(≥2)
targetDir字符串输出目录(相对于 publishDir)
alt字符串img 的 alt 属性
class字符串img 的 class 属性
id字符串img 的 id 属性
loadingeager / lazy图片加载策略
title字符串img 的 title 属性

示例如下:

Markdown
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{{< 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 >}}
QR code of vCard for John Smith

链接

link 用于生成指向链接,可显示为普通文本或卡片样式,适合外部网站、邮箱地址或可下载资源。

Markdown
1
{{< link href="" content="" title="" card="" card-icon="" >}}
参数名取值说明
href字符串链接的目标(必需)
content字符串链接的内容,默认是 href 的内容
title字符串悬停提示文本
cardtrue / false是否显示为卡片式链接
card-icon字符串卡片式链接的图标
download字符串<a> 的 download 属性
class字符串<a> 的 class 属性
rel字符串<a> 的 rel 补充属性
external-icontrue / false是否自动显示外链图标
noreferrertrue / falseref 属性是否自动添加 noreferrer

示例如下:

Markdown
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// 普通链接
{{< link "https://arianote.top" >}}
{{< link "mailto:example@qq.com" >}}
{{< link "https://arianote.top" AriaNote >}}
{{< link "https://arianote.top" AriaNote "温故而知新" >}}

// 卡片式链接
{{< link "https://arianote.top" "AriaNote" "我的博客" true >}}
{{< link "https://arianote.top" "AriaNote" "我的博客" true "/avatar.webp" >}}
{{< link "https://arianote.top" "AriaNote" "我的博客" true "fa-solid fa-blog" >}}

// 可下载链接:
{{< link href="/avatar.webp" content="avatar.webp" title="下载头像" download="avatar.webp" >}}
{{< link href="/avatar.webp" content="头像.webp" title="下载头像" download="avatar.webp" card=true >}}
AriaNote AriaNote arianote.top card image 头像.webp /avatar.webp

Ref

ref 用于在站点内部页面之间建立绝对引用链接,适合文章跳转或跨语言引用。

Markdown
1
{{% ref path="" lang="" outputFormat="" %}}
参数名取值说明
path字符串目标页面路径
lang字符串目标页面语言
outputFormat字符串目标页面输出格式

示例如下:

Markdown
1
2
3
4
[Link A]({{% ref "/books/book-1" %}})
[Link B]({{% ref path="/books/book-1" %}})
[Link C]({{% ref path="/books/book-1" lang="de" %}})
[Link D]({{% ref path="/books/book-1" lang="de" outputFormat="json" %}})

Relref

relref 用于在站点内部页面之间建立相对引用链接,适合站内文章跳转。

Markdown
1
{{% relref path="" lang="" outputFormat="" %}}
参数名取值说明
path字符串目标页面路径
lang字符串目标页面语言
outputFormat字符串目标页面输出格式

示例如下:

Markdown
1
2
3
4
[Link A]({{% relref "/books/book-1" %}})
[Link B]({{% relref path="/books/book-1" %}})
[Link C]({{% relref path="/books/book-1" lang="de" %}})
[Link D]({{% relref path="/books/book-1" lang="de" outputFormat="json" %}})

Bluesky

bluesky 用于嵌入 Bluesky 平台的单条帖子,展示原帖内容及其上下文。

Markdown
1
{{< bluesky link="" >}}
参数名取值说明
link字符串Bluesky 帖子的 URL(必需)

示例如下:

Markdown
1
{{< bluesky link="https://bsky.app/profile/bsky.app/post/3latotljnec2h" >}}

Instagram

instagram 用于嵌入 Instagram 单条帖子,自动加载官方样式并支持响应式布局。

Markdown
1
{{< instagram [id] >}}
参数名取值说明
id字符串Instagram 帖子的 ID(必需)

示例如下:

Markdown
1
{{< instagram CxOWiQNP2MO >}}

Reward

reward 用于在文章底部展示打赏或赞助方式,支持多种支付平台。

Markdown
1
{{< reward wechatpay="" alipay="" paypal="" bitcoin="" author="" comment="" mode="" >}}
参数名取值说明
wechatpay字符串微信支付二维码图片路径
alipay字符串支付宝二维码图片路径
paypal字符串PayPal 打赏图片路径
bitcoin字符串比特币收款图片路径
author字符串作者名称
comment字符串打赏提示文案
modestatic / fixed二维码图片展示模式

示例如下:

Markdown
1
{{< reward wechatpay="/images/wechatpay.gif" alipay="/images/alipay.gif" comment="给作者买杯卡布奇诺~" >}}

X

x 用于嵌入 X(原 Twitter)平台的单条帖子。

Markdown
1
{{< x user="" id="" >}}
参数名取值说明
user字符串发布该帖子的 X 用户名(必需)
id字符串X 帖子的 ID(必需)

示例如下:

Markdown
1
{{< x user="SanDiegoZoo" id="1453110110599868418" >}}

图表

Echarts

echarts 用于嵌入 ECharts 交互式图表,适合展示折线图、柱状图、饼图等数据可视化内容。

Markdown
1
2
3
{{< echarts >}}
...
{{< /echarts >}}
参数名取值说明
width100% / 字符串数据可视化的宽度
height30rem / 字符串数据可视化的高度
jstrue / false是否使用 JS 格式
asynctrue / falseJS 代码是否异步执行
file字符串页面资源或 assets 中的数据文件
data字符串Hugo 站点数据键(echarts 范围)

示例如下:

Markdown
 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 图表,适合流程图、时序图、状态图等结构化表达。

Markdown
1
2
3
{{< mermaid >}}
...
{{< /mermaid >}}

示例如下:

Markdown
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 交互式地图,支持缩放、标记点及自定义样式。

Markdown
1
{{< mapbox lng="" lat="" zoom="" marked="" light-style="" dark-style="" markers="" >}}
参数名取值说明
lng数值地图初始中心点的经度(必需)
lat数值地图初始中心点的纬度(必需)
zoom18 / 数值地图的初始缩放级别
markedtrue / false是否显示中心点标记
light-style字符串浅色模式地图样式
dark-style字符串深色模式地图样式
markerslng / lat / description地图多标记点数组
navigationtrue / false是否显示导航控件
geolocatetrue / false是否显示定位控件
scaletrue / false是否显示比例尺
fullscreentrue / false是否显示全屏按钮
width100% / 字符串地图的宽度
height20rem / 字符串地图的高度

示例如下:

Markdown
1
{{< mapbox lng=113.953277 lat=22.559102 markers="[{\"lng\": 113.81841, \"lat\": 22.637524, \"description\": \"宝安国际机场\"},{\"lng\": 113.953386, \"lat\": 22.559052, \"description\": \"标记 2\"},{\"lng\": 114.035746,\"lat\": 22.615667, \"description\": \"深圳北站\"}]" >}}

影音

APlayer

aplayer 用于创建功能完整的音频播放器,支持播放列表、歌词同步、主题色自定义等。

Markdown
1
2
3
4
{{< aplayer fixit= mini= autoplay= theme="" loop="" order="" preload="" volume= mutex= lrcType= listfolder= listMaxHeight="" storageName="" >}}
  {{< audio name="" artist="" url="" cover=" lrc="" theme="" type="" >}}
  {{< /audio >}}
{{< /aplayer >}}
容器参数取值说明
APlayerfixedtrue / false是否固定在页面底部
minitrue / false是否启用迷你模式
autoplaytrue / false是否自动播放
theme#b7daff / 字符串播放器主题色
loopall / one / none循环模式
orderlist / random播放顺序
preloadnone / metadata / auto预加载方式
volume0.7 / 数值默认音量(0~1)
mutextrue / false是否互斥播放
lrcType0 / 1 / 3歌词类型
listFoldedtrue / false是否折叠播放列表
listMaxHeight字符串播放列表最大高度
storageName字符串本地存储键名
Audioname字符串音频名称(必需)
artist字符串音频艺术家
url字符串音频地址(必需)
cover字符串封面图片地址
lrc字符串歌词文件地址
theme字符串切换到此音频模式时覆盖播放器主题色
typeauto / hls / normal / 字符串音频类型

示例如下:

Markdown
1
2
3
4
5
6
7
8
{{< 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="Wavelength-1" artist="oldmanyoung" url="/music/Wavelength.mp3" cover="/images/Wavelength.webp" />}}
  {{< audio name="Wavelength-2" artist="oldmanyoung" url="/music/Wavelength.mp3" cover="/images/Wavelength.webp" >}}
    [00:00.00]APlayer audio2
    [00:04.01]is
    [00:08.02]amazing
  {{< /audio >}}
{{< /aplayer >}}

Bilibili

bilibili 用于嵌入哔哩哔哩视频,支持多 P 分集播放与弹幕控制。

Markdown
1
{{< bilibili [id] [p] [autoplay] [poster] [muted] [danmaku] [t] >}}
参数名取值说明
id字符串视频 BV ID(必需)
p1 / 数值多 P 视频的分集序号,从 1 开始
autoplaytrue / false是否自动播放
postertrue / false是否显示视频封面
mutedtrue / false是否静音播放
danmakutrue / false是否开启弹幕
t0 / 数值跳转到媒体的初始时间点(单位:秒)

示例如下:

Markdown
1
{{< bilibili BV1kt411k7Rq 3 >}}

Douyin

douyin 用于嵌入抖音短视频内容。

Markdown
1
{{< douyin [id] >}}
参数名取值说明
id字符串抖音视频的 ID(必需)

示例如下:

Markdown
1
{{< douyin 7388149561765760266 >}}

Music

music 是播放器能力的简化封装,适合快速嵌入单首音乐、播放列表或主流音乐平台资源。

Markdown
1
2
3
4
5
6
7
8
// 自定义本地音乐
{{< music url="" name= artist= cover="" >}}

// 音乐平台自动识别
{{< music [auto] >}}

// 自定义音乐平台
{{< music [server] [type] [id] >}}
类型参数名取值说明
本地url字符串音乐的链接(必需)
name字符串音乐的名称
artist字符串音乐的创作者
cover字符串音乐的封面链接
识别auto字符串音乐平台链接(必需)
平台servernetease / tencent / kugou / xiami / baidu音乐平台(必需)
typesong / playlist / album / search / artist音乐类型(必需)
id字符串音乐 ID(必需)
通用theme#448aff / 字符串播放器主题色
fixedtrue / false是否开启固定模式
minitrue / false是否开启迷你模式
autoplaytrue / false是否自动播放音乐
volume0.7 / 数值初次打开默认音量(0~1)
mutextrue / false是否自动暂停其它播放器
loopall / one / none音乐列表的循环模式
orderlist / random音乐列表的播放顺序
list-foldedtrue / false初次打开是否折叠
list-max-height340px / 字符串音乐列表的最大高度

示例如下:

Markdown
1
2
3
4
5
6
7
8
// 自定义本地音乐
{{< music url="/music/demo.mp3" name="Demo" artist="示例" cover="/avatar.webp" >}}

// 音乐平台自动识别
{{< music "https://music.163.com/#/playlist?id=60198" >}}

// 自定义音乐平台
{{< music netease song 1868553 >}}

Spotify

spotify 用于直接嵌入 Spotify 内容,支持专辑、歌单、艺术家或单曲。

Markdown
1
{{< spotify [type] [id] [width] [height] >}}
参数名取值说明
typeartist / album / track / playlistSpotify 音乐类型(必需)
id字符串Spotify 音乐 ID(必需)
width字符串音乐播放器的宽度
height字符串音乐播放器的高度

示例如下:

Markdown
1
{{< spotify artist 74ASZWbe4lXaubB36ztrGX >}}

Vimeo

vimeo 通过 Hugo 原生 Shortcode 嵌入 Vimeo 视频。

Markdown
1
{{< vimeo id= allowFullScreen= class= loading= title= >}}
参数名取值说明
id字符串Vimeo 视频 ID(必需)
allowFullScreentrue / false是否允许全屏
class字符串包裹元素的 CSS class
loadingeager / lazyiframe 加载策略
title字符串iframe 的 title 属性

示例如下:

Markdown
1
{{< vimeo id=19899678 allowFullScreen=false loading=lazy >}}

Youtube

youtube 通过 Hugo 原生 Shortcode 嵌入 YouTube 视频。

Markdown
1
{{< youtube id= allowFullScreen= autoplay= class= controls= end= loading= loop= mute= start= title >}}
参数名取值说明
id字符串YouTube 视频 ID(必需)
allowFullScreentrue / false是否允许全屏
autoplaytrue / false是否自动播放(开启后强制静音)
class字符串包裹 div 的 CSS class
controlstrue / false是否显示播放器控件
end数值视频停止播放时间
loadingeager / lazyiframe 加载策略
looptrue / false是否循环播放
mutetrue / false是否静音
start数值视频开始播放时间
title字符串iframe 的 title 属性

示例如下:

Markdown
1
{{< youtube id=0RKpf3rK57I start=30 end=60 loading=lazy >}}

开发

Env

env 根据 Hugo 的构建环境有条件地渲染内容,仅在匹配的环境中显示。

Markdown
1
2
3
{{< env "[hugo_env]" >}}
...
{{< /env >}}
参数名取值说明
hugo_envdevelopment / production目标构建环境(必需)

示例如下:

Markdown
1
2
3
4
{{< env "production" >}}
This content is only rendered in the production environment.
里面的内容只会在生产环境中渲染。
{{< /env >}}

Fixit-encryptor

fixit-encryptor 用于对页面内容进行局部或全部加密,支持无限级嵌套。

Markdown
1
2
3
{{% fixit-encryptor "[password]" "[message]" %}}
...
{{% /fixit-encryptor %}}
参数名取值说明
password字符串加密密码(必需),全文加密在 Front Matter 设置
message字符串加密提示信息,全文加密在 Front Matter 设置

示例如下:

Markdown
1
2
3
4
5
6
7
8
9
{{< fixit-encryptor "1212" "密码是 1212" >}}
第一层加密内容。
{{< fixit-encryptor "1212" "密码是 1212" >}}
第二层加密内容。
{{< fixit-encryptor "1212" "密码是 1212" >}}
第三层加密内容。
{{< /fixit-encryptor >}}
{{< /fixit-encryptor >}}
{{< /fixit-encryptor >}}
decryptor loading
56ys502f9ed2a8d1e08d8f74f5303e9eb93637d47f82ab6f1c15871cf8dd0481LiA5bGC5Yqg5a+G5YaF5a6544CCCjxmaXhpdC1lbmNyeXB0b3I+CjxkaXYgY2xhc3M9ImZpeGl0LWRlY3J5cHRvci1jb250YWluZXIiPgo8aW1nIGNsYXNzPSJmaXhpdC1kZWNyeXB0b3ItbG9hZGluZyIgc3JjPSIvaW1hZ2VzL2xvYWRpbmcubWluLnN2ZyIgYWx0PSJkZWNyeXB0b3IgbG9hZGluZyIgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiAvPgo8bGFiZWwgZm9yPSJpZC01IiB0aXRsZT0i5a+G56CBIj4KPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0iaWQtNSIgY2xhc3M9ImZpeGl0LWRlY3J5cHRvci1pbnB1dCIgcGxhY2Vob2xkZXI9IvCflJEg5a+G56CB5pivIDEyMTIiIC8+CjwvbGFiZWw+CjxidXR0b24gY2xhc3M9ImZpeGl0LWRlY3J5cHRvci1idG4iPjxpIGNsYXNzPSJmYS1zb2xpZCBmYS11bmxvY2siIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+6L+b5YWlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0iZGVjcnlwdG9yLWNvbnRlbnQiPjwvZGl2PjxjaXBoZXItdGV4dCBkYXRhLXBhc3N3b3JkPSI0OGM3MjA3NmE5NDAzOGQxIj41NnlzNTAyZjllZDJhOGQxZTA4ZDhmNzRmNTMwM2U5ZWI5MzYzN2Q0N2Y4MmFiNmYxYzE1ODcxY2Y4ZGQwNDgxTHFNNWJHQzVZcWc1YStHNVlhRjVhNjU0NENDQ2p4bWFYaHBkQzFsYm1OeWVYQjBiM0krQ2p4a2FYWWdZMnhoYzNNOUltWnBlR2wwTFdSbFkzSjVjSFJ2Y2kxamIyNTBZV2x1WlhJaVBnbzhhVzFuSUdOc1lYTnpQU0ptYVhocGRDMWtaV055ZVhCMGIzSXRiRzloWkdsdVp5SWdjM0pqUFNJdmFXMWhaMlZ6TDJ4dllXUnBibWN1YldsdUxuTjJaeUlnWVd4MFBTSmtaV055ZVhCMGIzSWdiRzloWkdsdVp5SWdkMmxrZEdnOUlqUTRJaUJvWldsbmFIUTlJalE0SWlBdlBnbzhiR0ZpWld3Z1ptOXlQU0pwWkMwMElpQjBhWFJzWlQwaTVhK0c1NkNCSWo0S1BHbHVjSFYwSUhSNWNHVTlJbkJoYzNOM2IzSmtJaUJwWkQwaWFXUXROQ0lnWTJ4aGMzTTlJbVpwZUdsMExXUmxZM0o1Y0hSdmNpMXBibkIxZENJZ2NHeGhZMlZvYjJ4a1pYSTlJdkNmbEpFZzVhK0c1NkNCNXBpdklERXlNVElpSUM4K0Nqd3ZiR0ZpWld3K0NqeGlkWFIwYjI0Z1kyeGhjM005SW1acGVHbDBMV1JsWTNKNWNIUnZjaTFpZEc0aVBqeHBJR05zWVhOelBTSm1ZUzF6YjJ4cFpDQm1ZUzExYm14dlkyc2lJR0Z5YVdFdGFHbGtaR1Z1UFNKMGNuVmxJajQ4TDJrKzZMK2I1WVdsUEM5aWRYUjBiMjQrUEM5a2FYWStQR1JwZGlCamJHRnpjejBpWkdWamNubHdkRzl5TFdOdmJuUmxiblFpUGp3dlpHbDJQanhqYVhCb1pYSXRkR1Y0ZENCa1lYUmhMWEJoYzNOM2IzSmtQU0kwT0dNM01qQTNObUU1TkRBek9HUXhJajQxTm5sek5UQXlaamxsWkRKaE9HUXhaVEE0WkRobU56Um1OVE13TTJVNVpXSTVNell6TjJRME4yWTRNbUZpTm1ZeFl6RTFPRGN4WTJZNFpHUXdORGd4VEdsS05XSkhRelZaY1djMVlTdEhOVmxoUmpWaE5qVTBORU5EUEM5amFYQm9aWEl0ZEdWNGRENEtQQzltYVhocGRDMWxibU55ZVhCMGIzSSs8L2NpcGhlci10ZXh0Pgo8L2ZpeGl0LWVuY3J5cHRvcj4=

File Tree

file-tree 用于将目录结构或层级数据渲染为可交互的文件树视图,适合展示项目结构或层级数据。

Markdown
1
2
3
{{< file-tree path="" level= folder_slash= file="" data="" ignore_list="" highlight_list="" name="" >}}
...
{{< /file-tree >}}
参数名取值说明
path/ / 字符串扫描的路径
level1 / 0 / -1树的初始展开层级
folder_slashtrue / false是否在文件夹名称后追加 /
file字符串从页面资源或 assets 读取 JSON / YAML / TOML 文件
data字符串从 data/filetree/ 读取 JSON / YAML / TOML 文件
ignore_list字符串要忽略的文件或文件夹,以逗号分隔
highlight_list字符串要高亮的文件或文件夹,以逗号分隔
name字符串根节点名称,设为 {path} 则显示完整路径

示例如下:

Markdown
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
// 内嵌 YAML 格式内容
{{< file-tree >}}
- name: src
  type: dir
  children:
  - name: index.ts
    type: file
  - name: app.ts
    type: file
- name: package.json
  type: file
{{< /file-tree >}}

// 读取数据文件
{{< file-tree file="data/tree.yml" />}}
{{< file-tree data="example" />}}

// 文件系统扫描
{{< file-tree />}}
{{< file-tree level=0 ignore_list=".autocorrectignore,.autocorrectrc,.frontmatter,.vscode" name="{path}" />}}
  • src
    • index.ts
    • app.ts
  • package.json

Highlight

highlight 用于在 Markdown 中展示带有语法高亮的代码块。

Markdown
1
2
3
{{< highlight [lang] "anchorlinenos= codefences= guesssyntax= hl_lines= hl_inline= lineanchors= linenostart= linenos= linenumbersintable= noclasses= style= tabwidth= wrapperclass=" >}}
...
{{< /highlight >}}
参数名取值说明
lang字符串代码语言,不区分大小写
anchorlinenostrue / false是否将行号渲染为锚元素
codefencestrue / false是否高亮围栏代码块
guesssyntaxtrue / false未知语言时是否自动检测
hl_lines字符串空格分隔的行号列表,如 2-4 7
hl_inlinetrue / false是否渲染为行内高亮代码,不产生包装容器
lineanchors字符串行号锚元素 id 的前缀
linenostart1 / 数值起始行号
linenostrue / false / inline / table行号显示方式
linenumbersintabletrue / false是否用表格渲染行号
noclassestrue / false是否使用内联 CSS 样式
stylemonokai / 字符串CSS 样式名称,不区分大小写
tabwidth4 / 数值制表符替换为空格的数量
wrapperclasshighlight / 字符串最外层 class 名称

示例如下:

Markdown
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{{< highlight go "linenos=inline, hl_lines=3 6-8, style=emacs" >}}
package main

import "fmt"

func main() {
    for i := 0; i < 3; i++ {
        fmt.Println("Value of i:", i)
    }
}
{{< /highlight >}}
1package main
2
3import "fmt"
4
5func main() {
6    for i := 0; i < 3; i++ {
7        fmt.Println("Value of i:", i)
8    }
9}

Gist

gist 用于在文档中嵌入 GitHub Gist 中的代码,适合展示外部或可复用的代码片段。

Markdown
1
{{< gist [username] [gist_id] [file] >}}
参数名取值说明
username字符串拥有 gist 的 GitHub 用户名(必需)
gist_id字符串gist 的 ID(必需)
file字符串要显示的 gist 中的特定文件

示例如下:

Markdown
1
{{< gist Lruihao fb8b2d0353465c4d40bf74818db80710 >}}

Param

param 用于读取页面 Front Matter 或站点配置中的参数值。

Markdown
1
{{% param "[param_name]" %}}
参数名取值说明
param_name字符串Front Matter 或站点配置的参数名称

示例如下:

Markdown
1
2
3
4
5
6
7
8
9
---
title: Example
date: 2025-01-15T23:29:46-08:00
params:
  color: red
  size: medium
---

We found a {{% param "color" %}} shirt.

Script

script 用于嵌入自定义 JavaScript 代码,可能会影响页面行为。

Markdown
1
2
3
{{< script >}}
...
{{< /script >}}

示例如下:

Markdown
1
2
3
{{< script >}}
console.log('Hello FixIt!');
{{< /script >}}

Style

style 用于定义或引入自定义 CSS,仅在当前 Shortcode 作用域内生效。

Markdown
1
2
3
{{< style "[custom_style]" "[tag]" >}}
...
{{< /style >}}
参数名取值说明
custom_style字符串自定义样式内容(必需),支持 SASS 嵌套语法
tagdiv / 字符串包裹内容的父级 HTML 标签

示例如下:

Markdown
1
2
3
{{< style "text-align:right; strong{color:#00b1ff;}" >}}
This is a **right-aligned** paragraph.
{{< /style >}}

Version

version 用于标记功能或项目的版本变更信息,常见于更新日志或文档注释中。

Markdown
1
{{< version [version] [type] [prefix] [project] >}}
参数名取值说明
version字符串版本号(必需)
typenew / changed / deleted / deprecated类型
prefixhttps://github.com/hugo-fixit/FixIt/releases/tag/v / 字符串发行标签的 URL 前缀
projectFixIt / 字符串项目名称

示例如下:

Markdown
1
2
3
4
{{< version 0.3.15 >}}
{{< version 0.3.15 changed >}}
{{< version 0.3.15 deleted >}}
{{< version 0.3.15 deprecated >}}

FixIt 0.3.15 | 新增
FixIt 0.3.15 | 更改
FixIt 0.3.15 | 删除
FixIt 0.3.15 | 弃用

留言交流