步骤
{.steps} 就是带编号圆点与竖线的操作步骤;步骤要带标题、要进目录时改用 steps shortcode。步骤(Steps)是带编号圆点与竖线的有序列表:一个普通有序列表,加一行 {.steps} 标记,编号圆点与串起它们的竖线由 CSS 绘制,不加载脚本。用于有先后的操作流程。并列而无先后的内容用普通列表或卡片。
写法有两种:有序列表加 {.steps}(默认选它),以及 {{% steps %}} shortcode,每一步要有自己的标题、标题还要进右侧目录时用它。
最简例子
每一项都写 1.,让 Markdown 自己数。这样插入、删除、调换步骤都不用手改编号,而且内容缩进恒定是三个空格。
- 安装 Hugo Extended
- 克隆文档站
- 启动本地预览
{.steps} 必须紧贴列表最后一行,中间空一行它就会变成正文里一段可见的花括号。
步骤内容
列表项里可以放任何块级内容:段落、代码围栏、提示块、表格、嵌套列表、图片。缩进对齐到列表项的内容列(三个空格)即可。
-
克隆文档站,它本身就是主题的完整示例。
-
启动本地服务器。
说明首次构建会通过 Go 模块代理拉取主题,需要本机安装 Go。
-
替换三处内容,它就是你的站点。
位置 替换为 hugo.yml的title你的站名 hugo.yml的baseURL你的域名 content/你的内容
{{< … >}} 形式的 shortcode(标签页、卡片、徽章等)也可以写在列表项里;{{% … %}} 形式不行,见下面的限制。
一步里按平台分开
某一步在不同平台上命令不同时,把带 {tab=} 的围栏并排写进那个列表项,它们照样会合成标签页。
-
安装 Hugo Extended。
-
安装依赖:
EL / RHELDebian / Ubuntu -
运行
hugo server预览。
接着上一组往下编号
正文隔断了一组步骤时,把新一组的第一项写成它实际的序号,Markdown 会输出 start,编号从那里继续(支持到 40)。
- 配置
baseURL与部署工作流。 - 推送到
main,等待 GitHub Actions 构建完成。
带标题的步骤
步骤本身很长、每一步该有个能被链接和被目录收录的标题时,用 {{% steps %}}:它的正文是页面级 Markdown,里面的每一个直接子标题就是一步,正文不用缩进。下面三步的标题就在这一页的右侧目录里。
安装工具链
需要 Hugo Extended ≥ 0.160.1 与 Go。
启动服务器
brew install hugo go
sudo apt install hugo golang-go
发布
推送到 main,仓库自带的工作流会构建并发布。
它是主题里唯一的 {{% … %}} shortcode。百分号形式的正文交给 Goldmark 当页面级 Markdown 处理:只有这样,里面的标题才能进目录,里面才能放 tabs、cards、fields 这些容器 shortcode。代价是它自己不能嵌进列表项,也不能嵌进另一个百分号容器。
同一组步骤的标题保持同一层级,不要把一个 steps 套进另一个里。
两种形态的选择
| 情况 | 用法 |
|---|---|
| 步骤是一两句话加一段命令 | 有序列表 + {.steps} |
| 每一步需要标题、需要被链接、需要进目录 | {{% steps %}} |
步骤里要放 tabs、cards、fields 容器 |
{{% steps %}} |
| 步骤本身要嵌在另一个列表项里 | 有序列表 + {.steps} |
输出形态
| 输出 | 呈现 |
|---|---|
| HTML | 原生形态是 <ol class="steps">,编号与竖线由 CSS 画;shortcode 形态是 <div class="td-steps"> 加各级标题 |
| 打印 | 编号与内容照旧,竖线保留 |
| Markdown | 原样输出源码:有序列表加 {.steps},或标题加正文 |
| RSS | 静态列表 / 标题分节 |
不加载脚本;关闭 JavaScript 后呈现不变。
参数参考
两种形态都没有参数,只有写法约定:
限制与常见问题
- 列表项里不能写
{{% … %}}:百分号 shortcode 的多行输出会把列表截断。要在步骤里放容器就整组改用 shortcode 形态。 {{% steps %}}不能放进列表项,也不能套在另一个百分号容器里。- 标记要紧贴列表:
{.steps}与列表之间不能有空行;经过 Prettier 之类的格式化工具时,把它包进<!-- prettier-ignore-start -->/<!-- prettier-ignore-end -->。 {.steps}只对有序列表有效:写在-开头的无序列表上不会有编号。- 步骤不折叠、不记进度:没有「已完成」状态,也没有展开收起。