Markdown 语法测试
这是一份语法自检页:把 Markdown(Hugo Goldmark + LoveIt 扩展)和主题的扩展能力逐项列出来,用来确认「源码怎么写 → 页面上长什么样」。
一、标题层级 H1–H6
下面六级标题是真实渲染,同时会按层级出现在右侧目录里(H1 会进目录,因为本页 startLevel 从 2 起算,H1 反而不进)。
H1 一级标题
H2 二级标题
H3 三级标题
H4 四级标题
H5 五级标题
H6 六级标题
说明:正文里用
#写 H1 是可以的,但通常留空,因为页面标题本身已经是 H1。中文标题的锚点 id 会保留中文,例如本节是#一标题层级-h1h6。
二、段落、换行与分隔线
这是一个普通段落。段落内的单个换行不会产生 <br>,只会在源码里换行,渲染后仍是一行。
这一行和第二行之间只有一个换行。
这一行结尾有两个空格(硬换行),
所以这里会真正断行。
这一行结尾用反斜杠,
也会断行。
也可以用 <br> 强制换行:第一段
第二段。
下面是三个连字符构成的分隔线:
下面是 <hr> 标签:
三、文字样式
| 效果 | 写法 | 渲染 |
|---|---|---|
| 粗体 | **粗体** |
粗体 |
| 斜体 | *斜体* |
斜体 |
| 粗斜体 | ***粗斜体*** |
粗斜体 |
| 删除线 | ~~删除线~~ |
|
| 行内代码 | `代码` |
代码 |
| 下划线(HTML) | <u> |
下划线 |
| 高亮(HTML) | <mark> |
高亮标记 |
| 键盘键(HTML) | <kbd> |
Ctrl + C |
| 上标(HTML) | <sup> |
x2 |
| 下标(HTML) | <sub> |
H2O |
| 小字(HTML) | <small> |
小号文字 |
| 缩写(HTML) | <abbr> |
CSS |
未启用的扩展写法(Goldmark 默认不带,写出来就是原样文本):==高亮== 显示为 ==高亮==,H~2~O 显示为 H~2~O。
四、链接
行内链接:Hugo 官网。
带 title 的链接:LoveIt 主题,鼠标悬停能看到提示。
引用式链接:Goldenmark 文档,定义写在文末。
自动链接(尖括号):https://gohugo.io/。
裸链接(linkify 开启,会自动变成链接):https://gohugo.io/
站内链接(相对路径,会走主题的 render-link 钩子):返回工具列表。
页内锚点:跳到第九节表格。
邮件链接:mailto:someone@example.com。
主题行为:外链会自动加
target="_blank"和外链图标;站内链接不加。上面前两个链接应该能看到右上角的小箭头。
五、图片
图片统一用站内绝对路径引用(/images/post/20171220/文件名)。
5.1 基本图片(无标题)

5.2 带标题的图片(会变成 figure + figcaption)
注意:Markdown 的图片「标题」在 LoveIt 里不是
title提示,而是图注。写法是。
5.3 矢量图 SVG
踩坑记录(重要):本文最初是 page bundle 结构(
20171220/index.md+ 同目录图片),SVG 放在文章目录里会让构建直接失败。LoveIt 的plugin/img.html会对页面资源调用.Width,而 Hugo 的.Width只支持位图:
error calling Width: this method is only available for raster images现在统一改成
static/images/post/20171220/+ 绝对路径,模板查不到页面资源、不会去取宽高,SVG 自然没问题,也和仓库里其它文章的图片组织方式一致了。
5.4 透明通道 PNG

