Back to Main Site

交互式美人鱼图集成指南

Last updated on Jun 23, 2026 22:25

## 介绍

在现代技术文档和网络出版中,一张图片胜过一千行文字。可视化复杂的工作流程、系统架构和生命周期状态有助于读者快速消化技术细节。

PolyCMS 集成了本机 自托管 Mermaid.js 渲染管道,而不是依赖繁重、不可搜索的静态图像文件或缓慢的第三方 CDN(这些文件会增加页面延迟并降低隐私性)。本指南介绍了如何动态编译图表,介绍了交互式可视化 TipTap 编辑器元素,并演示了从简单流程到 PolyCMS 整体架构的四个图表示例。

技术架构&自托管策略

PolyCMS 专为速度和绝对主权而构建。核心渲染器动态解析原始块元素。当一个块被标记为图表时:

  • 解析器检测:PHP 动态引擎 (helpers.php) 扫描以 <pre><code class="language-mermaid"> 开头的标准 Markdown 块。

  • 安全实体解码:它安全地解码 HTML 实体(e.g。将 --> 转换回原始解析器就绪的 --> 语法)。

  • 离线资产:PolyCMS 不是请求 jsDelivr 或 cdnjs,而是通过 Laravel asset('assets/vendor/mermaid-10.x/mermaid.min.js') 帮助程序在本地解析脚本。

  • Vercel 启发的主题变量:管理可视化编辑器和公共前端都使用自定义的类似 Vercel 的基本变量渲染图表,在浅色和深色模式下提供高对比度、干净的简约美感。

图表预设和示例

以下是在 PolyCMS 中本地运行的四个经典图表实现。

1. 简单流程图:用户身份验证生命周期(水平 - LR)

一个简单的从左到右的流程图,显示会话防护如何解析和验证标准客户端输入。

graph LR A[输入凭据] --> B{字段是否为空?} B -->|是| C[显示验证错误] B -->|否| D[通过 Sanctum 进行身份验证] D --> E{成功?} E -->|是| F[重定向到管理面板] E -->|否| G[显示凭据错误]

2.状态图:电子商务交易生命周期(StateDiagram-v2)

状态图描述了通过 PayPal 或 SePay 支付网关进行的在线购买交易可能的状态转换。

stateDiagram-v2 [*] --> 新建 新建 --> 待处理 : 客户结账 待处理 --> 已完成 : 付款已确认 待处理 --> 已失败 : 付款超时 / 失败 已失败 --> 待处理 : 客户重试 已完成 --> [*]

3. 中间序列图:安全 REST API 请求流

序列图展示了客户、Web 客户端、API 网关和数据库之间的安全来回交互,以提供经过令牌验证的内容。

sequenceDiagram participant User as 开发者或用户 participant App as API 客户端 participant Auth as API 网关 participant DB as 核心数据库 User->>App: 发送带有 Bearer Token 的 API 请求 App->>Auth: GET /api/v1/posts (Auth Header) Auth->>Auth: 验证令牌签名和作用域 Auth->>DB: 查询文章(按分类过滤) DB-->>Auth: Eloquent collection retrieved Auth-->>App: JSON Response (200 OK + Data) App-->>User: 呈现格式化的数据数组

PolyCMS 核心架构工作流程(复杂 - TD)

为了演示复杂的垂直布局,这里是 PolyCMS 的完整技术架构管道。它概述了帖子如何从数据库传输,通过动态块编译器,解析短代码/Mermaid 标签,应用受 WordPress 启发的钩子/过滤器钩子,最后输出高级 Vercel 风格的 HTML 视图。

graph TD %% Define Node Shapes DB[(MySQL or PostgreSQL Database)] Engine[ContentRenderer Core Engine] JsonParser{Parse block JSON content_raw?} HtmlFallback[Fallback to content_html] TiptapParse[TipTap NodeView Reconstitution] Helper[app/helpers.php Processing Pipeline] HookAction[Phase 1: Filter content.render.html] ModalOverlay[Phase 2: Extract Modal Links & YT Sliders] MermaidParse[Phase 3: Decode Mermaid Graph syntax] AssetLoader[Inject Dynamic Self-Hosted Assets] VercelTheme[Apply Premium Vercel CSS themeVariables] FinalView[最终网页视图渲染的 HTML] %% Flow lines DB -->|获取文章数据负载| Engine Engine --> JsonParser JsonParser -->|是 - 非空| TiptapParse JsonParser -->|否 - 空| HtmlFallback TiptapParse --> Helper HtmlFallback --> Helper Helper --> HookAction HookAction --> ModalOverlay ModalOverlay --> MermaidParse MermaidParse --> AssetLoader AssetLoader --> VercelTheme VercelTheme --> FinalView %% Style highlights style DB fill:#0a0a0a,stroke:#333333,stroke-width:2px,color:#ffffff style Engine fill:#000000,stroke:#333333,stroke-width:2px,color:#ffffff style Helper fill:#000000,stroke:#10b981,stroke-width:2px,color:#ffffff style FinalView fill:#111111,stroke:#10b981,stroke-width:3px,color:#ffffff

交互式 TipTap 图块编辑器

作为 PolyCMS 管理面板的作者,您无需记住 Mermaid 语法即可创建这些漂亮的图形。在块编辑器中:

  • 单击编辑器工具栏上的 美人鱼图 按钮。

  • 优雅的视觉容器将立即内联渲染。

  • 切换到 编辑代码 选项卡,使用帮助按钮(--> Arrow[Node]{Decision})编写语法。

  • 使用模板下拉列表立即加载标准预设(流程图、序列、状态)并即时修改它们。

  • 如果您的语法不正确,内置编译器会突出显示该行并显示有用的错误横幅,而不会中断您的起草过程!