# Argon 主题 Mermaid 图表支持需求文档
## 需求背景
用户希望在 Argon WordPress 主题中添加 Mermaid 图表支持,以便在文章中使用流程图、时序图等可视化图表。
## 技术环境
- **WordPress 主题**: Argon
- **Markdown 编辑器**: WP-Markdown (wdmd) - 注意:这是编辑器,不是插件
- **Mermaid 版本**: 10.x 或更高
## 核心问题
### 1. WP-Markdown 渲染格式特殊
WP-Markdown 编辑器渲染 Mermaid 代码块时,生成的 HTML 格式为:
```html
flowchart TD Start --> End
```
特点:
- 使用 `` 包裹
- 内部包含 `
flowchart TD
Start --> End
```
### WordPress 插件集成方式
```php
// 注册 Mermaid 脚本
function my_theme_enqueue_mermaid() {
if (is_single() || is_page()) {
wp_enqueue_script(
'mermaid',
'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js',
[],
'10.0.0',
true
);
}
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_mermaid');
// 初始化脚本
function my_theme_mermaid_init() {
?>
Process[处理]
Process --> Decision{判断}
Decision -->|是| End1([结束1])
Decision -->|否| End2([结束2])
```
### 测试 2: 时序图
```mermaid
sequenceDiagram
participant A as 用户
participant B as 服务器
A->>B: 发送请求
B->>A: 返回响应
```
### 测试 3: 类图
```mermaid
classDiagram
class Animal {
+String name
+int age
+makeSound()
}
class Dog {
+bark()
}
Animal <|-- Dog
```
## 相关资源
- [Mermaid 官方文档](https://mermaid.js.org/)
- [Mermaid Live Editor](https://mermaid.live/) - 在线编辑器
- [WP Githuber MD 插件](https://wordpress.org/plugins/wp-githuber-md/)
- [Markdown Block 插件](https://wordpress.org/plugins/markdown-block/)
## 结论
由于 WP-Markdown 编辑器的特殊渲染方式和 Markdown 源文件格式问题,在 Argon 主题中直接支持 Mermaid 存在技术障碍。
**建议**:
1. **短期方案**:使用支持 Mermaid 的 WordPress 插件(如 WP Githuber MD)
2. **长期方案**:等待 WP-Markdown 编辑器更新,或考虑更换为更现代的 Markdown 编辑器
如果必须在当前环境下实现,需要投入大量时间开发完整的 Mermaid 代码格式化器,且无法保证 100% 兼容所有语法。