Hugo 博客配置 Mermaid 图表支持 链接到标题
本文说明基于 hugo-coder 主题的博客如何集成 Mermaid 图表。
前提条件 链接到标题
- 使用支持 Mermaid shortcode 的 Hugo 主题(如 hugo-coder)
- 主题的
baseof.html中包含以下逻辑:
{{ if .HasShortcode "mermaid" }}
<script src="https://cdn.jsdelivr.net/npm/mermaid@9.3.0/dist/mermaid.min.js"></script>
<script>mermaid.initialize({startOnLoad: true});</script>
{{ end }}
正确写法 链接到标题
Mermaid 图表必须使用 Hugo Shortcode 语法,而非标准 Markdown 代码块:
| 类型 | 写法 |
|---|---|
| ✅ Shortcode | {{< mermaid >}} ... {{< /mermaid >}} |
| ❌ Markdown 代码块 | ```mermaid ... ``` |
图表类型示例 链接到标题
流程图 链接到标题
flowchart TD
A[开始] --> B{判断}
B -->|条件A| C[处理A]
B -->|条件B| D[处理B]
C --> E[结束]
D --> E
时序图 链接到标题
sequenceDiagram
participant 客户端
participant 服务器
participant 数据库
客户端->>服务器: 请求
服务器->>数据库: 查询
数据库-->>服务器: 返回结果
服务器-->>客户端: 响应
甘特图 链接到标题
gantt
title 项目计划
dateFormat YYYY-MM-DD
section 设计
设计方案 :done, d1, 2026-05-01, 3d
设计评审 :done, d2, after d1, 1d
section 开发
编码实现 :active, dev1, after d2, 5d
单元测试 :dev2, after dev1, 2d
section 部署
部署上线 :deploy, after dev2, 1d
注意事项 链接到标题
- 必须使用 Hugo Shortcode 语法
{{< mermaid >}},不要用```mermaidMarkdown 代码块 - 编写时注意 Shortcode 前后各有一个空行,确保 Hugo 正确解析
- 提交后等待 Cloudflare Pages 自动构建部署(约 1-2 分钟)
- 如需本地预览,运行
hugo server后访问http://localhost:1313