Excalidraw本地化部署

2023-11-19

1 - Excalidraw介绍

Excalidraw是一个开源、小巧易用的手写风格的框图画板软件。
​excalidraw官网地址:https://excalidraw.com/​

2 - Excalidraw本地化安装(git方式)

2-1安装部署

在terminal中,输入:

git clone https://github.com/excalidraw/excalidraw.git

安装完成后,在terminal中,进入项目文件

cd excalidraw/
2-2 安装依赖环境 - nodeJS

NodeJS下载地址:
nodejs下载:http://nodejs.cn/download
在这里插入图片描述
下载pkg包,一直下一步,直到完成。

验证nodeJS是否安装成功(terminal上)

which node

输出:表示安装成功

/usr/local/bin/node
2-3 安装依赖环境 - brew

执行命令安装brew,将官网中命令,在terminal中输入,即:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
2-4 安装依赖环境 - yarn
brew install yarn

在此目录下(cd excalidraw/),运行yarn

3 - 启动Excalidraw

cd excalidraw/
yarn start
3-1 修改字体

直接下载字体后,改名为:Virgil.woff2,直接覆盖掉即可。

3-2 下载woff2字体

先下载免费ttf字体
ttf免费字体下载地址:https://www.fonts.net.cn/commercial-free/fonts-zh-1.html

再将ttf字体转换成woff2字体
ttf字体转woff2字体:https://www.toolnb.com/tools/fonttowoff2.html

3-3 Excalidraw更换手写字体
3-3-1|拷贝字体至文件夹

打开目录pubic,将woff2字体放在此目录下,并命名成:MyFonts.woff2
在这里插入图片描述

3-3-2|修改public/fonts.css

在public/fonts.css,增加以下代码(直接复制进去)

@font-face {
  font-family: "MyFonts";
  src: url("MyFonts.woff2");
  font-display: swap;
}
3-3-3|修改public/index.html

修改 public/index.html,在head 标签中增加如下代码:

    <link
      rel="preload"
      href="MyFonts.woff2"
      as="font"
      type="font/woff2"
      crossorigin="anonymous"
    />
3-3-4|修改 src/constants.ts

修改 src/constants.ts,增加字体变量,此处以 MyFonts 字体代替了 Virgil 字体:

export const FONT_FAMILY = {
  Virgil: 1,
  Helvetica: 2,
  Cascadia: 3,
};
// 变更为
export const FONT_FAMILY = {
  MyFonts: 1,
  Virgil: 4,
  Helvetica: 2,
  Cascadia: 3,
};
3-3-5|修改 src/actions/actionProperties.tsx

修改 src/actions/actionProperties.tsx,替换字体的使用:

