【Excalidraw脚本】分享下DIY的Excalidraw脚本

不好意思是我看错了,以为可以直接编辑

仍然有个问题,AddMermaidSvg二次编辑之后给出的新流程图没法再编辑了,请问这个如何解决呢,谢谢大佬!

重新粘贴复制 :smiling_face_with_tear:,我推荐用draw.io吧

好的好的,非常感谢您的回复

有没有办法将选中的所有文字统一变为其中最大的文字的大小

我看了下,脚本市场没有现成的脚本,emmm,不过实现起来应该不难。

我简单实现了一下,你可以试下:
脚本链接:

https://raw.githubusercontent.com/PandaNocturne/ExcalidrawScripts/master/PandaScripts/AdjustFontSize.md

放到excalidraw-script-install的代码块里面下载即可,详细安装看#0

2024-05-06_16:40 脚本源码
/*
 * @Author: 熊猫别熬夜 
 * @Date: 2024-05-06 16:40:43 
 * @Last Modified by:   熊猫别熬夜 
 * @Last Modified time: 2024-05-06 16:40:43 
 */
await ea.addElementsToView();
const api = ea.getExcalidrawAPI();

// ! text 类型
const textEls = ea.getViewSelectedElements().filter(el => el.type === "text");

if (textEls.length === 0) return;

// 选择类型
const options = ['Max Size', "Min Size", 'Custom Size'];
const option = await utils.suggester(options, options, "选择缩放类型");
if (!option) return;

// 获取最大最小值字体大小
const fontSizes = textEls.map(el => el.fontSize);
const maxSize = Math.max(...fontSizes);
const minSize = Math.min(...fontSizes);

// 根据选项更新选项
let selecSize = 0;
if (option === options[0]) {
  selecSize = maxSize;
} else if (option === options[1]) {
  selecSize = minSize;
} else if (option === options[2]) {
  selecSize = await utils.inputPrompt("缩放比例" + "[" + String(Math.round(minSize)) + "~" + String(Math.round(maxSize) + "]"), null, null);
  if (!selecSize) return;
}

// 更新字体
for (el of textEls) {
  el.fontSize = selecSize;
  ea.copyViewElementsToEAforEditing([el]);

  ea.refreshTextElementSize(el.id);
  if (el.containerId) {
    const containers = ea.getViewElements().filter(e => e.id === el.containerId);
    api.updateContainerSize(containers);
    ea.selectElementsInView(containers);
  }
}

// 保存
await ea.addElementsToView(false, true);

谢谢大佬,好用!!!

1 个赞

有没有可以给插入的makdown涂鸦的脚本

我有点不太理解 markdown涂鸦 是什么意思

大佬,有没有办法让线段变得等长
比如


通过一个命令,让选的一组横线或者竖线等长

Alt按住 直接复制一个方便点?

主要是边些边调整,写着写着发现拉的表格线不够长了,需要整个一排一起加长
1 得全部一排都删掉,重新复制一个一个对位置,,,
2 一个一个拉长到统一长度,,,

1 个赞

我晚点试下如何解决

1 个赞

大佬,有没有优化连接线的脚本或插件

类似以下这个视频

这个视频的问题在于,我无法把这个功能迁移到自己的库中

我也不会,你可以请教下一鸣惊人大佬,我当时js也不会就是向他请教的,然后才写的一些脚本,用于辅助画图

请问 AdjustmentImginesize 已经安装好了但是点击没有反应是为什么?

需要选中图片后再运行

24.08.18 新增2个脚本:

统计选中图层字数 (Word Counter)

https://raw.githubusercontent.com/wish5115/my-softs/main/Excalidraw/Words%20Counter.md

ShareToEagle

https://raw.githubusercontent.com/PandaNocturne/ExcalidrawScripts/master/PandaScripts/ShareToEagle.md
  • Author:熊猫别熬夜
  • Description:可选中 Excalidraw 中局部元素发送到 Eagle(注:loud_sound::该脚本已集合到EagleToExcalidraw脚本中),导入Eagle里面的格式是SVG,导入时可设置SVG名称,链接,Ob文档链接,SVG可在官方Excalidraw中还原。
    • File-20240817110840973
    • PixPin_2024-08-18_12-37-11
    • PixPin_2024-08-18_12-37-40

24.08.28 ChangeLog

SaveSelectAsLocalePng

添加Copy as Wiki按钮,将图片自动生成在ob的默认附件位置,并复制![[filename]]文本至剪切板,相较于自带的Copy to clipboard as PNG/SVG,可随时调节PNG的缩放比例,调整清晰度。
Excalidraw.md

24.08.28 New Scripts

RemoveBg

https://raw.githubusercontent.com/PandaNocturne/ExcalidrawScripts/master/PandaScripts/RemoveBg.md