找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4161

积分

0

好友

541

主题
发表于 8 小时前 | 查看: 8| 回复: 0

用 Mermaid 画过流程图的人都知道——官方默认渲染出来,总带着一股“工程师审美”。
方块是方的,线是直的,颜色是默认蓝。说不上丑,但放在 PPT、技术文档、博客里,就是差那么点意思。
最近几年更尴尬了。AI 写代码越来越普及,Claude、Cursor 一键生成 Mermaid 代码,结果——AI 自己画的图,普遍更丑。颜色撞色、字号不一致、节点变形……直接放文档里老板会皱眉。

最近在 GitHub 上看到一个叫 beautiful-mermaid 的开源渲染器,10.7k Star,366 Fork,MIT 协议。Craft 团队做的,专门解决“Mermaid 丑”这个老问题。

beautiful-mermaid 功能介绍界面与 Mermaid 渲染流程图示例

4 个数字够炸裂:

  • • 6 种图表类型——流程图、状态图、序列图、类图、ER 图、XY 图表(柱状/折线/组合)全支持  

    beautiful-mermaid 支持的图表类型清单:流程图、序列图、ER 图、类图、XY 图

  • • 15 个内置主题——GitHub 暗色、Tokyo Night、Catppuccin、Dracula、Nord 等常用配色全打包  

    beautiful-mermaid 编辑器界面:主题切换与流程图预览

  • • 同步渲染——不是 async,直接拿结果,React useMemo() 零 flash 集成  

  • • 100+ 图 < 500ms——批量生成也不卡  

真正能打的差异化卖点是这两个。

第一,实时主题切换。 所有颜色都是 CSS 自定义属性(--bg / --fg / --accent),传 var(--background) 给它,整个图表自动跟着 app 主题走。不用重渲染

数据库事务流程时序图示例(含事务回滚处理)

这意味着什么?你 app 切换深色 / 浅色模式,Mermaid 图表 0 延迟跟着变

第二,ASCII 输出。 终端、CLI 工具、聊天界面、Markdown 文档,直接输出 ASCII 字符就能看 Mermaid 流程图。
这在 AI 编程场景下特别有用——AI 在终端里给你画架构图,不用打开浏览器。

上手也简单,只需通过 npm 安装:

npm install beautiful-mermaid

一行代码渲染 SVG

import { renderMermaidSVG } from 'beautiful-mermaid';

const svg = renderMermaidSVG(`graph TD; A[Start] --> B{Decision}`);

一行代码输出 ASCII

const ascii = renderMermaidASCII(`graph LR; A --> B`);
// 输出:A ► B

Mono 模式更狠——只传背景色和前景色两个变量,自动用 color-mix() 派生整套配色。

Mono Mode 设计系统由两个颜色自动衍生全套配色的规则说明

要是你嫌 15 主题不够,还能直接用任何 VS Code 主题(Shiki 兼容)——fromShikiTheme() 把 VS Code 配色映射成 Mermaid 节点颜色。

Mermaid 流行的本质是“用文字画图”——不用拖拽,代码即图,写文档时顺手就能插。
但“丑”一直是硬伤。beautiful-mermaid 解的就是这个——让 Mermaid 图表配得上它该去的地方

GitHub 项目地址:https://github.com/lukilabs/beautiful-mermaid

如果这份工具正好打中你的痛点,欢迎来 云栈社区 聊聊你的体验,说不定还能挖到更多宝藏项目。




上一篇:Mac外接显示器HiDPI与亮度控制,免费开源工具Crisp上手
下一篇:MCU上电第一秒:全局变量为何必须初始化?RAM噪声与寄存器默认值详解
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-8-2 08:54 , Processed in 1.069147 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表