一个功能强大的 Mermaid 在线演练场项目,支持对输入的 Mermaid 代码进行实时渲染,并支持对渲染结果进行编辑和导出。此项目的初衷是由于 Mermaid 官方的在线演练场保存代码只有免费的三个额度,对于平常使用来说显然是不够用的,所以自己写一个,借助 indexedDB 或者 Supabase 进行数据存储,可以达到无限存储代码的目的。
- 实时渲染: 输入 Mermaid 代码后立即显示渲染结果
- 代码高亮: 基于 Monaco Editor 的智能代码编辑
- 多种主题: 支持默认、黑暗、森林、中性、基础等多种主题
- 导出功能: 支持导出为 PNG、SVG 格式,以及复制到剪贴板
列举了常用的模板,可以点击模板选择器进行选择,也可以点击空白模板进行创建。省的自己从头开始写。
- 空白模板: 从空白开始创建(排在首位,样式为 + 号)
- 流程图模板: 创建流程图
- 时序图模板: 展示系统交互时序
- 类图模板: 设计类和对象关系
- 状态图模板: 描述状态转换流程
- 甘特图模板: 项目进度和时间管理
- 存储: 使用 IndexedDB 或者 Supabase 进行数据存储, 默认使用 IndexedDB,如果需要使用 Supabase,请参考 Supabase 初始化。
- 历史记录: 保存和切换历史代码
- 项目命名: 支持项目名称编辑和管理
- 点击导航栏中的"新建"按钮
- 在弹出的模板选择框中选择合适的模板
- 空白模板会创建空白的编辑器
- 其他模板会预填充相应的 Mermaid 代码
- 点击"保存"按钮将当前代码保存到本地
- 点击"导出"按钮选择导出格式(PNG/SVG/复制到剪贴板)
- 使用"切换"按钮查看和管理历史保存的代码
- 前端框架: 原生 JavaScript (ES6+)
- 代码编辑器: Monaco Editor
- 图表渲染: Mermaid.js
- 构建工具: Vite
- 包管理: pnpm
- 代码规范: ESLint + Prettier
pnpm install
pnpm run dev
pnpm run build
pnpm run lint
- 支持分享
- 分页加载历史记录
欢迎提交 Issue 和 Pull Request 来改进这个项目!
MIT License