5.5 棋盘格(检查缩放与边框)
5.6 图片 shortcode(可指定宽高与说明)
image shortcode,可传 width / height / linked关于外链图片:博客页只下发了 COOP、没有 COEP,所以技术上可以贴外链图;但本文 2017 年的旧版就是反例——5 张图全在
zybuluo.com上,图床一下线就只剩破图图标。图片统一放static/images/post/<id>/,它会跟仓库一起备份、一起发布。
六、列表
6.1 无序列表
- 第一项
- 第二项
- 嵌套一项
- 嵌套二项
- 三级嵌套
- 第三项
6.2 有序列表
- 第一步
- 第二步
- 第三步
6.3 有序列表指定起始序号
- 从 3 开始
- 然后是 4
- 然后是 5
6.4 混合嵌套
- 顶层有序
- 里面无序
- 还是无序
- 再套有序
- 再套有序
- 回到顶层
6.5 任务列表
- 已完成的事项
- 另一个已完成
- 未完成的事项
- 子任务已完成
- 子任务未完成
6.6 定义列表
- Goldmark
- 一个用 Go 写的 Markdown 解析器,Hugo 从 0.60 起默认使用它。
- LoveIt
- 当前站点使用的 Hugo 主题。
- 支持 admonition、mermaid、echarts 等扩展。
6.7 列表里放代码和引用
-
第一步,执行命令:
1hugo --environment gitee -
第二步,看输出:
注意退出码,别只看最后一行日志。
七、引用
单层引用:
这是一段引用。引用里可以放加粗、
行内代码和链接。
嵌套引用:
第一层
第二层
第三层
引用里放列表和代码:
引用中的列表:
- 项目 A
- 项目 B
引用中的代码:
1console.log('blockquote + code');
八、代码
8.1 行内代码
用 npm install 安装依赖,配置文件在 config/_default/config.toml。
8.2 围栏代码块(带语言高亮)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8.3 指定高亮行
写法是在语言后面加参数:{hl_lines=[2,"5-6"]}。
|
|
8.4 关闭行号
echo "这一块没有行号"
echo "适合单行命令"
8.5 无语言围栏
|
|
8.6 超长代码的折叠效果
params.page.code.maxShownLines = 50,所以下面这块会被折叠,需要点展开。
|
|
九、表格
9.1 基本表格与对齐
| 左对齐 | 居中 | 右对齐 | 默认 |
|---|---|---|---|
| a | b | c | d |
| 长一点的内容 | 居中显示 | 1234567 | 默认对齐 |
行内代码 |
加粗 | 链接 |
9.2 宽表格(检查是否横向滚动)
| 序号 | 项目 | 说明文字比较长用来撑开宽度 | 状态 | 负责人 | 更新时间 | 备注 |
|---|---|---|---|---|---|---|
| 1 | 资源加载 | 检查 gzip_static 是否命中并返回压缩后的内容 | 完成 | midaug | 2026-11-03 | — |
| 2 | 缓存策略 | vendor 目录缺少 Cache-Control,回访时依赖条件请求 | 待办 | midaug | 2026-11-03 | 优化项 |
| 3 | 跨源隔离 | COOP/COEP 已下发,待真机确认线程数 | 进行中 | midaug | 2026-11-03 | — |
十、脚注
Hugo 的 footnote 扩展已开启,写法是 [^1],定义放在文末1。同一个脚注可以被多次引用2,也可以指向更长的说明3。
这也是检查脚注回链(↩)是否正常的好机会1。
十一、原生 HTML 块
unsafe = true,所以可以直接写 HTML。
点击展开:一个原生 details 折叠块
里面可以放任意 Markdown 或 HTML。注意:details 内部的 Markdown 需要空行隔开才会被解析。
- 列表项
- 列表项
<figure> + <figcaption>带内联样式的段落(不推荐在正文大量使用,但确实生效)。
十二、admonition(12 种类型)
note,最常用的一种。abstract。info。success。question。warning。failure。danger。bug。example。quote。十三、其他 shortcode
13.1 mermaid 流程图
13.2 echarts 图表
13.3 typeit 打字机
13.4 link 与 version
用 shortcode 写的链接13.5 style 自定义样式
这段文字用原生 HTML 的 style 属性上色。
重要(这个坑会让整站构建失败):主题自带的
{{< style "color:#e83e8c;" >}}...{{< /style >}}在本仓库用不了。 它会把样式塞进styleArr,再交给assets.html用ToCSS编译成临时.scss,而hugo_bin/hugo是非 extended 版,只能报错:
TOCSS: failed to transform "/css/xxxxxx.scss": you need the extended version to build SCSS/SASS所以正文里的自定义样式一律用原生
<span style="...">/<div style="...">,不要用styleshortcode。
13.6 需要外部服务、本页未实际启用的(用法示例)
下面这些不是坏了,而是需要额外条件(B 站视频 id、Mapbox token、音乐服务器、外部头像),所以只列写法,不实际渲染。
|
|
十四、数学公式(本页已启用)
这一页的 front matter 写了 math: true,所以本节的公式会由 KaTeX 真的排版出来。
14.1 行内公式
写法是 $...$:质能方程 $E = mc^2$,勾股定理 $a^2 + b^2 = c^2$,欧拉恒等式 $e^{i\pi} + 1 = 0$。
14.2 块级公式
$$ 单独占一行,中间可以随便换行:
14.3 多行对齐
aligned 环境里用 & 对齐、\\ 换行:
14.4 矩阵与行列式
$$ \mathbf{A} = \begin{pmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{pmatrix}, \qquad \det \mathbf{A} = a_{11}a_{22} - a_{12}a_{21} $$14.5 求和、极限、希腊字母
$$ \sum_{i=1}^{n} i = \frac{n(n+1)}{2}, \qquad \lim_{x \to 0} \frac{\sin x}{x} = 1, \qquad \prod_{k=1}^{m} \alpha_k \beta_k $$14.6 化学式(mhchem 插件)
站点配置里 mhchem = true,所以 \ce{} 也能用:
14.7 复制公式
配置里 copyTex = true,鼠标划选公式后复制,剪贴板里拿到的是 LaTeX 源码而不是乱码字符。
14.8 启用方式与代价(重要)
这里和主题默认行为不一样,值得记一笔:
- 主题原生只支持「全站开 + 单页关」。
assets.html里是if eq $math true → 用 .Site.Params.page.math,也就是 front matter 写math: true只是「去读站点配置」,而站点配置enable = false时永远不加载。 - 本站改成了「单页开」。项目里的
layouts/partials/assets.html覆盖了主题同名文件,把上面那行改成:math: true时强制enable = true。站点配置继续保持enable = false,所以只有本页会加载 KaTeX。 - 代价:本页多出 KaTeX 的 CSS(23 KB)+ JS(273 KB)+ auto-render(3 KB)+ mhchem(34 KB),gzip 后约 100 KB 出头,其余页面不受影响。以后写新文章要用公式,front matter 加一行
math: true就行。 - Goldmark passthrough 已开启(
markup.goldmark.extensions.passthrough),$...$/$$...$$/\(...\)/\[...\]之间的内容会原样透传给 KaTeX,不再被 Markdown 解析。所以公式里的_、*、\\都不用转义——这是最容易踩的坑:没有 passthrough 时,a_1 + a_2里的下划线会被当成强调语法吃掉。
金额写法提醒:正文里成对出现的
$会被当成行内公式(比如「$5 到 $10」如果不用反斜杠转义,中间的文字会被当公式)。写金额时用\$转义,或者放进反引号里。
十五、转义与特殊字符
转义星号:*这不是斜体*,转义反引号:`不是代码`,转义下划线:_不是斜体_。
HTML 实体:& → &,< → <,© → ©, 会产生一个不换行空格。
中文标点与 typographer(连写两个连字符、三个点和直引号会被转换):"–" 变成 –;"…" 变成 …;“引号” 会变成弯引号(具体看字体)。
Emoji(twemoji = false,所以直接用系统 emoji 字体):🙂 🚀 ✅ ❌ 📄
十六、目录、锚点与源码链接
- 右侧目录:由
##到######生成,tocFolding: true时可以折叠。本节标题就出现在里面。 - 锚点:点目录项跳到标题,URL 会带上
#xxx。中文标题的 id 保留中文,空格转成连字符,英文会转小写。 - 查看源码:
linkToMarkdown = true,页面底部(或标题下方)会有「查看 Markdown 源码」的入口,指向本文件渲染出的.md。 - 上一篇 / 下一篇:文章底部按日期自动生成。
十七、自检清单
对照下表逐项确认,哪一项不对就说明对应配置或主题行为有变化。
| 项目 | 预期结果 |
|---|---|
| 六级标题 | 字号递减,H2 以下进右侧目录 |
| 硬换行 | 两个空格 / 反斜杠 / <br> 都能断行 |
| 文字样式 | 粗、斜、粗斜、删除线、行内代码全部生效 |
==高亮== |
原样显示,说明未启用该扩展 |
| 链接 | 外链带图标且新窗口打开,站内链接不带 |
| 图片 | 5 张图正常显示,带标题的变成 figure + 图注,路径均为 /images/post/20171220/ |
| 宽表格 | 超出宽度时容器内横向滚动,不撑破布局 |
| 代码块 | 有行号、有复制按钮、指定行高亮、超 50 行折叠 |
| 脚注 | 文末有脚注区,可点 ↩ 回到引用处 |
| 任务列表 | 复选框可勾选(只读样式,不能真的改) |
| 定义列表 | 术语与定义上下排列 |
| admonition | 12 种颜色与图标各不相同 |
| mermaid | 渲染成流程图,不是源码文本 |
| echarts | 渲染成柱状图 |
| typeit | 文字逐字出现 |
| 数学公式 | 排版成数学式,不是 $...$ 源码 |
| 原生 HTML | details 可展开,figure/figcaption 正常 |