{
    value: FONT_FAMILY.Virgil,
    text: t("labels.handDrawn"),
    icon: <FontFamilyHandDrawnIcon theme={appState.theme} />,
}
// 变更为
{
    value: FONT_FAMILY.MyFonts,
    text: t("labels.handDrawn"),
    icon: <FontFamilyHandDrawnIcon theme={appState.theme} />,
}
3-3-6|重启服务器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excalidraw本地化部署 的相关文章

  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 受保护分支设置中的检查列表中缺少 Github 操作状态检查

    我有以下 github 操作设置 可以在创建 Pull 请求时正常触发 但它不会出现在受保护分支 主分支 的状态检查列表中 我不确定我做错了什么 name Python application on pull request branche
  • 如何剪切(1) 个驼峰字?

    Bash 中有没有一种简单的方法可以将驼峰式单词拆分为其组成词 例如 我想将 aCertainCamelCasedWord 拆分为 a certain Camel Cased Word 并能够选择我感兴趣的那些字段 当单词分隔符是下划线时
  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • Windows 版 GitKraken 中的文件名太长

    正如建议的Q22575737 https stackoverflow com a 22575737 6623589 我已经更新了我的注册表并设置了git config system core longpaths true在处理长路径时 问题
  • 如何使 case 语句匹配数字范围?

    我正在运行一个列号范围为 0 50 的开关案例 现在每个案例都支持离散列号 我观察到它的失败 这是代码 i 10 a 1 b 0 65 if a b then case i in 1 2 5 echo Not OK 9 10 12 echo
  • 通过 GitHub、Sonatype Maven 存储库提供 JavaDocs [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 尽管 Github 为 Java 开源项目提供了一个不错的家园 但与更成熟的开源托管场所相比 仍然缺少一些东西 到目前为止 我发现 S
  • apt-get install tzdata 非交互式

    当我尝试 apt get install y tzdata 将显示用于选择时区的命令行选项 我试图在脚本中使用它来进行一些设置 如何在没有用户输入的情况下使 apt get 运行 我知道重新配置 tzdata 我可以做 echo Ameri
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • 规范化 solaris 上的路径名

    在 GNU 系统上我只会使用readlink f SOME PATH 但 Solaris 没有 readlink 我更喜欢在 bash 中运行良好的程序 但如果需要的话其他程序也可以 Edit 到目前为止 我想到的最好的方法是使用 cd 和
  • Bash 方法的返回值总是模 256

    我有一个 bash 脚本方法 它返回输入值 然而 返回值始终是模 256 的值 我用 google 搜索了一段时间 发现this http www tldp org LDP abs html exitcodes html文章说它总是以 25
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • 无法使用 git 配置文件进行 ssh

    我知道它被问了很多次 但我无法得到我的问题的答案 我正在尝试使用配置文件 ssh 到系统 配置文件是 Host qa HostName 10 218 70 345 User user IdentityFile C Users bean ss
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u

随机推荐

  • -day26 必备SQL和表关系及授权

    day26 必备SQL和表关系及授权 课程目标 掌握开发中最常见的SQL语句和表关系及授权相关知识点 课程概要 必备SQL 8个必备 表关系 授权 1 必备SQL语句 上一节讲解了最基础SQL语句 增删改查 其实在日常的开发中还有很多必备的
  • 【linux】图文并茂,让你轻松掌握Linux基本指令

    目录 一 前提 二 在root身份下 管理用户 1 whoami 判断身份 2 创建用户 3 销毁用户 三 文件增 删 移动指令 1 pwd 查看路径 2 ls 打开当前目录 3 touch 创建文件 4 nano 打开文件 5 ls l
  • 电脑文件误删除如何恢复?

    每个人在日常工作中都会频繁使用电脑 毕竟工作量都是有一定的要求的 这促使我们在使用电脑的同时 要定期的清理电脑上的文件 但这很有可能会让你出现误删除文件 毕竟当你在清理磁盘或者桌面文件时 可能忘记了这个文件的作用 未点击进去就删除了 那么小
  • vue3 + router-view + keepalive parentComponent.ctx.deactivate is not a function

    vue3中keepAlive的用法与vue2中存在区别 vue3中的用法
  • vim如何选中多行后批量缩进

    vim如何选中多行后批量缩进 1 shift v 选中行 2 使用 进行缩进
  • 大厂经典Jenkins+DevOps面试题整理汇总

    1 传统网站部署流程 2 使用jenkins后网站的部署流程 3 谈谈你对CI CD的认识 这个问题在面试中也经常被问到 主要考察几个方面 你对新技术的了解 你们公司是如何落地的 来我们公司是否可以借鉴 三个概念 持续集成CI 代码合并 构
  • div标签的contenteditable属性实现input效果以及控制input的聚焦失焦

    在触屏 移动端网页 中 聊天室类型的输入框很常见 但是很多都是自定义样式的 直接改造input标签会很麻烦 给div标签设置contenteditable属性可以达到input标签的效果还能轻松的自定义样式 利用input事件和v text
  • 漫画:什么是分布式事务?

    点击上方 程序员小灰 选择 置顶公众号 有趣有内涵的文章第一时间送达 第二天 假如没有分布式事务 在一系列微服务系统当中 假如不存在分布式事务 会发生什么呢 让我们以互联网中常用的交易业务为例子 上图中包含了库存和订单两个独立的微服务 每个
  • poj1463

    1
  • 基于minikube的k8s单机环境部署ThingsBoard

    1 minikube安装k8s单机版 https blog csdn net qq 39879126 article details 121587678 2 安装ThingsBoard 下载 https github com thingsb
  • Qt动画框架设计飞入-消失特效

    用Qt动画框架设计飞入 消失特效 Qt动画框架很强大 只要你想得到 它就有可能帮你实现 这一次我将抽取上一个演示程序的部分来进行介绍 这一部分我命名为 飞入 消失 特效 主要用在文字的显示方面 从这点上说很像PowerPoint上面特效的一
  • Spark常用参数解释

    Spark的默认配置文件位于堡垒机上的这个位置 SPARK CONF DIR spark defaults conf 用户可以自行查看和理解 需要注意的是 默认值优先级最低 用户如果提交任务时或者代码里明确指定配置 则以用户配置为先 用户再
  • python stats_python statsmodel的使用

    1 Pandas Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具 相当于这是Python官方自己的一套库 statsmodel是基于Pandas开发的一套库 用于一些描述统计 统计模
  • MySQL 数据库备份(包含存储过程) 和 还原数据库

    备份数据库 使用命令 mysqldump u用户名 p密码 R 数据库名字 gt t sql sql R 表示 备份数据库时 同时也备份存储过程 还原数据库 运用了一个比较 笨 的方法 在MySQL里面手动新建一个数据库 然后把t sql
  • 部署stable diffusion时踩过的坑

    一个月前开始接触AI绘画 几天前开始学习stable diffusion 由于对自身电脑配置的信心不大 因此开始的时候使用的google免费的15G云盘空间进行云部署 但是15G内存对于想要生成更多的图片的人来说不是很够的 因为在使用过程中
  • 同事都在偷偷用的Python接单平台竟然是这8个!!轻松让你月入上w!

    一 Python爬虫学到怎么样可以接单 1 基础简单回顾 想要上手爬虫 基本知识和工具的熟练使用是必须要具备的 首先Python的一些语言基础肯定要有 爬虫大部分是用python写的 基本的语法 数据结构 函数等要熟练 比如 List di
  • vscode: Downloading package ‘C/C++ language components (Linux / x86_64)‘ Failed.

    使用vscode远程连接docker容器 进入容器后报错 Updating C C dependencies Downloading package C C language components Linux x86 64 Failed R
  • extern const static

    1 基本解释 extern可以置于变量或者函数前 以标示变量或者函数的定义在别的文件中 提示编译器遇到此变量和函数时在其他模块中寻找其定义 此外extern也可用来进行链接指定 也就是说extern有两个作用 第一个 当它与 C 一起连用时
  • 2021-07-29

    git和GitHub的搭配使用1 作为一个小白 一直觉得GitHub是个程序员大佬玩转的东西 最近在发现了宝贝教程https www bilibili com video BV1db4y1d79C spm id from 333 788 b
  • Excalidraw本地化部署

    1 Excalidraw介绍 Excalidraw是一个开源 小巧易用的手写风格的框图画板软件 excalidraw官网地址 https excalidraw com 2 Excalidraw本地化安装 git方式 2 1安装部署 在ter