一款基于浏览器、可自托管的图表与白板编辑器,使用 JavaScript 开发。
alyssaxuu/flowy
一个极简的原生 JavaScript 库,用于在网页中构建可拖拽、自动吸附的流程图编辑器。
- Star
- 12,143
- Fork
- 1,043
- 未关闭 Issue
- 59
- 最近提交
- 2年前
这是什么?
Flowy 是一个无依赖的 JavaScript 库,可以为网页添加流程图功能。开发者只需给可拖拽的元素加上 create-flowy 类名,再放入一个 canvas 容器,用户就能把块拖到画布上,块之间会自动吸附并连接成分支。
库提供了拖起、释放、吸附和重排等回调函数,业务代码可以在回调中决定是否允许连接,或对用户操作做出响应。流程图数据可通过 flowy.output() 导出为 JSON,之后用 flowy.import() 恢复。需要注意,import 方法会直接插入原始 HTML 且不做过滤,只应用于可信内容。目前可以用 flowy.deleteBlocks() 一次性清空所有块,但不支持单独删除某个块。
使用方式是引入一个 JS 文件和一个 CSS 文件,目前通过 jsDelivr 加载,同时支持移动端。npm 安装方式尚未提供。
核心功能
- 01拖拽块并自动吸附、居中
- 02提供拾起、释放、吸附、重排的回调函数
- 03支持条件吸附和条件删除块
- 04可将流程图数据导出为 JSON 并重新导入
- 05移动端可用,无外部依赖
适用场景
- 在网页应用中搭建自动化或工作流编辑器
- 开发连接节点的思维导图或图表工具
- 制作简单的可视化编程界面原型
快速上手
- 1
从 jsDelivr 引入样式表
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.css"> - 2
从 jsDelivr 引入脚本
<script src="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.js"></script> - 3
在页面中创建画布元素和可拖拽的方块
- 4
在画布上初始化 Flowy
flowy(document.getElementById("canvas"), onGrab, onRelease, onSnap, onRearrange, spacing_x, spacing_y);
使用前须知
- 尚不支持 npm 安装,需使用 CDN 链接或手动复制文件。
- 无法单独删除方块,只能一次性删除所有方块。
- 导入方法不会对 HTML 进行清理,处理不可信输入时存在 XSS 风险。
标签
常见问题
- flowy 是什么?
- 一个极简的原生 JavaScript 库,用于在网页中构建可拖拽、自动吸附的流程图编辑器。 Flowy 是一个无依赖的 JavaScript 库,可以为网页添加流程图功能。开发者只需给可拖拽的元素加上 create-flowy 类名,再放入一个 canvas 容器,用户就能把块拖到画布上,块之间会自动吸附并连接成分支。
- flowy 可以免费使用吗?用的什么许可证?
- flowy 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- flowy 还在维护吗?
- 超过半年未提交。flowy 最近一次提交是在 2024年7月13日。
- flowy 适合用来做什么?
- 在网页应用中搭建自动化或工作流编辑器 开发连接节点的思维导图或图表工具 制作简单的可视化编程界面原型
- flowy 怎么安装和运行?
- 从 jsDelivr 引入样式表: <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.css"> 从 jsDelivr 引入脚本: <script src="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.js"></script> 在页面中创建画布元素和可拖拽的方块 在画布上初始化 Flowy: flowy(document.getElementById("canvas"), onGrab, onRelease, onSnap, onRearrange, spacing_x, spacing_y);
- 在哪里获取 flowy?
- 源代码和安装说明在 GitHub 上:https://github.com/alyssaxuu/flowy
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
88741328JavaScriptApache-2.0更新于 前天
将 JavaScript 代码转换为 SVG 流程图的库与命令行工具,支持抽象层级、代码块修饰和主题定制。
7105478JavaScriptMIT更新于 3年前
面向 Claude Code 的 15 项营销技能套件,可审计网站、生成文案、撰写邮件序列并输出 PDF 报告。
2770718PythonMIT更新于 8个月前
一个小型同步渲染器,把 Mermaid 图表文本渲染为 SVG,无运行时依赖。
247674TypeScriptOther更新于 12小时前
一款自动检测并高亮标记不必要重渲染组件的 React 性能工具,无需修改代码。
2.2万391TypeScriptMIT更新于 2个月前
百余张原创架构图,系统图解大模型与强化学习核心算法。
4958478PythonOther更新于 上个月