提升4倍工作效率!——如何善用Excalidraw插件的脚本功能

obsidian-excalidraw-plugin 是一个大大的良心插件。不但允许我们在 Obsidian 里直接使用 Excalidraw 的全部功能,还可以与 Obsidian 里的文档互相引用,在Obsidian文档也可以直接通过 ![[]] 的方式直接预览和导出,可以说是为 Obsidian 文档配图的首选。

这个插件更好的地方是,作者使用一个名为 ExcalidrawAutomate 的插件封装了与 Excalidraw 的互操作。在 excalidraw\Scripts 下放置的脚本可以通过名为 ea 的全局变量访问它。作者写了详细的文档介绍 ExcalidrawAutomate,不过更直观的是直接使用作者创建的一系列脚本(论坛竟然限制链接数……大家直接到上面的github链接里找吧)。只要把这些脚本文件下载并复制到 excalidraw\Scripts 就完成了安装,然后在 Obsidian 里打开一个 excalidraw 绘图,再使用快捷键 Ctrl+P 打开命令列表,输入 Script ,就可以看到这些脚本命令了。下面的动图演示这些脚本的效果,其中有的脚本是我新写的或对原脚本做了增强。这些脚本可以在网盘里下载,链接:https://pan.baidu.com/s/1CUlPuCRUV679ngcbpwVhYw 提取码:7ccs

ea2

自己动手编写脚本

如果你想自己动手编写脚本也不难,只要有一点 JavaScript 基础即可。这里介绍一些调试技巧。首先,只要把作者写好的某个脚本复制粘贴一份新的,改个文件名就可以在 Ctrl+P 的命令列表里执行它,并不需要额外的注册操作。修改了脚本内容会立即生效,不需要重启 Obsidian 或者重新打开 Excalidraw 绘图文件。需要调试的情况,可以使用快捷键 Ctrl+Shift+I 打开 DevTools. 然后在脚本文件里写 console.log(变量名) 即可在 DevTools 的 Console 面板里看到输出。也可以在脚本中放置代码 debugger; 来加入断点进行单步调试。

9 个赞

font family不能支持自定义字体,只支持"Virgil",“Helvetica”,“Cascadia”。 :sob:

确实,如果想支持中文手写字体,需要自己在源代码级修改。这里有个fork版在线的支持中文手写字体,你可以试试:https://board.oktangle.com/ 我试了下,感觉中文手写字体可读性也不是特别好,特别是需要导出图片插入PPT或者Word里的情况。

在新版的 obsidian-excalidraw插件中 已经提供了对本地字体的支持,咱们可以试着使用了。

这篇文章似乎就是您发布的吧: Obsidian 的 Excalidraw 插件自定义中文字体 (uncoverman.com)
我看了以后受到启发,实验成功了,希望后面伙伴看到,能有所借鉴。

我尝试使用的时候,走了一点弯路,本来以为新增的字体文件应该放在库文件夹的.obsidian文件夹下。
后来才发现,应该放在库文件夹正常目录下,比如如下方式才好。

├───.obsidian
│   ├───plugins
│   │   ├───obsidian-excalidraw-plugin
│   │   └───obsidian-style-settings
│   └───themes
├───001_xxx
└───font
    ├───Muyao-Softbrush-2.ttf
    └───sarasa-mono-sc-regular.ttf

我个人是喜欢使用等距更纱黑体 SC,也就是上面这个 sarasa-mono-sc-regular.ttf 字体;
当然,如果喜欢 沐瑶软笔手写体字体,选 Muyao-Softbrush-2.ttf 就可以了。

1 个赞

是我写的:grimacing:,我也是放在一个专门的附件文件夹里了。

Excalidraw箭头能和文字绑定么,像方块圆形的文字那样?就是移动箭头的时候,文字跟随移动。

目前还没有这样的功能。Excalidraw被设计为一种极简的白板软件,所以没有Visio等绘图软件的大部分功能。如果是弯曲的箭头,在中心双击可以编辑文字,然后文字会随着箭头移动,但也不太好用。

1 个赞

你好,我在excalidraw里试了一下,在弯曲的箭头中间双击之后是更改锚点,不能编辑文字。请问你是怎么实现编辑文字的呢?

可以用自动化脚本实现,参考这个up做的:我给excalidraw加上了图谱关系脚本_哔哩哔哩_bilibili

1 个赞

更新:我已经把脚本合并到github上的插件官方代码仓库。在obsidian-excalidraw-plugin/ea-scripts at master · zsviczian/obsidian-excalidraw-plugin · GitHub 可下载全部插件最新版本并有详细说明。也可以点击插件Header bar上的“安装或更新Excalidraw自动化脚本”按钮来安装,但有些网络会提示无法访问。

3 个赞