Excalidraw, 一款超赞的开源白板工具

简介: Excalidraw, 一款超赞的开源白板工具

今天和大家安利一款超赞的开源项目, 基于这个项目我们可以轻松定制自己的白板, 思维导图, 原型草图设计, 流程图工具等, 它就是——Excalidraw.

image.png

接下来我会和大家介绍一下这款开源项目的功能特点, 如何二次开发, 以及如何使用我改造好的成品快速部署到自己的服务器上.

效果演示:

image.png

在线地址: https://board.dooring.vip

开源地址: https://gitee.com/lowcode-china/excalidraw-mini

功能介绍

首先 Excalidraw 的技术栈采用 Vite + React + TypeScript + Yarn + Husky, 目前开源 star 已经有 66k+, 还是非常受开发者喜欢的.

这里先介绍一下我使用完这款开源项目的一个功能总结:

  • 支持手绘风格的草图设计
  • 支持流程图, 思维导图的设计
  • 支持多人协同
  • 支持会议白板, 激光笔标注
  • 支持多种导出格式
  • 支持二次开发

虽然这款工具界面设计的非常简洁, 但是却可以做出非常精美的作品, 比如架构图(Dooring的架构就是用它画的~):

image.png

业务流程 & 设计思路

image.png

思维导图:

image.png

当然我们还能发挥想象, 应用在更多的场景. 我之前写的很多技术文章里的架构图, 流程图, 都是用它来设计的, 偶尔也会用它来设计一下产品草图, 非常方便.

二次开发

接下来就到了技术小伙伴最关注的环节了,如何使用它, 二次开发自己的白板应用.

安装

首先我们需要在自己的项目里安装它:

yarn add react react-dom @excalidraw/excalidraw

接下来写一个简单的demo:

function App() {
  return (
    <>
      <h1 style={{ textAlign: "center" }}>Dooring Example</h1>
      <div style={{ height: "500px" }}>
        <Excalidraw />
      </div>
    </>
  );
}

预览效果如下:

image.png

当然如果觉得它默认的主题色不符合自己的业务场景, 我们还能自定义主图风格:

.custom-styles .excalidraw {
  --color-primary: #fcc6d9;
  --color-primary-darker: #f783ac;
  --color-primary-darkest: #e64980;
  --color-primary-light: #f2a9c4;
}
.custom-styles .excalidraw.theme--dark {
  --color-primary: #d494aa;
  --color-primary-darker: #d64c7e;
  --color-primary-darkest: #e86e99;
  --color-primary-light: #dcbec9;
}

excalidraw 组件还提供了很多自定义的属性, 可以让我们轻松扩展和定制, 比如我们想扩展右侧功能按钮, 可以用如下的代码:

function App() {
  return (
    <div style={{ height: "500px" }}>
      <Excalidraw
        renderTopRightUI={() => {
          return (
            <button
              style={{
                background: "#70b1ec",
                border: "none",
                color: "#fff"
              }}
              onClick={() => 
              window.location.href = 'https://dooring.vip'
              }
            >
              H5制作
            </button>
          );
        }}
      />
    </div>
  );
}

这里我们用到了它的 renderTopRightUI 属性, 类型是一个函数, 我们在函数里返回我们想要定制的组件按钮即可, 效果如下:

image.png

当然还有很多可定制的属性, 大家也可以自行探索, 我把我自己定制好的一套白板发布到 gitee 上了, 包括中文支持, 欢迎页面, 页面控件等, 感兴趣的也可以直接基于我的项目二次开发. 如下:

image.png

在线地址: https://board.dooring.vip

开源地址: https://gitee.com/lowcode-china/excalidraw-mini

目录
相关文章
|
26天前
|
人工智能 自然语言处理 API
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
UI-TARS Desktop 是一款基于视觉语言模型的 GUI 代理应用,支持通过自然语言控制电脑操作,提供跨平台支持、实时反馈和精准的鼠标键盘控制。
537 17
用自然语言控制电脑,字节跳动开源 UI-TARS 的桌面版应用!内附详细的安装和配置教程
|
6月前
|
JavaScript UED 前端开发
JSF 富文本编辑器横空出世,如魔法神器开启震撼富文本输入之旅!
【8月更文挑战第31天】在现代Web应用中,用户常需输入带样式、颜色及图片等功能的富文本。为此,JSF可集成如CKEditor等富文本编辑器,提供强大输入体验。首先选择合适编辑器并下载引入库文件,使用`&lt;textarea&gt;`与JavaScript实例化编辑器。后台通过`value`属性获取内容。此外,还需配置编辑器选项、处理特殊字符和进行充分测试以确保稳定性和安全性,提升用户体验。
59 0
|
数据库连接 测试技术 开发工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
105 0
|
存储 数据可视化 BI
Lattics:一款简单易用、好看强大的「类脑式」知识管理工具,笔记应用与写作软件二合一
如何快速找到一款适合自己的个人知识管理工具呢? 数据安全第一:你的数据你做主; 知识管理体系:树状结构+网状结构; 简单易用:不折腾,让工具服务自己。 基于这些标准,这篇文章筛选并介绍了新一代知识管理神器 Lattics。主要介绍了这个产品的特色与功能。
600 0
|
存储 移动开发 安全
ProcessOn2022网页版在线思维导图
ProcessOn是一个在线协作绘图平台,为用户提供强大、易用的作图工具!支持在线创作流程图、思维导图、组织结构图、网络拓扑图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。...
953 0
|
缓存 JavaScript 安全
这个高颜值的开源第三方网易云音乐播放器你值得拥有
有没有一个既简洁纯粹,颜值又高的网易云音乐播放器呢,答案是有的,它就是:YesPlayMusic,一个开源的第三方实现。
1167 0
这个高颜值的开源第三方网易云音乐播放器你值得拥有
|
数据采集 Python
如何在 FlowUs、Notion 等笔记软件中搭建「影音库」?
如何在 Notion 类编辑器中搭建影音库? 对于很多人而言,我们在互联网世界经常会看到很多优秀的影视、音乐、书籍等资源,并且加以收藏。然而,这些资讯进入收藏夹之后,我们经常没有时间查看,甚至经常忘记了。为了更好地管理收藏夹,更好地管理书影音内容,我们需要更强大的书影音管理系统。
352 0
如何在 FlowUs、Notion 等笔记软件中搭建「影音库」?
|
JavaScript
我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)
我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)
我熬夜开发了一款简约实用、支持多平台的Markdown在线编辑器(开源)
|
Web App开发 Kubernetes JavaScript
真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得
近日,微软上线了一个新的开源网站。这不是微软唯一的开源网站,但却代表了新的起点。网友表示:这次真的拥抱开源了!从「恨」到「爱」,微软与开源有着一段长达30年的故事。
172 0
真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得

热门文章

最新文章