[ SKILL_DOCUMENTATION ]
# C4 Mermaid 图表语法参考
Mermaid C4 图表的完整语法参考。兼容 PlantUML C4 语法。
## 目录
1. [图表类型](#diagram-types)
2. [系统上下文元素](#system-context-elements)
3. [容器元素](#container-elements)
4. [组件元素](#component-elements)
5. [部署元素](#deployment-elements)
6. [关系类型](#relationship-types)
7. [边界](#boundaries)
8. [样式](#styling)
9. [布局配置](#layout-configuration)
10. [参数语法](#parameter-syntax)
11. [完整示例](#complete-examples)
12. [Mermaid 限制](#mermaid-limitations)
## 图表类型
每个图表以相应的类型声明开始:
| 类型 | 声明 | 目的 |
|------|-------------|---------|
| 系统上下文 | `C4Context` | 展示系统与用户及外部系统的上下文关系 |
| 容器 | `C4Container` | 展示高层技术构建块 |
| 组件 | `C4Component` | 展示容器内的内部组件 |
| 动态 | `C4Dynamic` | 展示带有编号序列的请求流程 |
| 部署 | `C4Deployment` | 展示基础设施和部署节点 |
## 系统上下文元素
### 人员
Person(alias, label, ?descr)
Person_Ext(alias, label, ?descr) # 外部人员
### 系统
System(alias, label, ?descr)
System_Ext(alias, label, ?descr) # 外部系统
SystemDb(alias, label, ?descr) # 数据库系统
SystemDb_Ext(alias, label, ?descr) # 外部数据库
SystemQueue(alias, label, ?descr) # 消息队列
SystemQueue_Ext(alias, label, ?descr)
## 容器元素
### 容器
Container(alias, label, ?techn, ?descr)
Container_Ext(alias, label, ?techn, ?descr)
ContainerDb(alias, label, ?techn, ?descr)
ContainerDb_Ext(alias, label, ?techn, ?descr)
ContainerQueue(alias, label, ?techn, ?descr)
ContainerQueue_Ext(alias, label, ?techn, ?descr)
## 组件元素
### 组件
Component(alias, label, ?techn, ?descr)
Component_Ext(alias, label, ?techn, ?descr)
ComponentDb(alias, label, ?techn, ?descr)
ComponentDb_Ext(alias, label, ?techn, ?descr)
ComponentQueue(alias, label, ?techn, ?descr)
ComponentQueue_Ext(alias, label, ?techn, ?descr)
## 部署元素
### 部署节点
Deployment_Node(alias, label, ?type, ?descr) { ... }
Node(alias, label, ?type, ?descr) { ... } # 简写
Node_L(alias, label, ?type, ?descr) { ... } # 左对齐
Node_R(alias, label, ?type, ?descr) { ... } # 右对齐