543 字
3 分钟
Mermaid 图表集
Mermaid 可以将 Markdown 中的文本描述转换为图表。以下示例使用 Shirone 的内容工作流,展示技术文章和项目笔记中常见的图表类型。
流程图
流程图用于描述一个流程,包括决策分支以及返回前序步骤的路径。
flowchart TD
accTitle: 文章发布流程
accDescr: 文章在发布前依次经过撰写、验证、预览和构建。验证失败时会返回修改。
Draft[撰写 Markdown] --> Check{验证通过?}
Check -->|否| Revise[修改文章]
Revise --> Check
Check -->|是| Preview[本地预览]
Preview --> Build[构建静态页面]
Build --> Publish[发布]时序图
时序图按照时间顺序展示参与者之间的交互。此示例展示一次 Swup 导航从发起请求到渲染 Mermaid 图表的过程。
sequenceDiagram
accTitle: 站内导航后的图表渲染
accDescr: 读者发起导航后,Swup 替换文章内容,Mermaid 渲染器再增强新页面中的图表。
actor Reader as 读者
participant Browser as 浏览器
participant Swup
participant Content as 文章区域
participant Renderer as Mermaid 渲染器
Reader->>Browser: 打开另一篇文章
Browser->>Swup: 开始站内导航
Swup->>Content: 替换页面内容
Swup-->>Renderer: 触发 content:replace
Renderer->>Content: 查找 Mermaid 容器
Renderer-->>Browser: 插入主题化 SVG实体关系图
实体关系图用于描述结构化数据及其关系,例如作者、文章、标签和评论之间的联系。
erDiagram
accTitle: 博客内容关系
accDescr: 作者撰写文章,文章接收评论,关联记录则将文章与多个标签连接起来。
AUTHOR ||--o{ POST : writes
POST ||--o{ COMMENT : receives
POST ||--o{ POST_TAG : classified_by
TAG ||--o{ POST_TAG : groups
AUTHOR {
string id PK
string display_name
}
POST {
string slug PK
string title
datetime published_at
string author_id FK
}
COMMENT {
string id PK
string post_slug FK
string body
}
TAG {
string id PK
string label
}
POST_TAG {
string post_slug FK
string tag_id FK
}类图
类图用于展示软件设计中的职责、公共方法和依赖方向。
classDiagram
accTitle: Markdown 渲染模块
accDescr: 内容处理流程使用 Mermaid 插件生成回退标记,客户端渲染器随后将其增强为 SVG。
class ContentPipeline {
+render(markdown)
+collectMetadata()
}
class MermaidPlugin {
+transform(codeFence)
+createFallback()
}
class DiagramRenderer {
+initialize()
+renderAll()
+refreshTheme()
}
class ThemeTokens {
+primary
+surface
+outline
}
ContentPipeline --> MermaidPlugin : 使用
DiagramRenderer --> MermaidPlugin : 增强输出
DiagramRenderer --> ThemeTokens : 读取状态图
状态图展示对象的生命周期,以及使其在不同状态间转换的事件。
stateDiagram-v2
accTitle: 文章生命周期
accDescr: 文章从草稿进入审核并发布,也可能退回修改,或最终归档。
[*] --> Draft
Draft --> InReview : 提交
InReview --> Draft : 要求修改
InReview --> Published : 批准
Published --> Draft : 撤回
Published --> Archived : 归档
Archived --> [*]XY 图表
XY 图表将柱状图和折线图组合在一起,用于比较共享坐标轴上的数值和趋势。
xychart-beta
accTitle: 六周内容表现
accDescr: 柱状图显示标准化后的每周发布量,折线显示标准化后的阅读完成率。
title "六周内容表现"
x-axis "周" [1, 2, 3, 4, 5, 6]
y-axis "相对得分" 0 --> 100
bar [36, 52, 44, 68, 76, 84]
line [48, 55, 62, 61, 73, 81]饼图
饼图可以直观比较各类别在整体中所占的比例。
pie showData
accTitle: 文章主题占比
accDescr: 工程占百分之四十,设计系统占百分之二十五,其余由指南和随笔构成。
title 文章主题占比
"工程" : 40
"设计系统" : 25
"指南" : 20
"随笔" : 15甘特图
甘特图沿日历时间轴排列任务、依赖关系和里程碑。
gantt
accTitle: 主题发布计划
accDescr: 发布计划依次经过需求确认、交互设计、组件开发、测试和发布。
title 主题发布计划
dateFormat YYYY-MM-DD
axisFormat %m/%d
section 设计
确认需求 :done, brief, 2024-05-06, 2d
完善交互 :done, interaction, after brief, 3d
section 实现
开发组件 :active, components, after interaction, 6d
编写示例 :examples, after interaction, 4d
section 验证
自动化测试 :tests, after components, 3d
发布 :milestone, release, after tests, 0d思维导图
思维导图以一个中心主题为起点,展开相关领域和支撑概念。
mindmap
root((Shirone))
内容体验
Markdown
搜索
图表
界面系统
M3E 令牌
响应式布局
配色方案
工程质量
Astro Check
Playwright
无障碍时间线
时间线可以概括重要事件或阶段,无需提供精确的日历时长。
timeline
title Mermaid 支持的演进
流程设计 : 检测 Mermaid 围栏代码
: 保留源码回退内容
客户端增强 : 按需加载运行时
: 应用主题令牌
稳定性 : 支持 Swup 导航
: 验证响应式和无障碍输出用户旅程
用户旅程图展示任务各阶段中的操作、参与者和体验评分。
journey
accTitle: 读者理解技术文章的过程
accDescr: 读者发现一篇文章,通过结合正文和图表理解内容,然后继续探索相关主题。
title 读者理解技术文章的过程
section 发现
浏览文章列表: 4: Reader
选择主题: 5: Reader
section 理解
阅读文章: 4: Reader
查看关系图: 5: Reader
section 继续探索
打开相关文章: 4: Reader
收藏页面: 3: ReaderGit 提交图
Git 提交图展示功能分支上的工作进展,以及它最终如何合并回主分支。
gitGraph
accTitle: Mermaid 功能分支历史
accDescr: 功能分支添加渲染器和测试后,合并到主分支并发布。
commit id: "base"
branch mermaid
checkout mermaid
commit id: "add-renderer"
commit id: "add-tests"
checkout main
merge mermaid id: "merge-mermaid"
commit id: "release"看板
看板按照工作流状态对任务分组,方便快速查看当前进度。
kanban
backlog[待办]
docs[编写作者文档]
examples[扩展示例数据]
active[进行中]
themes[验证主题适配]
complete[已完成]
fallback[源码回退]
rendering[客户端渲染]桑基图
桑基图通过连线宽度表示流量或其他数值在不同节点之间的流动情况。
sankey-beta Landing,Reading,720 Discovery,Reading,430 Reading,Explore,360 Reading,Topics,210 Reading,Outbound,140
每个示例都使用标准的 mermaid 围栏代码。服务器会保留可读的源标记,浏览器则将其增强为符合当前主题的 SVG。切换主题或通过 Swup 导航至本文时,图表都会重新渲染。
Mermaid 图表集
https://tncloud.fun/posts/markdown-mermaid/分享文章
生成精美分享图或复制链接,与更多人分享本文。
继续阅读
换条路线
从其他文章中稳定抽取
最后更新于 ,距今已过 900 天
部分内容可能已过时
评论