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

5384

积分

0

好友

729

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

做开发的朋友一定用过 Mermaid。
用文字写流程图、状态机、时序图,又快又方便,简直是文档神器。但用久了,你可能会发现一个问题——默认渲染出来的图表,说实话,有点“素”。颜色单一,主题调整起来要跟 CSS 类名死磕,想在终端里输出?不好意思,不支持。依赖还一堆,项目轻量化?很难。

最近在 GitHub 上刷到一个非常火的项目——beautiful-mermaid,很好地解决了这些问题。

项目简介

beautiful-mermaid 是一个用纯 TypeScript 写的 Mermaid 图表渲染库,能把 Mermaid 语法渲染成漂亮的 SVG,或者终端里也能看的 ASCII 艺术。

核心优势可以总结为三个字:快、美、零依赖。不依赖 DOM,所以在 Node.js、Edge Runtime、浏览器都能跑。渲染是同步的,100 张图表 500ms 以内搞定。目前在 GitHub 上已收获 9.5k Star ,229 个 Fork,上线不久就引发广泛关注。

功能特性

01 支持五种图表类型

beautiful-mermaid 覆盖了开发场景里最常用的几种:流程图、状态图、时序图、类图和 ER 图。写 API 文档、系统架构、数据库结构,基本都能搞定,不需要换别的工具。

02 SVG 和 ASCII,两种输出模式

这个挺有意思的。渲染 SVG 是标配,但它还支持输出 ASCII/Unicode 字符画。也就是说,在终端、CLI 工具,甚至 AI 对话框里,都能直接显示图表。一套代码,富界面和纯文本环境全覆盖。

03 同步渲染,零闪烁

很多图表库渲染是异步的,放到页面上会有一个“先空白后出现”的闪烁感。beautiful-mermaid 的渲染是完全同步的,不需要 await,不需要 Promise。在 React 里直接塞进 useMemo(),图表跟着内容一起出来,干净利落。

04 15 套内置主题,开箱即美

Tokyo Night、Dracula、Catppuccin、Nord、GitHub……这些名字对开发者来说应该都很熟悉。15 套精心调校的主题直接内置,一行代码切换,不用自己调颜色。

05 极简双色模式,两个参数搞定配色

这是个很妙的设计。只需要传入背景色和前景色两个参数,系统会自动用 color-mix() 推导出图表里所有元素的颜色——文字、连线、节点边框、填充……全都自动派生,整体视觉协调,完全不用手动一个个调。

06 完整兼容 Shiki,VS Code 主题直接拿来用

fromShikiTheme() 可以把任何 Shiki 主题直接转成图表配色。VS Code 社区里几百套主题,想用哪套用哪套,开发者的主题偏好完全不用将就。

快速安装与使用

安装很简单,支持 npm、bun、pnpm:

npm install beautiful-mermaid
# 或
bun add beautiful-mermaid
# 或
pnpm add beautiful-mermaid

渲染 SVG

import { renderMermaidSVG } from 'beautiful-mermaid'

const svg = renderMermaidSVG(`
  graph TD
    A[开始] --> B{判断}
    B -->|是| C[执行]
    B -->|否| D[结束]
`)

直接拿到 SVG 字符串,同步返回,没有任何等待。

渲染 ASCII(终端模式)

import { renderMermaidASCII } from 'beautiful-mermaid'

const ascii = renderMermaidASCII(`graph LR; A --> B --> C`)

使用内置主题

import { renderMermaidSVG, THEMES } from 'beautiful-mermaid'

const svg = renderMermaidSVG(diagram, THEMES['tokyo-night'])

想自定义主题,最简单只需要两个颜色:

const svg = renderMermaidSVG(diagram, {
  bg: '#1a1a2e',
  fg: '#e0e0e0',
})

小结

beautiful-mermaid 是一个在设计上充满巧思的 Mermaid 渲染器。它没有重复造轮子,而是在标准 Mermaid 语法的基础上,把渲染性能、视觉美感、开发体验这三个维度都提升了一个台阶。  

无论你是在搭建 AI 编程助手、写技术文档、做 CLI 工具,还是单纯想让项目里的图表更好看一点,它都能给你带来惊喜。

更多细节功能,感兴趣的可以到项目地址查看:
https://github.com/lukilabs/beautiful-mermaid




上一篇:特朗普20亿美元注资引爆量子计算板块:多技术路线解析与投资逻辑深度梳理
下一篇:当企业患上“失忆症”:构建 AI 记忆基质的三层工程架构与务实路径
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2026-5-23 05:43 , Processed in 0.678934 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

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