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

目录
相关文章
|
11月前
|
缓存 资源调度 JavaScript
Vue集成Excalidraw实现在线画板功能
Excalidraw是一款开源在线绘图工具,适用于白板、思维导图、原型设计等场景。支持手绘风格、多种图形元素、导出功能及多人协作,深受开发者喜爱。本文档介绍了如何在Vue项目中集成Excalidraw,包括安装依赖、配置文件修改、页面添加等步骤,帮助开发者快速上手。
1544 0
Vue集成Excalidraw实现在线画板功能
|
域名解析 存储 资源调度
Excalidraw——部署一个手绘风格的画图工具
Excalidraw——部署一个手绘风格的画图工具
445 3
|
8月前
|
人工智能 API
新用户100万token免费额度!阿里云上线DeepSeek-R1满血版
阿里云推出DeepSeek-R1满血版,新用户可享100万免费Token额度。平台支持多种模型,包括671B参数的DeepSeek-R1和通义千问。结合开源工具Chatbox,用户能轻松对接API,体验高性能AI服务。访问[阿里云解决方案](https://www.aliyun.com/solution/tech-solution/deepseek-r1-for-platforms?utm_content=g_1000401616)了解更多详情并快速上手。
4782 36
|
JSON JavaScript UED
画出你的想法,体验Excalidraw的魅力,完全免费的绘图工具!
画出你的想法,体验Excalidraw的魅力,完全免费的绘图工具!
802 1
|
12月前
|
前端开发 JavaScript API
React进阶高级指南(一)
React进阶高级指南(一)
110 1
|
Docker 容器
Excalidraw 简介及 Docker Compose 部署指南
家人们好,我们在工作生活中经常需要画些图,我们往期了已经出过draw-io私有化部署的文章了,今天我要向大家介绍一款名为 Excalidraw 的绘图工具,这款工具了我个人非常喜欢使用,是因为它可以修改成类似于手写体的字体,并且可以直接绘画,这篇文章我将分享如何使用 Docker Compose 轻松部署 Excalidraw。
1060 0
Excalidraw 简介及 Docker Compose 部署指南
|
域名解析 缓存 网络协议
域名解析后清除dns缓存
域名解析后清除dns缓存
732 4
|
Kubernetes Linux Docker
如何保存 / 同步多架构容器 Docker 镜像
如何保存 / 同步多架构容器 Docker 镜像
|
JavaScript Java 测试技术
从零开始:Nexus私服搭建与Maven仓库配置的完全指南
从零开始:Nexus私服搭建与Maven仓库配置的完全指南
21614 7