Show HN:Line9 —— 拥有自有布局算法的 Mermaid 渲染引擎

Hacker News Top 工具

摘要

Line9 是一款新的 Mermaid 渲染引擎,拥有自己的布局算法,可作为 CLI 和图表编辑器使用。

Line9 是一个面向 Mermaid 流程图的新渲染引擎,旨在消除手动调整布局的需求。Mermaid 是一种流行的基于文本的语言,用于描述多种类型的图表。<p>目前已经存在多个 Mermaid 渲染引擎。大多数引擎(如最初的 mermaid.js)使用 Dagre 或 ELK 图形绘制库来自动布局图表。过去四年里我一直在使用 Mermaid,但经常在图表编辑器中重新创建流程图,以便将布局调整为更适合自己需求的形式。<p>当你想要一种优化清晰沟通的自动流程图布局时,请使用 Line9。它力求以规则的网格间距、相关节点更近的定位、更短更直的边来布局流程图,并面向类似页面的宽高比。/diagram 页面(左侧分享面板)中的 Compare 按钮会并排显示 Line9 和 mermaid.js 的渲染结果。<p>免费使用,无需注册账户。同时提供适用于 Mac、Windows 和 Linux 的 CLI 工具下载。免费使用的图表会带有水印。商业使用 CLI 需要付费账户,并且可以生成无水印的图表。Line9 不是开源的(我需要创造收入,商业模式正在测试中)。<p>我尝试将我手工创建流程图时使用的布局原则编码并自动化。所有渲染都在浏览器中进行,因此不会有私有数据发送到 Web 服务。CLI 使用 Rust 编写,并嵌入了渲染器,因此只需安装单个二进制文件,所有数据和计算都保留在本地。目前它比 mermaid.js 稍慢一些,因为要同时解决节点定位和边的布线,以找到最符合设计原则的布局,这是一个难题。<p>输出格式为 SVG 或 PNG。图表还可以通过带有嵌入 Mermaid 文本的片段(fragment)的 URL 进行共享。<p>我知道仍有待改进的地方:子图的定位和旋转、折叠图形以更频繁地达到良好的宽高比、进一步改进边标签的放置、更好地处理长节点标签,以及在缩小时整理显示效果。另外,我还想支持更多图表类型,网站也需要大量工作。<p>请将你自己的 Mermaid 流程图粘贴到 Line9 中——尤其是那些你因为布局不好而放弃的流程图。请告诉我它们是否有所改进,或者还需要哪些其他工作。
查看原文
查看缓存全文

缓存时间: 2026/08/12 08:26

# 图表编辑器 — Line9 来源:https://line9.ai/diagram 获取 line9 CLI(https://line9.ai/cli) 图表输出将显示在此处 图表与源不同步。

相似文章

Show HN:免费Mermaid图表编辑器

Hacker News Top

一款免费、无需注册的Mermaid图表编辑器,支持实时预览、即时导出SVG/PNG,以及完全在浏览器中运行的分享链接。可选连接GitHub以从源代码自动生成架构图。

@wsl8297: Mermaid 画流程图、时序图确实省事,但默认渲染谈不上好看,更别说在终端里几乎没法用。 我在 GitHub 挖到一个新开源项目:beautiful-mermaid,专门把 Mermaid 的渲染这件事做漂亮、做实用——既能导出精致的 …

X AI KOLs Timeline

beautiful-mermaid 是一个纯 TypeScript 实现的开源工具,能将 Mermaid 图表渲染为精美的 SVG 或终端友好的 ASCII 字符画,支持 15 套主题和零 DOM 依赖,适合在 AI 辅助编程中使用。

Mermaid转ASCII艺术 (mermaid-ascii)

Simon Willison's Blog

一个Web工具,将Mermaid图表语法转换为ASCII和Unicode框线艺术,完全在浏览器中运行,使用编译为WebAssembly的Go库实现。支持流程图、时序图、颜色和可自定义输出。

merman: 无头 Mermaid.js,使用 Rust 实现

Lobsters Hottest

Merman 是 Mermaid.js 的一个无头 Rust 实现,用于解析、布局和渲染图表(SVG、光栅图、ASCII),无需浏览器或 JavaScript 运行时,目标是与 Mermaid.js v11.15.0 功能一致。