├── .obsidian
├── app.json
├── appearance.json
├── community-plugins.json
├── core-plugins-migration.json
├── core-plugins.json
├── graph.json
├── hotkeys.json
├── my-style
│ └── style-settings.json
├── plugins
│ ├── obsidian-admonition
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── obsidian-excalidraw-plugin-ymjr
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── obsidian-hover-editor
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── obsidian-kanban
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── obsidian-style-settings
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── obsidian42-brat
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── quickadd
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── templater-obsidian
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ └── unicode-search-ymjr
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
├── snippets
│ └── excalidraw-toolicon-svg.css
├── themes
│ └── Blue Topaz
│ │ ├── manifest.json
│ │ └── theme.css
├── types.json
├── workspace.json
└── workspaces.json
├── Excalidraw关系.excalidraw.md
├── README.md
├── Welcome.md
├── docs
└── README_ZH.md
├── example images
└── font.gif
├── example
├── 123.md
├── attachments
│ ├── Drawing 2024-02-01 20.47.04.excalidraw_image_20240201204756_054.png
│ ├── example - library.excalidraw_image_20240122170611_060.png
│ ├── example - library.excalidraw_image_20240122170820_953.png
│ ├── example - svg转excalidraw - 文字.excalidraw_image_20240228011522_441.png
│ ├── example - 图层.excalidraw_image_20240122200846_207.png
│ ├── example - 圆圈编号.excalidraw_image_20240219142439_353.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_502.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_510.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_528.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_555.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_562.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_579.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_596.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_612.png
│ ├── example - 箭头动画.excalidraw_image_20240226122628_628.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_736.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_744.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_750.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_766.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_781.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_794.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_800.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_814.png
│ ├── example - 箭头动画.excalidraw_image_20240226151822_829.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_256.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_264.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_285.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_293.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_309.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_325.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_331.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_345.png
│ ├── example - 箭头动画.excalidraw_image_20240226160212_363.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_330.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_337.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_341.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_361.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_376.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_381.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_394.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_409.png
│ ├── example - 箭头动画.excalidraw_image_20240226163517_430.png
│ ├── example - 详情.excalidraw_image_20240122174444_681.png
│ ├── example - 详情.excalidraw_image_20240122174500_942.png
│ ├── example - 重复脚本.excalidraw_image_20241129140423_885.png
│ ├── example - 高亮连接.excalidraw_image_20240228112402_337.svg
│ ├── example - 高亮连接.excalidraw_image_20240228112402_342.svg
│ ├── example - 高亮连接.excalidraw_image_20240228112402_353.svg
│ ├── example - 高亮连接.excalidraw_image_20240228112402_358.svg
│ ├── image.png
│ ├── image_0.png
│ ├── image_1.png
│ ├── image_2.png
│ ├── image_3.png
│ ├── image_4.png
│ ├── image_5.png
│ ├── image_6.png
│ ├── image_7.png
│ ├── image_8.png
│ ├── image_9.png
│ ├── 摘录方式.excalidraw_image_20240306194116_908.png
│ ├── 摘录方式.excalidraw_image_20240306194823_891.png
│ ├── 摘录方式.excalidraw_image_20240306194837_473.png
│ ├── 摘录方式.excalidraw_image_20240306195631_883.png
│ ├── 摘录方式.excalidraw_image_20240306195702_893.png
│ ├── 摘录方式.excalidraw_image_20240306195821_891.png
│ ├── 摘录方式.excalidraw_image_20240306195925_883.png
│ ├── 摘录方式.excalidraw_image_20240306201033_446.png
│ ├── 摘录方式.excalidraw_image_20240306201157_674.png
│ ├── 摘录方式.excalidraw_image_20240306201438_465.png
│ ├── 摘录方式.excalidraw_image_20240306202023_617.png
│ ├── 摘录方式.excalidraw_image_20240306202047_883.png
│ ├── 摘录方式.excalidraw_image_20240306205531_079.png
│ ├── 摘录方式.excalidraw_image_20240306205633_428.png
│ └── 摘录方式.excalidraw_image_20240306205702_319.png
├── example - callout.excalidraw.md
├── example - echarts图表.excalidraw.md
├── example - svg转excalidraw - 文字.excalidraw.md
├── example - todolist点击交互.excalidraw.md
├── example - 不可绑定箭头.excalidraw.md
├── example - 代码高亮.excalidraw.md
├── example - 便捷输入.excalidraw.md
├── example - 便捷输入.excalidraw.outline.md
├── example - 图层.excalidraw.md
├── example - 圆圈编号.excalidraw.md
├── example - 增大减小元素.excalidraw.md
├── example - 大括号.excalidraw.md
├── example - 大纲outline.excalidraw.md
├── example - 思维导图.excalidraw.md
├── example - 折叠显示元素.excalidraw.md
├── example - 按钮.excalidraw.md
├── example - 文字和字体.excalidraw.md
├── example - 文字和字体.excalidraw.outline-kanban.md
├── example - 日历素材.excalidraw.md
├── example - 标签.excalidraw.md
├── example - 模板(smartart).excalidraw.md
├── example - 波形图.excalidraw.md
├── example - 渐变.excalidraw.md
├── example - 箭头动画.excalidraw.md
├── example - 箭头连接元素.excalidraw.md
├── example - 素材库.excalidraw.md
├── example - 缩放隐藏显示.excalidraw.md
├── example - 缩略图 全局图.excalidraw.md
├── example - 自动连接附着.excalidraw.md
├── example - 自定义拉伸箭头.excalidraw.md
├── example - 表格.excalidraw.md
├── example - 表格.excalidraw.svg
├── example - 视频摘录.excalidraw.md
├── example - 设置直线长度、角度.excalidraw.md
├── example - 详情.excalidraw.md
├── example - 跟随箭头.excalidraw.md
├── example - 转为latex公式.excalidraw.md
├── example - 转换文字为reminder.excalidraw.md
├── example - 逐个显示&隐藏.excalidraw.md
├── example - 重复脚本.excalidraw.md
├── example - 长方体.excalidraw.md
├── example - 阴影.excalidraw.md
├── example - 高亮连接.excalidraw.md
├── example.excalidraw.outline-kanban.md
├── mindmap from templater.md
├── mindmap from templater_mindmap.excalidraw.md
├── mindmap from templater_mindmapbbb.excalidraw.md
├── 摘录方式.excalidraw.md
├── 摘录方式2.excalidraw.md
├── 摘录方式2.excalidraw.png
├── 摘录方式2.excalidraw.svg
└── 测试无序列表.md
├── images
├── Untitled Diagram.svg
├── custom scripts store.PNG
├── icons
│ ├── BookxNotePro.png
│ ├── File2023 Obsidian logo.svg.png
│ ├── FileMicrosoft Office PowerPoint 2019–present.svg.png
│ ├── FilePotPlayer-.png
│ ├── FileZotero icon.png
│ ├── Quicker.png
│ ├── eagle.png
│ ├── excalidraw.svg
│ ├── javascrip.png
│ ├── python.png
│ └── vscode.svg
├── switch connection shape2.gif
├── 图片1.svg
└── 赞助码.jpg
└── plugins
├── Excalidraw
├── Fonts
│ ├── LXGWWenKai-Regular.woff2
│ ├── MTC-7-Segment.TTF
│ ├── 包图小白体.woff2
│ └── 方正仿宋简体.woff2
├── Library
│ ├── calendar.excalidrawlib
│ ├── callout.excalidrawlib
│ ├── digital-circuit-components-my.excalidrawlib
│ ├── example custom arrow.excalidrawlib
│ ├── polygons.excalidrawlib
│ └── presentation-bundle.excalidrawlib
├── Scripts
│ ├── Downloaded(Custom)
│ │ ├── Add list continue.md
│ │ ├── Add order list.md
│ │ ├── Add order list.svg
│ │ ├── Add unorder list.md
│ │ ├── Add unorder list.svg
│ │ ├── Connect elements sequence by x.md
│ │ ├── Connect elements sequence by y.md
│ │ ├── Connect elements_by_x.md
│ │ ├── Connect elements_by_y.md
│ │ ├── Convert text to reminder.md
│ │ ├── Horizontal alignment.md
│ │ ├── Horizontal distribution.md
│ │ ├── Horizontal distribution.svg
│ │ ├── Mindmap format.md
│ │ ├── Mindmap format2.md
│ │ ├── Open file by default app.md
│ │ ├── Repeat Elements (with group).md
│ │ ├── Repeat Elements (with group).svg
│ │ ├── Set angle.md
│ │ ├── Set arrow type.md
│ │ ├── Set bulleted number index.md
│ │ ├── Set font size.md
│ │ ├── Set laser color.md
│ │ ├── Set line angle.md
│ │ ├── Set line length.md
│ │ ├── Split text by caesura.md
│ │ ├── Split text by input.md
│ │ ├── Vertical alignment.md
│ │ ├── Vertical distribution.md
│ │ ├── Vertical distribution.svg
│ │ ├── _autorun-obMenu.md
│ │ ├── _autorun-openfileHook.md
│ │ ├── _autorun-utils.md
│ │ ├── add animation for line.md
│ │ ├── add bottom brace.md
│ │ ├── add bottom brace.svg
│ │ ├── add bound by arrow.md
│ │ ├── add bound.md
│ │ ├── add bulleted number.md
│ │ ├── add col for table.md
│ │ ├── add collapse by line.md
│ │ ├── add detial - detail.md
│ │ ├── add detial - target.md
│ │ ├── add elements appear by line.md
│ │ ├── add fixed and dragable for line.md
│ │ ├── add fixed length.md
│ │ ├── add fixed.md
│ │ ├── add gradient.md
│ │ ├── add highlight link.md
│ │ ├── add hover by arrow.md
│ │ ├── add hover.md
│ │ ├── add image server.md
│ │ ├── add image to anki.md
│ │ ├── add image to eagle.md
│ │ ├── add indent for text.md
│ │ ├── add layer.md
│ │ ├── add left brace.md
│ │ ├── add left brace.svg
│ │ ├── add measure.md
│ │ ├── add mermaid svg.md
│ │ ├── add mind map.md
│ │ ├── add onPointerDownHook.md
│ │ ├── add outline level - string.md
│ │ ├── add outline level - suggester.md
│ │ ├── add partial bold.md
│ │ ├── add partial color.md
│ │ ├── add reminder to todo list.md
│ │ ├── add right brace.md
│ │ ├── add right brace.svg
│ │ ├── add row for table.md
│ │ ├── add shadow.md
│ │ ├── add text containers.md
│ │ ├── add top brace.md
│ │ ├── add top brace.svg
│ │ ├── add wave drom.md
│ │ ├── add wrapper.md
│ │ ├── add zoomHide.md
│ │ ├── align arrows.md
│ │ ├── autorun-TextHook.md
│ │ ├── autorun-_renderInteractiveScene_Hook.md
│ │ ├── autorun-addElementsFromPasteOrLibrary_Hook.md
│ │ ├── autorun-afterTransformElementsHook.md
│ │ ├── autorun-binding.md
│ │ ├── autorun-canvasNodeReadyHook.md
│ │ ├── autorun-deleteSelectedElementsHook.md
│ │ ├── autorun-dragSelectedElementsHook.md
│ │ ├── autorun-drawElementFromCanvasHook.md
│ │ ├── autorun-drawElementOnCanvasHook.md
│ │ ├── autorun-generateElementCanvasHook.md
│ │ ├── autorun-generateRoughOptionsHook.md
│ │ ├── autorun-handleCanvasPointerMove_Hook.md
│ │ ├── autorun-handleCanvasPointerUp_Hook.md
│ │ ├── autorun-handleLinearElementOnPointerDownHook.md
│ │ ├── autorun-handlePointDraggingHook.md
│ │ ├── autorun-handleTextWysiwygHook.md
│ │ ├── autorun-handleWheelHook.md
│ │ ├── autorun-maybeBindLinearElement_Hook.md
│ │ ├── autorun-onAfterLoadSceneHook.md
│ │ ├── autorun-onBeforeTextSubmit_Hook.md
│ │ ├── autorun-onFileModify.md
│ │ ├── autorun-onKeyDownHook.md
│ │ ├── autorun-onLinkHook.md
│ │ ├── autorun-onPasteHook.md
│ │ ├── autorun-onPointerDownHook.md
│ │ ├── autorun-renderCustomDocument.md
│ │ ├── autorun-renderElementHook.md
│ │ ├── autorun-renderElementToSvg_Hook.md
│ │ ├── autorun-renderStaticSceneHook.md
│ │ ├── autorun-replaceAllElementsHook.md
│ │ ├── autorun-selectElementsHook.md
│ │ ├── autorun-updateBoundPoint_Hook.md
│ │ ├── autorun-updateSceneHook.md
│ │ ├── autorun-wrapTextHook.md
│ │ ├── autorun-zoomToFitWrapper.md
│ │ ├── autotun-getElementsAtPositionHook.md
│ │ ├── change mindmap style.md
│ │ ├── change slide line.md
│ │ ├── changeBlockLinkForTemplate.md
│ │ ├── changeFileLinkForTemplate.md
│ │ ├── clear customData.md
│ │ ├── clear detail pos.md
│ │ ├── clear ea Mindmap.md
│ │ ├── close add image server.md
│ │ ├── convert connection shape to elbow.md
│ │ ├── convert elements to latex.md
│ │ ├── convert latex in text.md
│ │ ├── convert latex in text.svg
│ │ ├── convert latex in text2.svg
│ │ ├── convert line to Right-angle (multi-points).md
│ │ ├── convert line to Right-angle.md
│ │ ├── convert text to echarts.md
│ │ ├── convert to shape (iink).md
│ │ ├── copy customData.md
│ │ ├── copy elements text as single text.md
│ │ ├── cover text by text.md
│ │ ├── delete shape cache.md
│ │ ├── distribute elements (center).md
│ │ ├── distribute elements (center).svg
│ │ ├── duplicateCustomData.md
│ │ ├── duplicateGroupIds.md
│ │ ├── edit custom data.md
│ │ ├── export mindmap to md.md
│ │ ├── export mindmap to md_##Mindmap.md
│ │ ├── fit equation size to font size.md
│ │ ├── follow.md
│ │ ├── follow_inv.md
│ │ ├── font bold.md
│ │ ├── font line through.md
│ │ ├── font weight.md
│ │ ├── generate cuboid.md
│ │ ├── generate shape grid - hexagon.md
│ │ ├── generate shape grid.md
│ │ ├── generate table.md
│ │ ├── generateAdvancedUri.md
│ │ ├── get element id to clipboard.md
│ │ ├── get file and area.md
│ │ ├── get largest element id.md
│ │ ├── get-link-as-text-table.md
│ │ ├── gridSelected.md
│ │ ├── highlight image.md
│ │ ├── highlight text by editable.md
│ │ ├── highlight text.md
│ │ ├── highlight text.svg
│ │ ├── highlight text3.md
│ │ ├── increase size.md
│ │ ├── inputToMultipleShape.md
│ │ ├── insert echarts.md
│ │ ├── insert image from ex link.md
│ │ ├── insert image from file area.md
│ │ ├── insert vertical space with width.md
│ │ ├── insert vertical space.md
│ │ ├── load more library.md
│ │ ├── mark as checkbox.md
│ │ ├── mark as code.md
│ │ ├── mark as nobind.md
│ │ ├── mark as wavedrom.md
│ │ ├── paste text with containers - single.md
│ │ ├── paste text with containers.md
│ │ ├── reduce size.md
│ │ ├── remove animation.md
│ │ ├── remove shadow.md
│ │ ├── replace mindmap node.md
│ │ ├── replaceTemplateFromUnorderList.md
│ │ ├── resize images in same width.md
│ │ ├── return click link pos.md
│ │ ├── reverseText.md
│ │ ├── run code from text of element.md
│ │ ├── save pos.md
│ │ ├── search then select.md
│ │ ├── select by script.md
│ │ ├── select text elements.md
│ │ ├── selectElementsByStageIds.md
│ │ ├── set element tags.md
│ │ ├── set iFrame children script.md
│ │ ├── set iFrame on click.md
│ │ ├── set iFrame on click2.md
│ │ ├── set link from clipboard.md
│ │ ├── show layer toolbar.md
│ │ ├── show layer toolbar.svg
│ │ ├── show layer.md
│ │ ├── show layers.md
│ │ ├── show outline by frame - kanban.md
│ │ ├── show outline by title level - panel.md
│ │ ├── show outline by title level - panel.svg
│ │ ├── show outline by title level - ex.md
│ │ ├── show outline by title level - kanban.md
│ │ ├── show outline by title level.md
│ │ ├── show thumbnail.md
│ │ ├── simplifyLineTo2Points_2.md
│ │ ├── splitTextWhenEditing.md
│ │ ├── stageElementsIds.md
│ │ ├── switch connection shape.md
│ │ ├── switch connection shape.svg
│ │ ├── switch echarts type.md
│ │ ├── tableSelectedElements.md
│ │ ├── text title.md
│ │ └── wrap text.md
│ └── Downloaded
│ │ ├── Add Connector Point.md
│ │ ├── Add Connector Point.svg
│ │ ├── Add Link to Existing File and Open.md
│ │ ├── Add Link to Existing File and Open.svg
│ │ ├── Add Link to New Page and Open.md
│ │ ├── Add Link to New Page and Open.svg
│ │ ├── Add Next Step in Process.md
│ │ ├── Add Next Step in Process.svg
│ │ ├── Auto Draw for Pen.md
│ │ ├── Auto Draw for Pen.svg
│ │ ├── Auto Layout.md
│ │ ├── Auto Layout.svg
│ │ ├── Boolean Operations.md
│ │ ├── Boolean Operations.svg
│ │ ├── Box Each Selected Groups.md
│ │ ├── Box Each Selected Groups.svg
│ │ ├── Box Selected Elements.md
│ │ ├── Box Selected Elements.svg
│ │ ├── Change shape of selected elements.md
│ │ ├── Change shape of selected elements.svg
│ │ ├── Concatenate lines.md
│ │ ├── Concatenate lines.svg
│ │ ├── Connect elements.md
│ │ ├── Connect elements.svg
│ │ ├── Convert freedraw to line.md
│ │ ├── Convert freedraw to line.svg
│ │ ├── Convert selected text elements to sticky notes.md
│ │ ├── Convert selected text elements to sticky notes.svg
│ │ ├── Convert text to link with folder and alias.md
│ │ ├── Convert text to link with folder and alias.svg
│ │ ├── Copy Selected Element Styles to Global.md
│ │ ├── Copy Selected Element Styles to Global.svg
│ │ ├── Create DrawIO file.md
│ │ ├── Create DrawIO file.svg
│ │ ├── Create new markdown file and embed into active drawing.md
│ │ ├── Create new markdown file and embed into active drawing.svg
│ │ ├── Crop Vintage Mask.md
│ │ ├── Crop Vintage Mask.svg
│ │ ├── Darken background color.md
│ │ ├── Darken background color.svg
│ │ ├── Deconstruct selected elements into new drawing.md
│ │ ├── Deconstruct selected elements into new drawing.svg
│ │ ├── Elbow connectors.md
│ │ ├── Elbow connectors.svg
│ │ ├── Ellipse Selected Elements.md
│ │ ├── Ellipse Selected Elements.svg
│ │ ├── ExcaliAI.md
│ │ ├── ExcaliAI.svg
│ │ ├── Excalidraw Collaboration Frame.md
│ │ ├── Excalidraw Collaboration Frame.svg
│ │ ├── Expand rectangles horizontally keep text centered.md
│ │ ├── Expand rectangles horizontally keep text centered.svg
│ │ ├── Expand rectangles horizontally.md
│ │ ├── Expand rectangles horizontally.svg
│ │ ├── Expand rectangles vertically keep text centered.md
│ │ ├── Expand rectangles vertically keep text centered.svg
│ │ ├── Expand rectangles vertically.md
│ │ ├── Expand rectangles vertically.svg
│ │ ├── Fixed horizontal distance between centers.md
│ │ ├── Fixed horizontal distance between centers.svg
│ │ ├── Fixed inner distance.md
│ │ ├── Fixed inner distance.svg
│ │ ├── Fixed spacing.md
│ │ ├── Fixed spacing.svg
│ │ ├── Fixed vertical distance between centers.md
│ │ ├── Fixed vertical distance between centers.svg
│ │ ├── Fixed vertical distance.md
│ │ ├── Fixed vertical distance.svg
│ │ ├── Folder Note Core - Make Current Drawing a Folder.md
│ │ ├── Folder Note Core - Make Current Drawing a Folder.svg
│ │ ├── GPT-Draw-a-UI.md
│ │ ├── GPT-Draw-a-UI.svg
│ │ ├── Golden Ratio.md
│ │ ├── Golden Ratio.svg
│ │ ├── Grid Selected Images.md
│ │ ├── Grid Selected Images.svg
│ │ ├── Hardware Eraser Support.md
│ │ ├── Hardware Eraser Support.svg
│ │ ├── Invert colors.md
│ │ ├── Invert colors.svg
│ │ ├── Lighten background color.md
│ │ ├── Lighten background color.svg
│ │ ├── Mindmap connector.md
│ │ ├── Mindmap connector.svg
│ │ ├── Mindmap format.md
│ │ ├── Mindmap format.svg
│ │ ├── Modify background color opacity.md
│ │ ├── Modify background color opacity.svg
│ │ ├── Normalize Selected Arrows.md
│ │ ├── Normalize Selected Arrows.svg
│ │ ├── Organic Line Legacy.md
│ │ ├── Organic Line Legacy.svg
│ │ ├── Organic Line.md
│ │ ├── Organic Line.svg
│ │ ├── PDF Page Text to Clipboard.md
│ │ ├── PDF Page Text to Clipboard.svg
│ │ ├── Palette loader.md
│ │ ├── Palette loader.svg
│ │ ├── Relative Font Size Cycle.md
│ │ ├── Relative Font Size Cycle.svg
│ │ ├── Rename Image.md
│ │ ├── Rename Image.svg
│ │ ├── Repeat Elements.md
│ │ ├── Repeat Elements.svg
│ │ ├── Repeat Texts.md
│ │ ├── Repeat Texts.svg
│ │ ├── Reverse arrows.md
│ │ ├── Reverse arrows.svg
│ │ ├── Scribble Helper.md
│ │ ├── Scribble Helper.svg
│ │ ├── Select Elements of Type.md
│ │ ├── Select Elements of Type.svg
│ │ ├── Select Similar Elements.md
│ │ ├── Select Similar Elements.svg
│ │ ├── Set Dimensions.md
│ │ ├── Set Dimensions.svg
│ │ ├── Set Font Family.md
│ │ ├── Set Font Family.svg
│ │ ├── Set Grid.md
│ │ ├── Set Grid.svg
│ │ ├── Set Link Alias.md
│ │ ├── Set Link Alias.svg
│ │ ├── Set Stroke Width of Selected Elements.md
│ │ ├── Set Stroke Width of Selected Elements.svg
│ │ ├── Set Text Alignment.md
│ │ ├── Set Text Alignment.svg
│ │ ├── Set background color of unclosed line object by adding a shadow clone.md
│ │ ├── Set background color of unclosed line object by adding a shadow clone.svg
│ │ ├── Slideshow.md
│ │ ├── Slideshow.svg
│ │ ├── Split Ellipse.md
│ │ ├── Split Ellipse.svg
│ │ ├── Split text by lines.md
│ │ ├── Split text by lines.svg
│ │ ├── Text Arch.md
│ │ ├── Text Arch.svg
│ │ ├── Text Aura.md
│ │ ├── Text Aura.svg
│ │ ├── Text to Sticky Notes.md
│ │ ├── Text to Sticky Notes.svg
│ │ ├── Toggle Grid.md
│ │ ├── Toggle Grid.svg
│ │ ├── Uniform size.md
│ │ ├── Uniform size.svg
│ │ ├── Zoom to Fit Selected Elements.md
│ │ └── Zoom to Fit Selected Elements.svg
└── Templates
│ ├── Template.excalidraw.md
│ └── slides.excalidraw.md
├── QuickAdd
├── add image with link from http.js
├── close http server.js
└── paste annotation with link from json.js
└── Templater
├── tp-excalidraw双链和创建文件-固定ex路径.md
├── tp-excalidraw双链和创建文件-输入文件名.md
└── tp.excalidraw.mindmap.md
/.obsidian/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "alwaysUpdateLinks": true,
3 | "attachmentFolderPath": "./attachments"
4 | }
--------------------------------------------------------------------------------
/.obsidian/appearance.json:
--------------------------------------------------------------------------------
1 | {
2 | "accentColor": "",
3 | "theme": "obsidian",
4 | "baseFontSize": 17,
5 | "cssTheme": "Blue Topaz",
6 | "translucency": false,
7 | "enabledCssSnippets": [
8 | "【卡片视图】cards",
9 | "【自定义】表格样式TableStyles",
10 | "openPdf-button",
11 | "列表添加动态引导线",
12 | "My-underline",
13 | "color tag",
14 | "hide frontmatter under preview mode",
15 | "custom-admonitions.31ed69",
16 | "compare-flex",
17 | "extended-colorschemes",
18 | "highlight-callout-class",
19 | "remove hover editor property",
20 | "excalidraw-md-background",
21 | "tag",
22 | "excalidraw-toolicon-svg"
23 | ],
24 | "baseFontSizeAction": false
25 | }
--------------------------------------------------------------------------------
/.obsidian/community-plugins.json:
--------------------------------------------------------------------------------
1 | [
2 | "obsidian-kanban",
3 | "obsidian-style-settings",
4 | "templater-obsidian",
5 | "obsidian42-brat",
6 | "unicode-search-ymjr",
7 | "obsidian-excalidraw-plugin-ymjr",
8 | "quickadd",
9 | "obsidian-admonition",
10 | "obsidian-hover-editor"
11 | ]
--------------------------------------------------------------------------------
/.obsidian/core-plugins-migration.json:
--------------------------------------------------------------------------------
1 | {
2 | "file-explorer": true,
3 | "global-search": true,
4 | "switcher": true,
5 | "graph": true,
6 | "backlink": true,
7 | "canvas": true,
8 | "outgoing-link": true,
9 | "tag-pane": true,
10 | "properties": false,
11 | "page-preview": true,
12 | "daily-notes": true,
13 | "templates": true,
14 | "note-composer": true,
15 | "command-palette": true,
16 | "slash-command": false,
17 | "editor-status": true,
18 | "bookmarks": true,
19 | "markdown-importer": false,
20 | "zk-prefixer": false,
21 | "random-note": false,
22 | "outline": true,
23 | "word-count": true,
24 | "slides": false,
25 | "audio-recorder": false,
26 | "workspaces": true,
27 | "file-recovery": true,
28 | "publish": false,
29 | "sync": false
30 | }
--------------------------------------------------------------------------------
/.obsidian/core-plugins.json:
--------------------------------------------------------------------------------
1 | {
2 | "file-explorer": true,
3 | "global-search": true,
4 | "switcher": true,
5 | "graph": true,
6 | "backlink": true,
7 | "canvas": true,
8 | "outgoing-link": true,
9 | "tag-pane": true,
10 | "properties": false,
11 | "page-preview": true,
12 | "daily-notes": true,
13 | "templates": true,
14 | "note-composer": true,
15 | "command-palette": true,
16 | "slash-command": false,
17 | "editor-status": true,
18 | "bookmarks": true,
19 | "markdown-importer": false,
20 | "zk-prefixer": false,
21 | "random-note": false,
22 | "outline": true,
23 | "word-count": true,
24 | "slides": false,
25 | "audio-recorder": false,
26 | "workspaces": true,
27 | "file-recovery": true,
28 | "publish": false,
29 | "sync": false,
30 | "webviewer": false
31 | }
--------------------------------------------------------------------------------
/.obsidian/graph.json:
--------------------------------------------------------------------------------
1 | {
2 | "collapse-filter": true,
3 | "search": "",
4 | "showTags": false,
5 | "showAttachments": false,
6 | "hideUnresolved": false,
7 | "showOrphans": true,
8 | "collapse-color-groups": true,
9 | "colorGroups": [],
10 | "collapse-display": true,
11 | "showArrow": false,
12 | "textFadeMultiplier": 0,
13 | "nodeSizeMultiplier": 1,
14 | "lineSizeMultiplier": 1,
15 | "collapse-forces": true,
16 | "centerStrength": 0.518713248970312,
17 | "repelStrength": 10,
18 | "linkStrength": 1,
19 | "linkDistance": 250,
20 | "scale": 1.5255568449083812,
21 | "close": true
22 | }
--------------------------------------------------------------------------------
/.obsidian/my-style/style-settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "blue-topaz-theme@@color-scheme-options": "color-scheme-options-default",
3 | "blue-topaz-theme@@funny-header-anim": true,
4 | "blue-topaz-theme@@print-h1-color@@dark": "#CC5F00",
5 | "blue-topaz-theme@@print-h1-color@@light": "#CC6900",
6 | "blue-topaz-theme@@print-h2-color@@dark": "#CC7700",
7 | "blue-topaz-theme@@print-h2-color@@light": "#CC7700",
8 | "blue-topaz-theme@@print-h3-color@@dark": "#CCBB00",
9 | "blue-topaz-theme@@print-h3-color@@light": "#CCBB00",
10 | "blue-topaz-theme@@all-dark": true
11 | }
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian-admonition/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "userAdmonitions": {},
3 | "syntaxHighlight": false,
4 | "copyButton": false,
5 | "version": "10.3.2",
6 | "autoCollapse": false,
7 | "defaultCollapseType": "open",
8 | "injectColor": true,
9 | "parseTitles": true,
10 | "dropShadow": true,
11 | "hideEmpty": false,
12 | "open": {
13 | "admonitions": true,
14 | "icons": true,
15 | "other": true,
16 | "advanced": false
17 | },
18 | "icons": [],
19 | "useFontAwesome": true,
20 | "rpgDownloadedOnce": false,
21 | "msDocConverted": false,
22 | "useSnippet": false,
23 | "snippetPath": "custom-admonitions.9060cb"
24 | }
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian-admonition/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "obsidian-admonition",
3 | "name": "Admonition",
4 | "version": "10.3.2",
5 | "minAppVersion": "1.1.0",
6 | "description": "Enhanced callouts for Obsidian.md",
7 | "author": "Jeremy Valentine",
8 | "authorUrl": "",
9 | "isDesktopOnly": false
10 | }
11 |
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian-excalidraw-plugin-ymjr/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "obsidian-excalidraw-plugin-ymjr",
3 | "name": "Excalidraw-ymjr",
4 | "version": "2.12.2-2",
5 | "minAppVersion": "1.1.6",
6 | "description": "An Obsidian plugin to edit and view Excalidraw drawings (modified by 一鸣惊人)",
7 | "author": "Zsolt Viczian (modified by 一鸣惊人)",
8 | "authorUrl": "https://excalidraw-obsidian.online",
9 | "fundingUrl": "https://ko-fi.com/zsolt",
10 | "helpUrl": "https://github.com/Bowen-0x00/obsidian-excalidraw-plugin-ymjr#readme",
11 | "isDesktopOnly": false
12 | }
13 |
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian-hover-editor/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "obsidian-hover-editor",
3 | "name": "Hover Editor",
4 | "version": "0.11.21",
5 | "minAppVersion": "1.5.8",
6 | "description": "Transform the Page Preview hover popover into a fully working editor instance",
7 | "author": "NothingIsLost",
8 | "authorUrl": "https://github.com/nothingislost",
9 | "isDesktopOnly": false
10 | }
11 |
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian-kanban/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "obsidian-kanban",
3 | "name": "Kanban",
4 | "version": "1.5.3",
5 | "minAppVersion": "1.0.0",
6 | "description": "Create markdown-backed Kanban boards in Obsidian.",
7 | "author": "mgmeyers",
8 | "authorUrl": "https://github.com/mgmeyers/obsidian-kanban",
9 | "isDesktopOnly": false
10 | }
11 |
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian-style-settings/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "obsidian-style-settings",
3 | "name": "Style Settings",
4 | "version": "1.0.7",
5 | "minAppVersion": "0.11.5",
6 | "description": "Offers controls for adjusting theme, plugin, and snippet CSS variables.",
7 | "author": "mgmeyers",
8 | "authorUrl": "https://github.com/mgmeyers/obsidian-style-settings",
9 | "isDesktopOnly": false
10 | }
11 |
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian42-brat/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "pluginList": [
3 | "Bowen-0x00/obsidian-excalidraw-plugin-ymjr"
4 | ],
5 | "pluginSubListFrozenVersion": [],
6 | "themesList": [],
7 | "updateAtStartup": false,
8 | "updateThemesAtStartup": false,
9 | "enableAfterInstall": true,
10 | "loggingEnabled": false,
11 | "loggingPath": "BRAT-log",
12 | "loggingVerboseEnabled": false,
13 | "debuggingMode": false,
14 | "notificationsEnabled": true
15 | }
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian42-brat/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "obsidian42-brat",
3 | "name": "BRAT",
4 | "version": "0.8.4",
5 | "minAppVersion": "1.4.16",
6 | "description": "Easily install a beta version of a plugin for testing.",
7 | "author": "TfTHacker",
8 | "authorUrl": "https://github.com/TfTHacker/obsidian42-brat",
9 | "helpUrl": "https://tfthacker.com/BRAT",
10 | "isDesktopOnly": false,
11 | "fundingUrl": {
12 | "Buy Me a Coffee": "https://bit.ly/o42-kofi",
13 | "Visit my site": "https://tfthacker.com"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.obsidian/plugins/obsidian42-brat/styles.css:
--------------------------------------------------------------------------------
1 | .brat-modal .modal-button-container {
2 | margin-top: 5px !important;
3 | }
4 |
--------------------------------------------------------------------------------
/.obsidian/plugins/quickadd/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "quickadd",
3 | "name": "QuickAdd",
4 | "version": "1.11.1",
5 | "minAppVersion": "1.6.0",
6 | "description": "Quickly add new pages or content to your vault.",
7 | "author": "Christian B. B. Houmann",
8 | "authorUrl": "https://bagerbach.com",
9 | "fundingUrl": "https://www.buymeacoffee.com/chhoumann",
10 | "helpUrl": "https://quickadd.obsidian.guide/docs/",
11 | "isDesktopOnly": false
12 | }
--------------------------------------------------------------------------------
/.obsidian/plugins/templater-obsidian/data.json:
--------------------------------------------------------------------------------
1 | {
2 | "command_timeout": 5,
3 | "templates_folder": "plugins/Templater",
4 | "templates_pairs": [
5 | [
6 | "",
7 | ""
8 | ]
9 | ],
10 | "trigger_on_file_creation": false,
11 | "auto_jump_to_cursor": false,
12 | "enable_system_commands": false,
13 | "shell_path": "",
14 | "user_scripts_folder": "",
15 | "enable_folder_templates": true,
16 | "folder_templates": [
17 | {
18 | "folder": "",
19 | "template": ""
20 | }
21 | ],
22 | "syntax_highlighting": true,
23 | "syntax_highlighting_mobile": false,
24 | "enabled_templates_hotkeys": [
25 | ""
26 | ],
27 | "startup_templates": [
28 | ""
29 | ],
30 | "enable_ribbon_icon": true
31 | }
--------------------------------------------------------------------------------
/.obsidian/plugins/templater-obsidian/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "templater-obsidian",
3 | "name": "Templater",
4 | "version": "2.1.2",
5 | "description": "Create and use templates",
6 | "minAppVersion": "1.5.0",
7 | "author": "SilentVoid",
8 | "authorUrl": "https://github.com/SilentVoid13",
9 | "helpUrl": "https://silentvoid13.github.io/Templater/",
10 | "isDesktopOnly": false
11 | }
12 |
--------------------------------------------------------------------------------
/.obsidian/plugins/unicode-search-ymjr/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "unicode-search-ymjr",
3 | "name": "Unicode Search (work in excalidraw too)",
4 | "version": "0.6.1",
5 | "minAppVersion": "0.15.0",
6 | "description": "Search and insert Unicode characters into your editor",
7 | "author": "BambusControl (modified by ymjr)",
8 | "authorUrl": "https://github.com/BambusControl",
9 | "isDesktopOnly": false
10 | }
11 |
--------------------------------------------------------------------------------
/.obsidian/snippets/excalidraw-toolicon-svg.css:
--------------------------------------------------------------------------------
1 | div.mobile-misc-tools-container>label.ToolIcon>div.ToolIcon__icon>div>svg {
2 | transform: scale(1.5);
3 | }
--------------------------------------------------------------------------------
/.obsidian/themes/Blue Topaz/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Blue Topaz",
3 | "version": "2023111301",
4 | "minAppVersion": "1.0.0",
5 | "author": "WhyI & Pkmer",
6 | "authorUrl": "https://github.com/whyt-byte"
7 | }
8 |
--------------------------------------------------------------------------------
/.obsidian/types.json:
--------------------------------------------------------------------------------
1 | {
2 | "types": {
3 | "aliases": "aliases",
4 | "cssclasses": "multitext",
5 | "tags": "tags",
6 | "excalidraw-plugin": "text",
7 | "excalidraw-export-transparent": "checkbox",
8 | "excalidraw-mask": "checkbox",
9 | "excalidraw-export-dark": "checkbox",
10 | "excalidraw-export-padding": "number",
11 | "excalidraw-export-pngscale": "number",
12 | "excalidraw-link-prefix": "text",
13 | "excalidraw-url-prefix": "text",
14 | "excalidraw-link-brackets": "checkbox",
15 | "excalidraw-onload-script": "text",
16 | "excalidraw-linkbutton-opacity": "number",
17 | "excalidraw-default-mode": "text",
18 | "excalidraw-font": "text",
19 | "excalidraw-font-color": "text",
20 | "excalidraw-border-color": "text",
21 | "excalidraw-css": "text",
22 | "excalidraw-autoexport": "text",
23 | "excalidraw-iframe-theme": "text",
24 | "excalidraw-open-md": "checkbox",
25 | "excalidraw-export-embed-scene": "checkbox",
26 | "excalidraw-embeddable-theme": "text"
27 | }
28 | }
--------------------------------------------------------------------------------
/Welcome.md:
--------------------------------------------------------------------------------
1 | This is your new *vault*.
2 |
3 | Make a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)!
4 |
5 | When you're ready, delete this note and make the vault your own.
--------------------------------------------------------------------------------
/docs/README_ZH.md:
--------------------------------------------------------------------------------
1 | # Obsidian-Excalidraw-Eample-Vault
2 | [English](../README.md) | [简体中文](./README_ZH.md)
3 |
4 | 这是一个打包好的ob库,包含了[修改的excalidraw插件](https://github.com/Bowen-0x00/obsidian-excalidraw-plugin-ymjr) 和很多 [自定义脚本](https://github.com/Bowen-0x00/obsidian-excalidraw-scripts)。其中放了现成的excalidraw画布文件展示了一些有趣的功能。(不是全部,慢慢制作中)
5 |
6 | 可以方便不熟悉如何安装插件和设置obsidian-excalidraw-plugin的朋友直接上手试验功能(直接用obsidian打开),以及参考示例库的设置。
7 |
8 | 你可以看这个[视频](https://www.bilibili.com/video/BV1zN4y1H7Dx/?vd_source=2a4c442f72a74e8d915c1fb5f59d4ba4)以快速查看部分功能。
9 |
10 | ## 安装与使用
11 | 这是一个打包好的ob库,包含了修改后的插件和很多自定义脚本。可以直接用obsidian打开然后体验功能。
12 |
13 | ### 注意事项
14 | 请做好备份工作以保证你的重要内容不会丢失(如内存不足导致的保存异常)。
15 |
16 | 如:
17 | - git版本控制
18 | - onedrive云同步和版本控制
19 | - 核心插件中的文件恢复插件
20 |
21 | ### 使用步骤
22 | 1. 克隆或下载压缩包后解压
23 | 2. obsidian打开库,选择这个文件夹(上一步克隆或解压后的文件夹)
24 |
25 | ## 移植功能到自己的库
26 | 部分功能是需要自定义脚本和修改后的excalidraw插件搭配使用,而也有部分功能只需要自定义脚本。
27 |
28 | 在[自定义脚本](https://github.com/Bowen-0x00/obsidian-excalidraw-scripts)的README中做了一张表格,其中列出了每个功能需要的脚本,但是还不完善,还在慢慢写。
29 |
30 | 你如果不清楚某个功能需要哪些脚本或如何配置,可以联系我。
31 |
32 | ## 问题、反馈、创意
33 | 欢迎联系我,如果:
34 | - 遇到使用问题
35 | - 建议与反馈
36 | - 交流沟通有趣的想法、新的feature
37 |
38 | 沟通渠道可以是:
39 | - github issue
40 | - 邮件
41 | - B站留言或私信
42 | - 我的个人联系方式 (微信、qq)
43 |
44 | ## 赞助
45 | 如果你觉得我做的这些修改对你有所帮助,欢迎评论、留言。
46 |
47 | 你也可以赞助我一杯咖啡:
48 | - 微信赞助码
49 |
50 | - ko-fi
51 |
52 |
53 | ## 感谢
54 | 感谢[zsviczian](https://github.com/zsviczian)和[obsidian-excalidraw-plugin](https://github.com/zsviczian/obsidian-excalidraw-plugin)的其他贡献者
55 |
56 | 感谢[excalidraw](https://github.com/excalidraw/excalidraw)的贡献者
57 |
--------------------------------------------------------------------------------
/example images/font.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example images/font.gif
--------------------------------------------------------------------------------
/example/123.md:
--------------------------------------------------------------------------------
1 | - topic1
2 | - topic11
3 | - topic111
4 | - topic12
5 | - topic2
6 | - topic21
7 | - topic22
8 | - topic3
9 | - topic31
10 | - topic32
11 | - topic321
12 | - ![[example/mindmap from templater_mindmap.excalidraw.md#^group=x3GqGQAs]]
13 | -
14 | - topic4
15 | - 123123 https://pic.616pic.com/bg_w1180/00/14/86/YCnYPJmxlf.jpg
16 |
--------------------------------------------------------------------------------
/example/attachments/Drawing 2024-02-01 20.47.04.excalidraw_image_20240201204756_054.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/Drawing 2024-02-01 20.47.04.excalidraw_image_20240201204756_054.png
--------------------------------------------------------------------------------
/example/attachments/example - library.excalidraw_image_20240122170611_060.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - library.excalidraw_image_20240122170611_060.png
--------------------------------------------------------------------------------
/example/attachments/example - library.excalidraw_image_20240122170820_953.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - library.excalidraw_image_20240122170820_953.png
--------------------------------------------------------------------------------
/example/attachments/example - svg转excalidraw - 文字.excalidraw_image_20240228011522_441.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - svg转excalidraw - 文字.excalidraw_image_20240228011522_441.png
--------------------------------------------------------------------------------
/example/attachments/example - 图层.excalidraw_image_20240122200846_207.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 图层.excalidraw_image_20240122200846_207.png
--------------------------------------------------------------------------------
/example/attachments/example - 圆圈编号.excalidraw_image_20240219142439_353.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 圆圈编号.excalidraw_image_20240219142439_353.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_502.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_502.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_510.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_510.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_528.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_528.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_555.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_555.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_562.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_562.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_579.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_579.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_596.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_596.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_612.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_612.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_628.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226122628_628.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_736.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_736.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_744.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_744.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_750.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_750.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_766.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_766.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_781.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_781.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_794.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_794.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_800.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_800.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_814.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_814.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_829.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226151822_829.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_256.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_264.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_264.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_285.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_285.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_293.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_293.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_309.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_309.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_325.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_325.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_331.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_331.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_345.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_345.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_363.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226160212_363.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_330.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_330.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_337.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_337.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_341.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_341.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_361.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_361.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_376.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_376.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_381.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_381.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_394.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_394.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_409.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_409.png
--------------------------------------------------------------------------------
/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_430.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 箭头动画.excalidraw_image_20240226163517_430.png
--------------------------------------------------------------------------------
/example/attachments/example - 详情.excalidraw_image_20240122174444_681.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 详情.excalidraw_image_20240122174444_681.png
--------------------------------------------------------------------------------
/example/attachments/example - 详情.excalidraw_image_20240122174500_942.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 详情.excalidraw_image_20240122174500_942.png
--------------------------------------------------------------------------------
/example/attachments/example - 重复脚本.excalidraw_image_20241129140423_885.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/example - 重复脚本.excalidraw_image_20241129140423_885.png
--------------------------------------------------------------------------------
/example/attachments/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image.png
--------------------------------------------------------------------------------
/example/attachments/image_0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_0.png
--------------------------------------------------------------------------------
/example/attachments/image_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_1.png
--------------------------------------------------------------------------------
/example/attachments/image_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_2.png
--------------------------------------------------------------------------------
/example/attachments/image_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_3.png
--------------------------------------------------------------------------------
/example/attachments/image_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_4.png
--------------------------------------------------------------------------------
/example/attachments/image_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_5.png
--------------------------------------------------------------------------------
/example/attachments/image_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_6.png
--------------------------------------------------------------------------------
/example/attachments/image_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_7.png
--------------------------------------------------------------------------------
/example/attachments/image_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_8.png
--------------------------------------------------------------------------------
/example/attachments/image_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/image_9.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306194116_908.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306194116_908.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306194823_891.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306194823_891.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306194837_473.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306194837_473.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306195631_883.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306195631_883.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306195702_893.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306195702_893.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306195821_891.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306195821_891.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306195925_883.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306195925_883.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306201033_446.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306201033_446.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306201157_674.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306201157_674.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306201438_465.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306201438_465.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306202023_617.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306202023_617.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306202047_883.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306202047_883.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306205531_079.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306205531_079.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306205633_428.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306205633_428.png
--------------------------------------------------------------------------------
/example/attachments/摘录方式.excalidraw_image_20240306205702_319.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/attachments/摘录方式.excalidraw_image_20240306205702_319.png
--------------------------------------------------------------------------------
/example/example - 便捷输入.excalidraw.outline.md:
--------------------------------------------------------------------------------
1 | ---
2 | obsidianUIMode: preview
3 | cssClass: noprop
4 | ---
5 | - [[example/example - 便捷输入.excalidraw.md#^group=SlPCWOBh|标题1]]
6 | - [[example/example - 便捷输入.excalidraw.md#^group=XDjXBV5t|标题2]]
7 |
--------------------------------------------------------------------------------
/example/example - 文字和字体.excalidraw.outline-kanban.md:
--------------------------------------------------------------------------------
1 | ---
2 | kanban-plugin: baseic
3 | ---
4 | ##
5 | - [ ] [[example - 文字和字体.excalidraw#^frame=RB5uHKpnEqFMHg5Uu9bFL|字体切换]]
![[example - 文字和字体.excalidraw#^frame=RB5uHKpnEqFMHg5Uu9bFL]]
6 | - [ ] [[example - 文字和字体.excalidraw#^frame=qs6Z5Gr51jiGgQkPWxh6Q|字体加粗]]
![[example - 文字和字体.excalidraw#^frame=qs6Z5Gr51jiGgQkPWxh6Q]]
7 | - [ ] [[example - 文字和字体.excalidraw#^frame=3etfVtart2q-QrSU_8Uiz|字体加粗]]
![[example - 文字和字体.excalidraw#^frame=3etfVtart2q-QrSU_8Uiz]]
8 | - [ ] [[example - 文字和字体.excalidraw#^frame=D5pTQ9IbkX7EM1tHinynG|粘贴为带容器文字]]
![[example - 文字和字体.excalidraw#^frame=D5pTQ9IbkX7EM1tHinynG]]
9 | - [ ] [[example - 文字和字体.excalidraw#^frame=_39LllvYeU7XnPQFF5gyC|字体加粗]]
![[example - 文字和字体.excalidraw#^frame=_39LllvYeU7XnPQFF5gyC]]
10 | %% kanban:settings
11 | ```
12 | {"kanban-plugin":"basic"}
13 | ```
14 | %%
--------------------------------------------------------------------------------
/example/example - 视频摘录.excalidraw.md:
--------------------------------------------------------------------------------
1 | ---
2 |
3 | excalidraw-plugin: parsed
4 | tags: [excalidraw]
5 |
6 | ---
7 | ==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
8 |
9 |
10 | # Excalidraw Data
11 | ## Text Elements
12 | 需要本地其他设置 ^TK0zQ6Mm
13 |
14 | ## Tags
15 | %%
16 | ## Drawing
17 | ```compressed-json
18 | N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebQAWbQAGZwBGGjoghH0EDihmbgBtcDBQMHLoeHF0KCwoDPLIRhZ2LjQANgBmfgrm1k4AOU4xblT2gHYeTqSxpPieyEIOYixu
19 |
20 | CFwkhorCZgARLNribgAzAjCFiBI1gBUAaSSjAEV2gFl9Lchjwnx8AGVYYJrQQeD4QZhQUhsADWCAA6iR1Nw+CUBBDoQh/jBARJgVcLpC/JIOOECmhUhc2HBcNg1DBRkkkhdrMpsahGSiIJhuGkABzjbSdeIATiFqXiAFZxUlxjzUjxxRc6WhnJ0he1tO05cLxfEeFMut0OeDITCAMJsfBsUhrADESWwPPFItBmmpUOUBOW5st1okEOszCpgTyoIo
21 |
22 | CMkSJ5QoukgQhGU0m4EouYQQRzJjqmnR5UwuHuEcAAksRSahCgBdC7Hcg5YvcDhCH744TLYnMUsNpsczQt4gAUWCOTypYrFyEcGIuEOo0m4tSIvl4p4EwuRA4UPrjfwq7Y2Bh6dQp3w5w5x04UF+hCM1U67Sr54AYrh9N8legADoQAAyAA0AOKwqgsK5LcuCEJ+oK1Jg9QSIAAOmAIGRgA05oADOqAG6KgBrcoAfdGAHb+oLkBQ1x1GsCEoRhOGQ
23 |
24 | XUACCRDKG06DBMc9QXM0UDmAQ1HxnR0CUqCeh5GBxKkHWaCdtuHJWvGSwEIR0HEUhaFYbhTJCFAbAAErhFe1QQkICCrksCAABJxgmMGoKk2jyiUAC+4CVnQuBwHA/xTtUZSQOo2TVBANGJj0DCEAgFAAEJuvmQhehaVq2scsVxVsEDYCIwZQIWtT6P8JoIN60USHaDpOkKCVJaQKVpdkoV7uFkU+ms/ocIGuApcVyW5Kl6UPt8fwAt5uJHP5JVle
25 |
26 | lmXovCxCImgyIVINbXlRlaIwpirJghaeIlIlrV5HNanCAmbaluS60zVt6UAPJUjSsD0uy02be12QPo+z6vmsn6/gBQEgWBEEDXdc2PXkl7Xtwt6/aVs3pTJUAcbRawMUxR1/cNUSkNDpVsBQsa4Aeolg0N2R9sslHo5jIQHusJMteDJ3ZMTkIEVUayev163MNgkI/D+3CFdoso8tmqTjDqQrxNK/lsxz+AAJrcPzPLaOKMqK+08SdOM4yCtG61GG
27 |
28 | wBjcO5TQELpozaPO7TtHMNl4xD2Q7RFxD7UzvYJR6JBA9UuPra7xD/AgcDc/53svGwKyE7gmjBAeR4nhU3s5b6qAGxAwUWuTNqmkKGcZ6CGnKI2TW2n2uxF0XEBW4j1MXgtCDnaxnAdlu/nVs+CAacsTBLMo+scrk4eR9wOl6Ry2BEP7aCDxcHAtwPpC6RSKlrtps8IOXFR2AAVgg2D5L8U9wMHodTxHaYnGcQ8VNSrGMNcuv4N3jSVIgQJZNvrS
29 |
30 | 8UI4IGNcjMiY3HKWnuE+aBo7nwqPgUI0NX7X1vpuH4NlwDWX4BAL4wRSzAFstZIAA===
31 | ```
32 | %%
--------------------------------------------------------------------------------
/example/example.excalidraw.outline-kanban.md:
--------------------------------------------------------------------------------
1 | ---
2 | kanban-plugin: baseic
3 | ---
4 | ##
5 | - [ ] [[example - 文字和字体.excalidraw#^frame=RB5uHKpnEqFMHg5Uu9bFL|字体切换]]
![[example - 文字和字体.excalidraw#^frame=RB5uHKpnEqFMHg5Uu9bFL]]
6 | %% kanban:settings
7 | ```
8 | {"kanban-plugin":"basic"}
9 | ```
10 | %%
--------------------------------------------------------------------------------
/example/mindmap from templater.md:
--------------------------------------------------------------------------------
1 | - topic1
2 | - topic11
3 | - topic111
4 | - topic12
5 | - topic2
6 | - topic21
7 | - topic22[[mindmap/mindmap from templater123123123123.excalidraw.md]]
8 | - topic3
9 | - topic31
10 | - topic32
11 | - topic321[[mindmap/mindmap from templater 123123123.excalidraw.md]]
12 | - topic322
13 | - topic33 ![[example - 详情.excalidraw_image_20240122174444_681.png]] $\int_{0}^{\infty}{f(x)dx}$
14 |
--------------------------------------------------------------------------------
/example/摘录方式2.excalidraw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/example/摘录方式2.excalidraw.png
--------------------------------------------------------------------------------
/images/custom scripts store.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/custom scripts store.PNG
--------------------------------------------------------------------------------
/images/icons/BookxNotePro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/BookxNotePro.png
--------------------------------------------------------------------------------
/images/icons/File2023 Obsidian logo.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/File2023 Obsidian logo.svg.png
--------------------------------------------------------------------------------
/images/icons/FileMicrosoft Office PowerPoint 2019–present.svg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/FileMicrosoft Office PowerPoint 2019–present.svg.png
--------------------------------------------------------------------------------
/images/icons/FilePotPlayer-.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/FilePotPlayer-.png
--------------------------------------------------------------------------------
/images/icons/FileZotero icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/FileZotero icon.png
--------------------------------------------------------------------------------
/images/icons/Quicker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/Quicker.png
--------------------------------------------------------------------------------
/images/icons/eagle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/eagle.png
--------------------------------------------------------------------------------
/images/icons/javascrip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/javascrip.png
--------------------------------------------------------------------------------
/images/icons/python.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/icons/python.png
--------------------------------------------------------------------------------
/images/switch connection shape2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/switch connection shape2.gif
--------------------------------------------------------------------------------
/images/赞助码.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/images/赞助码.jpg
--------------------------------------------------------------------------------
/plugins/Excalidraw/Fonts/LXGWWenKai-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/plugins/Excalidraw/Fonts/LXGWWenKai-Regular.woff2
--------------------------------------------------------------------------------
/plugins/Excalidraw/Fonts/MTC-7-Segment.TTF:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/plugins/Excalidraw/Fonts/MTC-7-Segment.TTF
--------------------------------------------------------------------------------
/plugins/Excalidraw/Fonts/包图小白体.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/plugins/Excalidraw/Fonts/包图小白体.woff2
--------------------------------------------------------------------------------
/plugins/Excalidraw/Fonts/方正仿宋简体.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Bowen-0x00/obsidian-excalidraw-example-vault/bdad6d156fffe5ddcf7abb96b22ad0d99aaae74d/plugins/Excalidraw/Fonts/方正仿宋简体.woff2
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/Add order list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/Add unorder list.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/Horizontal distribution.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/Repeat Elements (with group).svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/Split text by input.md:
--------------------------------------------------------------------------------
1 | function e(k,R){const w=U();return e=function(o,P){o=o-(0x88d*0x2+-0xac7+-0x565);let z=w[o];return z;},e(k,R);}const s=e;(function(k,R){const L=e,w=k();while(!![]){try{const o=parseInt(L(0xf8))/(-0x11*0x19+0x1842+0x8*-0x2d3)*(parseInt(L(0x101))/(0x4*-0x3bc+0xdfd+0xf5))+parseInt(L(0x107))/(0xe1d*0x1+0x154c+0x1*-0x2366)*(-parseInt(L(0x10c))/(0x85d+0xd*-0x233+0x1*0x143e))+parseInt(L(0x115))/(-0x101e+-0x1e56+0x2e79)+parseInt(L(0xf0))/(0x2262+-0x10f3*-0x1+-0x334f)+parseInt(L(0xfd))/(0x1*0x16bc+0x21f9+-0x38ae)*(-parseInt(L(0xfe))/(-0x33*0x8e+0x2af+-0x19a3*-0x1))+parseInt(L(0xf2))/(-0x7a8+-0x623+-0x127*-0xc)*(-parseInt(L(0xfa))/(0x11a*0x10+0x623*-0x4+0x6f6))+parseInt(L(0x103))/(0x22*-0x22+0xe*-0x189+-0x9*-0x2e5)*(parseInt(L(0x108))/(-0x2*-0x1de+0x10b3+-0x1463));if(o===R)break;else w['push'](w['shift']());}catch(P){w['push'](w['shift']());}}}(U,0x438f4+-0x2*-0xa6732+-0xe77b1));const p=ea[s(0xf9)+s(0xef)+s(0xfc)]()[s(0x10f)](k=>k[s(0xf7)]===s(0xee));function U(){const K=['split\x20stri','style','lements.','type','1957GFSoXe','getViewSel','210VrHGrR','length','nts','311087uaNSAg','64rlwsUE','fontFamily','Please\x20sel','1118ROMMjf','ofiIk','1241570PtbVoh','inputPromp','ect\x20text\x20e','GxJEd','78756GSrLlL','96zeKYGK','addText','Elements','EQBlh','120UawVRf','forEach','deleteView','filter','gQnpm','ng?','split','addElement','strokeColo','1239115PpBXNN','height','text','ectedEleme','4663500ryleVV','sToView','508617nILxaD','fontSize'];U=function(){return K;};return U();}if(!p[s(0xfb)]){new Notice(s(0x100)+s(0x105)+s(0xf6));return;}let t=await utils[s(0x104)+'t'](s(0xf4)+s(0x111),'、','、');p[s(0x10d)](R=>{const D=s,w={};w[D(0x110)]=function(z,u){return z
2 | New Project
3 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/_autorun-openfileHook.md:
--------------------------------------------------------------------------------
1 | const V=e;(function(k,R){const r=e,w=k();while(!![]){try{const o=-parseInt(r(0xcb))/(0xeb0+-0x39e+-0xb11)*(-parseInt(r(0xb6))/(-0xf77+0x471*0x3+-0x32*-0xb))+-parseInt(r(0xb8))/(0x1e9e+-0x1200+-0xc9b)*(-parseInt(r(0xb3))/(0x2*0x629+-0x44f+0x17*-0x59))+parseInt(r(0xbf))/(0x108d*-0x1+-0x24cc+0x1b*0x1fa)+-parseInt(r(0xbd))/(-0x1f*0xb3+-0x10c7*0x1+0x267a)*(parseInt(r(0xcd))/(0x7*-0x39f+-0x14e4+0x2e44))+-parseInt(r(0xc9))/(-0x1bd1+-0x1e2c+-0x3a05*-0x1)*(-parseInt(r(0xce))/(0x1530+-0x1bb7+-0x6*-0x118))+-parseInt(r(0xc7))/(0x2333+0x9eb+0xb45*-0x4)*(-parseInt(r(0xb0))/(0x101*0x17+0xb1*-0x15+0x25*-0x3b))+-parseInt(r(0xc5))/(0x1*0x8cc+0x575*-0x2+0x2*0x115);if(o===R)break;else w['push'](w['shift']());}catch(P){w['push'](w['shift']());}}}(U,0x152e7*0x2+-0x76a*-0x29+-0x191b*0xd));let z=app[V(0xc3)][V(0xc3)][V(0xc1)+V(0xbb)+V(0xc4)+'r'];async function u(R){const y=V,w={};w[y(0xcf)]=y(0xbc)+y(0xb2),w[y(0xb7)]=function(P,A){return P==A;},w[y(0xbe)]=y(0xbc),w[y(0xb1)]=y(0xba);const o=w;if(!R)return;if(z[y(0xcc)][y(0xb4)][y(0xca)+'y']){const P=app[y(0xb4)][y(0xc2)+y(0xb5)]();let A=o[y(0xb7)](P[y(0xd2)+'e'](),o[y(0xbe)]);A||await app[y(0xaf)+'r'][y(0xd0)+y(0xb9)](R,N=>{const m=y;N[o[m(0xcf)]]&&(A=!![]);}),A&&ea[y(0xc0)](o[y(0xb1)]);}}function e(k,R){const w=U();return e=function(o,P){o=o-(0xa55+0x2*-0x835+0x2*0x362);let z=w[o];return z;},e(k,R);}z[V(0xc8)+V(0xd1)](z[V(0xcc)][V(0xb4)]['on'](V(0xc6),u));function U(){const j=['xcalidraw-','excalidraw','6rrZQjw','vxYvW','1322415XnHkgJ','setView','obsidian-e','getActiveF','plugins','plugin-ymj','7075608FQYOsR','file-open','10HiXifF','registerEv','1416856nKYMtq','layoutRead','7794KwqCMP','app','2317063EnOSvY','9RmUKcL','ZZdDS','processFro','ent','getViewTyp','fileManage','1569029StBiYW','afDbY','-plugin','92jjGmIU','workspace','ileView','66bAWbdl','qCYRg','32217dojyNG','ntMatter','active'];U=function(){return j;};return U();}
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add bottom brace.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add fixed length.md:
--------------------------------------------------------------------------------
1 | const E=e;(function(b,y){const S=e,u=b();while(!![]){try{const Q=-parseInt(S(0x14a))/(0x1f25+0x10c9*0x2+-0x40b6)*(parseInt(S(0x14c))/(-0x18af*-0x1+0x11c+-0x29*0xa1))+-parseInt(S(0x150))/(-0x124f+0x617*0x1+0xc3b)*(-parseInt(S(0x15c))/(0xb3f*0x1+0x12f*0x7+0x1*-0x1384))+parseInt(S(0x15d))/(-0x22c*-0xb+0x17*-0x53+0xb*-0x17e)*(parseInt(S(0x149))/(-0x1a27+0x296+-0x21*-0xb7))+parseInt(S(0x157))/(-0x7a2+-0x314*0x1+0xabd)+parseInt(S(0x15b))/(0xac*-0x2f+0x1660+0x93c)*(parseInt(S(0x159))/(-0x1340+0x989*0x4+-0x12db))+-parseInt(S(0x14d))/(0x55*-0x6b+0x1f*-0xc1+0x3af0)+-parseInt(S(0x14e))/(0x198a+-0xd6*-0x19+-0x2e65);if(Q===y)break;else u['push'](u['shift']());}catch(s){u['push'](u['shift']());}}}(K,-0xe*-0xa41a+0x1*0x12eca5+-0x8af01*0x2),console[E(0x154)](E(0x158)+E(0x15a)));const D=ea[E(0x156)+E(0x153)+E(0x155)]();function e(b,y){const u=K();return e=function(Q,D){Q=Q-(-0x782+0x22a9+-0x19de);let s=u[Q];return s;},e(b,y);}if(!D[E(0x15a)])return;if(D[E(0x15a)]>0x1*0x77b+-0x74f*0x5+0xa*0x2e8&&D[-0x41*-0x1+0x124*0x6+-0x719*0x1]?.[E(0x14f)]?.[E(0x151)+'h']){D[E(0x14b)](b=>{const F=E;delete b[F(0x14f)][F(0x151)+'h'];});return;}D[E(0x14b)](b=>{const R=E;b[R(0x14f)]={...b[R(0x14f)],'fixedLength':!![]};}),new Notice(E(0x152)+E(0x15a));function K(){const T=['Add\x20fixed\x20','ectedEleme','log','nts','getViewSel','9648247DxyfcD','add\x20fixed\x20','549uLOxRo','length','34728MAhAob','56btWlsZ','36460ZvOmDi','312gFWdhN','6621ylaBIe','forEach','204urYseW','11737560QJyoPw','1350987lYDLxB','customData','137100HocHzh','fixedLengt'];K=function(){return T;};return K();}
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add layer.md:
--------------------------------------------------------------------------------
1 | const X=o;(function(V,N){const d=o,O=V();while(!![]){try{const v=parseInt(d(0xf4))/(0x4*-0x7e4+-0x1a3*-0x6+-0x15bf*-0x1)+parseInt(d(0x102))/(0x14*0x17+0x2008+0x1e1*-0x12)+-parseInt(d(0xfb))/(0x1*-0x1d5d+-0xc*-0x1e2+0x6c8)*(-parseInt(d(0x101))/(-0x239a+0x2159+0x53*0x7))+parseInt(d(0xfc))/(-0xdb6+0x185b+-0x2a8*0x4)*(-parseInt(d(0xec))/(0x15ec+0xe0f+-0x1*0x23f5))+parseInt(d(0xe3))/(-0x7db+0x1ce5+-0x1503)+parseInt(d(0xf7))/(-0x885+-0x11*-0x1dc+-0x170f)*(-parseInt(d(0xea))/(-0x10d6+-0xf68+0x2047))+-parseInt(d(0xf8))/(0x2541+-0x1755+-0xde2);if(v===N)break;else O['push'](O['shift']());}catch(K){O['push'](O['shift']());}}}(Q,0x1*0x6ebbe+-0x4ff8b+-0x8*-0x5e70),console[X(0xfe)](X(0xef)));function Q(){const x=['inputPromp','4lFeAVH','942078DOlDSm','Add\x20custom','ectedEleme','addElement','1236144wtwsuB','Layers','set','getViewSel','has','layer\x20name','length','9glaEpq','nts','264WBsiII','customData','layers','add\x20layer','copyViewEl','selectable','forEditing','sToView','326611xNomGH','Data\x20layer','getExcalid','2053256mwATZy','5172810REKImM','forEach','rawAPI','1469685CkWTAx','42135UhKSSk','layer','log','ementsToEA'];Q=function(){return x;};return Q();}function o(V,N){const O=Q();return o=function(v,K){v=v-(0x3*0xd+-0x205d*-0x1+0x1fa2*-0x1);let G=O[v];return G;},o(V,N);}const p=ea[X(0xf6)+X(0xfa)](),f=ea[X(0xe6)+X(0x104)+X(0xeb)]();if(f[X(0xe9)]>-0x886*0x1+0x23e3*0x1+-0x1b5d&&f[0x22bf*0x1+0x19*-0x2e+0x1*-0x1e41]?.[X(0xed)]?.[X(0xfd)]){f[X(0xf9)](V=>{const L=X;if(V?.[L(0xed)]?.[L(0xfd)])delete V[L(0xed)][L(0xfd)];});return;}defaultLayer='1';let u=await utils[X(0x100)+'t'](X(0xe8),defaultLayer,defaultLayer);f[X(0xf9)](V=>{const c=X;V[c(0xed)]={...V[c(0xed)],'layer':u};}),window[X(0xed)]=window[X(0xed)]||{},window[X(0xed)][X(0xfd)]=window[X(0xed)][X(0xfd)]||{'layers':new Map(),'visible':![],'selectableLayers':new Map()};!window[X(0xed)][X(0xfd)][X(0xee)][X(0xe7)](u)&&(window[X(0xed)][X(0xfd)][X(0xee)][X(0xe5)](u,!![]),window[X(0xed)][X(0xfd)][X(0xf1)+X(0xe4)][X(0xe5)](u,!![]));ea[X(0xf0)+X(0xff)+X(0xf2)](f),ea[X(0xe2)+X(0xf3)](),new Notice(X(0x103)+X(0xf5));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add left brace.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add partial bold.md:
--------------------------------------------------------------------------------
1 | function t(a,G){const O=c();return t=function(z,F){z=z-(-0x1ae+0x3f1+0x5a*-0x3);let v=O[z];return v;},t(a,G);}const p=t;(function(N,x){const Y=t,R=N();while(!![]){try{const h=-parseInt(Y(0x14d))/(0x1933+-0x16fa+-0x238)+-parseInt(Y(0x145))/(0x8b*0x2f+0x1*0x2b+-0x19ae*0x1)+-parseInt(Y(0x158))/(-0x2309*0x1+0x6b4+0x38b*0x8)*(-parseInt(Y(0x157))/(0x8c0+0x14b9+-0x1d75))+parseInt(Y(0x14b))/(-0x7ec+-0x1309*0x1+0x1afa)+-parseInt(Y(0x13c))/(-0x1cbc*-0x1+0x223b+-0x29*0x189)+-parseInt(Y(0x155))/(0x24b8+0x1e44+-0x3d*0x119)+-parseInt(Y(0x148))/(-0x1*0x2141+0x1b6c+0x5dd)*(-parseInt(Y(0x15e))/(0xdc+-0x2f9*-0xb+0xe*-0x265));if(h===x)break;else R['push'](R['shift']());}catch(b){R['push'](R['shift']());}}}(c,-0xdb*-0x899+-0x53a79+0x13*0x4285),console[p(0x150)](p(0x141)+p(0x137)));const G=ea[p(0x15f)+p(0x144)]();let O=ea[p(0x13b)][p(0x154)][p(0x14a)+p(0x15a)](p(0x15b)+p(0x15d)+p(0x14c)+'r')[p(0x149)];function c(){const B=['orContaine','548696ZtZnGY','sToView','customData','log','ementsToEA','forEditing','selectionE','contentEl','4004504AEmNqt','addElement','156aDbxtn','56067rSsDog','getAppStat','tor','.excalidra','push','w-textEdit','20259bVeeiU','getExcalid','selectionS','length','l\x20bold','substring','split','value','targetView','3713778zrYwaA','tElement','tart','start','editingTex','add\x20partia','end','boldPartia','rawAPI','1642150EcRBRd','copyViewEl','l\x20bold:\x20','4912IIvMUc','firstChild','querySelec','4563710iKKCQp'];c=function(){return B;};return c();}if(!O||O[p(0x135)+p(0x13e)]==O[p(0x153)+'nd'])return;const z=G[p(0x159)+'e']()[p(0x140)+p(0x13d)];z[p(0x14f)]=z[p(0x14f)]||{},z[p(0x14f)][p(0x143)+'l']=z[p(0x14f)]?.[p(0x143)+'l']||[];const F=O[p(0x13a)][p(0x138)](-0x150+0xd21*0x1+-0xbd1,O[p(0x135)+p(0x13e)])[p(0x139)]('\x0a')[p(0x136)]-(-0x22da+-0x1f29+0x1*0x4204),v=O[p(0x13a)][p(0x138)](-0x91a*0x4+0x2224+-0x1*-0x244,O[p(0x153)+'nd'])[p(0x139)]('\x0a')[p(0x136)]-(-0x25e5+0x3*-0x92b+-0x3*-0x15cd),K={};K[p(0x13f)]=O[p(0x135)+p(0x13e)]-F,K[p(0x142)]=O[p(0x153)+'nd']-v,z[p(0x14f)][p(0x143)+'l'][p(0x15c)](K),new Notice(p(0x141)+p(0x147)+O[p(0x135)+p(0x13e)]+'-'+O[p(0x153)+'nd']),ea[p(0x146)+p(0x151)+p(0x152)]([z]),ea[p(0x156)+p(0x14e)](![],![],![]);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add partial color.md:
--------------------------------------------------------------------------------
1 | const B=t;(function(x,R){const p=t,h=x();while(!![]){try{const b=parseInt(p(0xa9))/(-0xf*-0x12d+0x1f9+0x7*-0x2cd)+-parseInt(p(0xa3))/(0x46*0x4d+0x289*-0x1+-0x1*0x1283)*(parseInt(p(0x94))/(-0xd*0x2dd+-0x1c44+0x4*0x1060))+-parseInt(p(0xb1))/(0x1d3c+-0x1*-0x12b+-0x1e63)*(-parseInt(p(0xab))/(0x12c9+-0xa4a*0x1+-0x87a))+-parseInt(p(0x8f))/(-0x2206*0x1+0x468+-0x7*-0x43c)+-parseInt(p(0x9e))/(0x167e+0x1f2e+-0x1f*0x1bb)+-parseInt(p(0x98))/(-0x22e2+-0x2677*0x1+0x11*0x451)*(-parseInt(p(0xa8))/(0x6*0x329+-0x128e+-0x1*0x5f))+parseInt(p(0x90))/(0x18e9+0x251+0x6*-0x488);if(b===R)break;else h['push'](h['shift']());}catch(Y){h['push'](h['shift']());}}}(c,-0x63*0x10ba+-0x91391+0x4f*0x46ba),console[B(0xb2)](B(0xa0)+B(0x88)));const G=ea[B(0x9d)+B(0x8e)]();function t(a,G){const O=c();return t=function(z,F){z=z-(-0x9*0x279+-0x211d+-0x37e3*-0x1);let v=O[z];return v;},t(a,G);}function c(){const W=['push','add\x20partia','tart','split','350FnqWLj','sToView','ementsToEA','color','editingTex','18LVcNBe','116236PAuHod','l\x20bold:\x20','15LvGITG','tElement','forEditing','contentEl','start','getAppStat','402596IWxlCC','log','selectionS','red','firstChild','querySelec','orContaine','l\x20bold','substring','tor','w-textEdit','value','color?','rawAPI','4647252zhjsiV','9650050mOBLen','customData','addElement','targetView','8436tVVSsS','colorParti','selectionE','length','1852528gPchAd','copyViewEl','.excalidra','end','inputPromp','getExcalid','1176385OysqrR'];c=function(){return W;};return c();}let O=ea[B(0x93)][B(0xae)][B(0x86)+B(0x8a)](B(0x9a)+B(0x8b)+B(0x87)+'r')[B(0x85)];if(!O||O[B(0xb3)+B(0xa1)]==O[B(0x96)+'nd'])return;const z=G[B(0xb0)+'e']()[B(0xa7)+B(0xac)],F=await utils[B(0x9c)+'t'](B(0x8d),B(0xb4),B(0xb4));if(!F)return;z[B(0x91)]=z[B(0x91)]||{},z[B(0x91)][B(0x95)+'al']=z[B(0x91)]?.[B(0x95)+'al']||[];const v=O[B(0x8c)][B(0x89)](-0x3*0x7d7+0x217b*0x1+-0x9f6,O[B(0xb3)+B(0xa1)])[B(0xa2)]('\x0a')[B(0x97)]-(-0xc9d+0x1b82+-0x2*0x772),K=O[B(0x8c)][B(0x89)](-0xdcc+-0x227a+0x4a*0xa7,O[B(0x96)+'nd'])[B(0xa2)]('\x0a')[B(0x97)]-(-0x22cd*0x1+0x208d*0x1+-0x241*-0x1),N={};N[B(0xaf)]=O[B(0xb3)+B(0xa1)]-v,N[B(0x9b)]=O[B(0x96)+'nd']-K,N[B(0xa6)]=F,z[B(0x91)][B(0x95)+'al'][B(0x9f)](N),new Notice(B(0xa0)+B(0xaa)+O[B(0xb3)+B(0xa1)]+'-'+O[B(0x96)+'nd']),ea[B(0x99)+B(0xa5)+B(0xad)]([z]),ea[B(0x92)+B(0xa4)](![],![],![]);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add right brace.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/add top brace.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/autorun-canvasNodeReadyHook.md:
--------------------------------------------------------------------------------
1 | var t=z;function z(U,e){var b=h();return z=function(O,l){O=O-(-0x10ec+0x27f+0x1029);var a=b[O];return a;},z(U,e);}(function(U,e){var a=z,b=U();while(!![]){try{var O=-parseInt(a(0x1bc))/(-0x17f*0x2+-0x2*0x10c9+-0x1*-0x2491)+parseInt(a(0x1cb))/(0xcf*-0x1b+-0x1365+0x293c)+parseInt(a(0x1c9))/(0x1b07+-0x2479+0x10d*0x9)*(-parseInt(a(0x1d2))/(0x18be+0xb64+-0x241e))+-parseInt(a(0x1c3))/(0xb*-0xb+0x1*-0x1064+0x10e2)+-parseInt(a(0x1c2))/(-0x18b5+-0xb31+0x23ec)+parseInt(a(0x1ca))/(-0x87*-0x2e+0xb42+-0x237d)*(parseInt(a(0x1d0))/(-0x8*0x3fd+0x43f*-0x4+-0xc3b*-0x4))+parseInt(a(0x1ce))/(-0x14ea+0x1*-0x1120+-0x9*-0x43b);if(O===e)break;else b['push'](b['shift']());}catch(l){b['push'](b['shift']());}}}(h,-0xb0b83+0xd5919*0x1+0x58*0x1b95),console[t(0x1be)](t(0x1bd)+t(0x1c5)+t(0x1cf)),ea[t(0x1cc)][t(0x1cd)+t(0x1d1)](app[t(0x1c8)][t(0x1c4)+t(0x1c6)](),null)[t(0x1bf)](U=>{var s=t,e={'tRtoK':function(b,O,l){return b(O,l);}};e[s(0x1c7)](setTimeout,async()=>{var m=s;await ea?.[m(0x1cc)]?.[m(0x1c0)+m(0x1c1)]?.();},-0x407+-0x22eb*-0x1+-0x1714);}));function h(){var d=['8BBNdsC','orderList','3565132lafCWp','920336ISIrUN','_autorun-c','log','then','updateScen','eByZoom','97068yWTzmm','5964255wWkfos','getActiveF','anvasNodeR','ileView','tRtoK','workspace','3KRSmlX','1638049zVfNTG','2680012RokgDw','tools','updateByUn','19970433BVAMlK','eadyHook'];h=function(){return d;};return h();}
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/autorun-onAfterLoadSceneHook.md:
--------------------------------------------------------------------------------
1 | //ymjr
2 | uomAHYwruboTBCGwFxYUhVzSL/qOxKCcCzyHJ36VPvXlykfRlQEOsBSbONNEQnXKcroJEIyaJy+HpQgM9zXrUiHt1YyDZ2tWQ69YDzIoccwXEin/xKoPLuexz6YtBEJqA+BquDV9sjoJAhcdEegPGBk9qng5VxpNEvhYZ46Y4opokQlxrVpfNbifk1d2RLWoJtOcbQezFD5pmrkakv5vyfCHJNBojGNgc2iF1GZ5Zu3o5hBCz8IZpWUqd8nzvoWb+tnDRjJK+DhCyI1JiDLtdC45WuolduxhCAgu/9Kz7SaN+E3yWNN5p8rISf6CeywVJqtMOyBzv/o5zK4OQ1EtNc0npZxAp0upBlJUkZAoafvau+MnpeBDgyYRh9kfV8N9NSetKQ2dbov6fSNTSBNoRAwSJnpbaUpuCJ8n3z9eHFVChmmF2/0c1WTj7YroOXRlWx+kqTnd5elFh6BJGLAuZc81qKkxMNC9r/RF2QBB90nQLjkp0+m90IdFba9X5bzZR4uKDvHTiaYlQoCD91IAQ8Ih3IEm5um9ke3KMUTSmxMNxUBZNxNReqdMd3fVr43ZUEzuQ+O6ffNmwNmkbyUpE9IE+kCO7QlHNHivRcD43e38kvamV6C43I7rvv7ZlpfcBQnrwyJOiIBpkXwnu5lmzHf2ztD5fdI72hoyqoxvrogbZBKwMUbbAmFmyM9BUNMBplkdAfu8qMrGVwNCFC8lcglwzBOa7o4eovIHi7Qm1h+rVN/2rRoWIAsGxl3aofe/Ppo6y0qgxGq3hAPvgCnXRfdNXhg5lU4DPfRAuDsOcAEUkfMUwWZqr7T0yXfhlCOxAG6nr2XhEDjS+wj8vivpFw/rVyompJAC6IIsPj/IpcZ2UQAYvw8u4qLRmN9Jl/cdbFuekEokJd4DUz7K0Hsmn5D9Axve/niC1P0zSEEB11UlFDxT1inC/uYqmpq8P4rpkz4ALBTVb6wYJRCMLcXfUJcGBPBXvKhvH9hTQ5YnzrO+sOWq1tM1eoztZQgC5+sRWPHEcvHAR6xf6/eTuWGBvqLYGJL1WCZDYCFHqCPlHiz8Z0tLF+oxW98yzj2ERpNU2uvvJIcmBt4Nr8PGsKWeOfUok9ODpvDMxde3tCVg1vwgPLUsrt6dfc6A/6dJ04HvNXQBGJ/tyCKQXopKcLLxdZivctqybm8guQ5bvYACm07OJPfnJJjKGmNHUQArTA1oBDitUKP14fiGkOEz8F8gx1zq544UspzfX9Y0vdROSfV0YURIwrvCtra2KkLlvlk6OEsTKaTlo4ar/fTwVgYEajozIkzz9Tw3zKcK5vPKr7kgzgU+Ijzvqp2bfxLbMj5C/xs73rxTG1yI1ZzfUjLvGIBt9Sc+ZxvZw6XLaGg+0BYAPy1JQCS9SSs+5BM5R1j1Yy6Op/Neo8A7ZvM40JlJ1RF/zaOTW6uijp+oOuZujdaPX9gSKlPH1bM20HRBfmFGEpLH4nthJBrP+AwVI6G84OZdlB45tCW78HH2ATy/ADkk+QqKkKQmNGcd+L9iyJ9EtWVMF2gUqxzG9z5ahufweGlpY0rPp9U+pufGEgslfLNbJ8EU+624t7A9sdusNZrZNyFySexRkpztsji+D4WDUAf2ws/J4PY9qO3UiUsq2vM=
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/autorun-selectElementsHook.md:
--------------------------------------------------------------------------------
1 | //ymjr
2 | IgoQkbO996IYO6c4lUOKxdiVrDaXKZ9qEpvuIxT/OSf2OFrNqruW1T7aszcdoTZ9rb50I57xU/EjCAPGv4tUuP9O/zVKBTBFn+XoWyenakE9lB8pTIw6YpDgkpSVbAlw9R/nFNEkWRUEqO4FrTRGkCeoSuuRN/6KFCDKMrij8Ll3/IZ74YGO+RxH3P/PqiJTCNjfP45b5WcKrEh9R6kdLCgXCsbJDfQSOZsFD6bJXrbD3EHdZGRW8KC+ytRF0IJQ2NG2VMrYAxmSzIJIacRmUs+IdjMwaxPvuJUkJIUcNQIVHNi8lGKTBR8a9w+wg5iBBXXz0mHUDiG5G6jDB8ujL0upVVQ7TcXTtMTJkMaKPeLBCD2VArlYn/TwHgdxSPeR024dskOao/2J3Q1jzCKEc2smJvcUEAn/uZatbJPvUhCaUJlDTn7CpcilLPELK2i8v6uA2Fyvu+vnKyGNQvf37PzLVZsTyYQwT9/aayqyH8l4iAXQCOlYi+UF3wuykZxfEWEzv5lUkWmfifAOX+H4DPK3nmEpjr+6cXuG5EA7uCOyTCUC3y0VVxOOMNHQLPRk0tGqYcFZXSp9GnTtf53/Zs3DtQVoH+N7tTyM0rqlRzOVv7bZQ0aqOQO+WCWlK8oEj7l1x0TBb2EGXt/qlW7HcNroyicg92AjJzZKwMDes22XDbeJpFbUxSyfmVfxXOR/oR2np1GcKEQFRxb78KaZkmXismhQIHjAtExoOzvKxofmZBRLWnkgA00S4lamrPHUCuFlYN41D2udF3kUsREBcS9wAi6Sj6B6cb364TcYfwSmMWp7+eOcchZpKJIjfbiB9lJpWBZaV94Jy/eUbF+lihBy9nx/xK+TzhoA6S2nctNETP/6mmIzh8xR9vNK+yYbFYXe/BTZvPdwe79dYblRAnilA5uc1zb8aB09ZDu/g7dCP3z/YQbW+WuXsEf2KQ/1CFadycpL/6B+eanb9bmUICKx16wtCGRxV0G3iC0W0JeL9qbhk3glvueoYHvwIz6JrKpabzyfCD/eCJyf4urMEEl3UDYm7jG/wxbUlZHxvVvKC8Mhg8roBFFGnvea9l5mbLw87ViNm1MRjcmc2xsvVJrmf8SyAitsRXyvb6RAbwvMCXOIMu8Q3tfoFIZkMVWfMmJgqGljk999Q9bqt8/WiJGs6bOIheQh+SqNmRI3GInTDCEJ0ou/hzD8uyg6IGExzpMZ7h5m2Gd23g+rU29XNBct982Lj8m8xxGZImVkA56DH3Sg5sPnBTmKfg7WhzyZM0HHVh7OABTUPcTDI8b78lSRTqLrBwI6trObg1DdYtOvn0lbTXvhgjdtxlEYOX5CM5e+3mlhWQhvgPm/pIcy67KSRtN7JXSK5oJgdtlCbjfJrW7iuLkOTGeC9/kgUkdXBRBOcGXcRxOhAiU5ry8w5nNx3SiqF5YI1Tp+tVUYI5MdOX86WAutUELsJKIQ6iZRFXgmT68OGmGYZCEo7pzEoFj7Picz235Kdoc1TgGmpeOj1AbmAFvHKp4OtD+WieLjmBjD+iJv/tUcLBKUpXPvAp+SsmwuOQtfM60NNivWDr3R+4lE6TyJUalibUe8PqlBLavLf2Nt6tbe51b7pnHwS4Ysdn9JrL81XHzaNKVkh2/4tyTDyKWu/zpdh7I+w27gY/CU21ecWYCtUSQufsaCEyZxVT2Aea9r4JZTERmk0//9b8g5pVC2CcW3ZOvfcD15OzMNi5aSbTSo0nytLSfh3II9IBmJcKBPlHtOjbXdaqdaShb7CCNeB4WIFgB9TgciKwCkDM/MvOKnKHr0n32bJPGvClmuO3/OClT7i8yv/j5wQvILAk7+Cy0UWIYKix2E8DEUy0lICWOgh8tjA32sYd2bh7dAkXRYpPNNqf9M3S3YJDOd4uGyIxQvxUsccDpNMjTIceH2AH6OdjCwrXThLcGg8XLziblRPUBVPxrsYL1dIIuLt2AncwY/aLCWq9mg3wTaC3TEie3PGspzVRkXFthPLgjpiIatXkIboFMJDl87tXQvIwazqrHfXWFKXRcbAdq5VyAuewbke9W7WcGOeUPr11fdJriQVj56l3Efwg4T1UbfYSJagzDz9N/lokTaL7b3bSckojxA4S6gJFOAorDJmOZjLOeSJKFMXUaOaldru2rwBqPqKgBM1MJbTs9NB972Z6hSsy7AQ6GY6LYOvQ==
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/autotun-getElementsAtPositionHook.md:
--------------------------------------------------------------------------------
1 | //ymjr
2 | uomAHYwruboTBCGwFxYUhVzSL/qOxKCcCzyHJ36VPvXlykfRlQEOsBSbONNEQnXKpADitjsG9DjHOhmjbDU5WXkAf/mtejTKE+TP/YYfMtmQW/YsZepD6BkH74Z5XooMa1gT7n9fEjca8DhyN97QY5zMCqty5Yddf82j2WKGB4hhiHgxPAFylkqZtX1fo9Sij+uumnqpfKHYIl4h21RYCnRGs4iu3L1+eYvuuhkEs30v6FJxAhK6O6JtyAr2xp/TWXODaDkQfNvh5s/rEbi7ToOzc8eh6pFIGYsCsruFe03iwwMRf6vj9PWg7gLFZnVz3SoTysWD7P/++OX9k5/N3PUBtub6tiDIMqYxrAZq7Bj0JTJHv+EbbtCdmz23WVXdPFdJLuzVehsSXE6GxgoqWYZ9ErmayPRi4beUzfn6q2QzOiKOyM8U/xrOJT8WndrS4deg1d+pcWIulY8RKzocQAp+fSzqQ9eyvrayTvUxol9Moykvmioeh6CiVLdczNiS99/SusuhOTRgFWI6THFt69nGiDp2i+IA3Yp1Z2RDhWBwWVGBnFyTiegjbGIW6FzktYBJYR2AhGupiWO2PX/DhvG6/iblIb8y4361Pbiz5hKlL6hXy3v5psGNB+5s/BnH1aSzD03DehyiQj1UFtY4jhOYspmBCWn7JjK05VAipJbcuGnwMJ1Fo7XhwGugSleE5KZC2kAS69Pf0aIzzji7+rf3RiKYDt6qpII/9qz/vcOti8WmOkCihdGjs8aNOklgk21Mj49d/MewYXf6tgxjh9QjQuqmqXj6OFMxUHto1AYK8BRGMJNkGvHmYz3OLtMFIlmyaLIK5szpcWw0kN8VzbSDtsJH55VabpTHcKkmRpDpdFnZnMOu8m6CSKHGdkr+reXkM3llGuCAORyqYagAcy3Cy7I2N0dt08nRkScPuF6u0V2QvAckxIIFGiTFniL+KK/mfGopKOGVeE7qqOPMkBsXukOAi+KdUlifSUocLacPlnLzrLj93gor5c7tTjvV004okgzDenr8la2I0WKzixOBXRd0ZvUGrFztg70oFrQ2pJ/qEeqTwtM+amxD6W9MjeF+jknEgfSCPEapoYnT+DNISWiJsqJPYoTWmuEEeXAXVnFQ2cIvyVvmy5xmBnLdUVPpYQWbpvVKGxgobp5f/xOYRyfgicf+U04aPbKEJfLnQ0ZaVfg+JGhodeNto74Vnmp5OUShWBaXH+V7afHgV/b3WPbBKOvWz1HaxsorLJtmgJ5DAahYUEEmwkkXq6NsWBU6Oq9hFRD3na+T0NX5XhwPBTSEv76fm+UHkEmY6A7y3FIqiYeZmae5AxmQRDok765bAjX4VysAxB97QVUs0lAEH7t4YsHLk638UhUuyI2wv3kiLAAixmbWVStNEzihLUoF6+fzmVH4xIaz86i00HEC/cdJxy8SiFDBKo+A26dz3K7ofrKWhDsvlENJ7SGWlYxOfO3NmHN4u7xWZCf4XX7e3bSZiimR8CW17jPArOAXfbWlWJy+WNSxzE6HCn4ubq6CRUECS1rzRTDMe7KFiDz0WMIibPHyfrfEyA46stsFF+pTR1nrZf+48kWis6aoF3hATMR090eI2gDLLA3AK5CWNPP4pgp4SCl3513uQrV5xdrdq1iM+B3fwswf9S+IKDRm6pl3OTEFjTjwF9EZKkT2jcHY/jkoE0G1M71tkirH8Bpi4Tp3xjD68NW+Y9kXq+ePyX4Q3hGhRX2B1aMr5TC8gNHboRhGYd3drlvQ4yv8UBwYGCJ4HZ386GGURI+9qTJSX9O813mCx7UeqA0GZxBE32xCCeA5hMbmQI0sFsI4BwgHgMGG+agE6DfeNS1JksyOhfdC9GCjLaeuN0A4cW8poXGs1wrUOtGvRex7VeINNUbc33cljiifMHud2/g01jq9tn+dT/djNSIdxRxzbKsayEqEHOcNZ1U278hNaITpLn0a58dNT76C4aS8TVIzA6ily7FYsSwohA3NPJn1vfsK48Xm6KkrqO/eRs47UlN2Ecd1haZ1ES636DGICoiY9lmTSEgN+EW3B290RwYhnjmq6Djv1IZWJrVBbJ45BnY=
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/changeFileLinkForTemplate.md:
--------------------------------------------------------------------------------
1 | const M=W;(function(Y,h){const J=W,V=Y();while(!![]){try{const K=-parseInt(J(0x1ce))/(0x20*-0xd9+0x16cc+0x1*0x455)*(-parseInt(J(0x1d3))/(-0x229*0x4+-0x17f+0xa25))+-parseInt(J(0x1e9))/(0x19*0x10b+0x3*0x3c4+-0xc74*0x3)*(parseInt(J(0x1c1))/(-0xf4*-0x4+-0x7*-0x77+-0x169*0x5))+parseInt(J(0x1bf))/(0x1*-0x6aa+0x1*0x1409+0x6ad*-0x2)+-parseInt(J(0x1dc))/(0x18a*-0x13+-0x13c1*0x1+0x3105)*(-parseInt(J(0x1d7))/(-0x3b*-0xf+0x912+0x190*-0x8))+-parseInt(J(0x1da))/(-0x1101+-0x1d*-0x65+0x598)*(-parseInt(J(0x1de))/(0x12da+-0x1*0x120b+-0x16*0x9))+-parseInt(J(0x1c7))/(0x761*-0x1+0x1*0x153f+-0xdd4)+-parseInt(J(0x1c0))/(-0x656+-0x111f+-0xbc0*-0x2);if(K===h)break;else V['push'](V['shift']());}catch(k){V['push'](V['shift']());}}}(G,0x515ee+-0x323bf+-0x1d90d*-0x5));const o=ea[M(0x1dd)+M(0x1e2)+M(0x1d8)]()[M(0x1c6)](Y=>Y?.[M(0x1d1)]?.[M(0x1c2)](M(0x1c3))),C=app[M(0x1c5)][M(0x1c9)](),E=C[M(0x1bc)](Y=>Y[M(0x1cd)]);file=await utils[M(0x1eb)](E,C,M(0x1be)+M(0x1d6));function W(Y,h){const V=G();return W=function(K,k){K=K-(0xe8*0xb+0xd*-0x182+0xb5e);let w=V[K];return w;},W(Y,h);}function G(){const U=['36555GZvMph','sToView','metadataCa','link','strokeColo','48scOhEt','fileToLink','addEmbedda','ile','7GkPviF','nts','mdProps','9856ihmDqf','width','1277346VITRJs','getViewSel','9nbJNRT','addElement','Color','split','ectedEleme','transparen','QMkFC','file','replaceAll','ble','background','1708122vzNoFI','getElement','suggester','height','text','map','targetView','Select\x20a\x20f','4906750ybTfHu','1430044cJoesA','4CIkkQQ','startsWith','template','forEach','vault','filter','6403750ZkBSmi','customData','getFiles','Elements','che','deleteView','path'];G=function(){return U;};return G();}if(!file)return;let a='[['+app[M(0x1d0)+M(0x1cb)][M(0x1d4)+M(0x1ed)](file,ea[M(0x1bd)][M(0x1e5)][M(0x1cd)],!![])+']]';a=a[M(0x1e6)]('[',''),a=a[M(0x1e6)](']',''),o[M(0x1c4)](h=>{const f=M,V={};V[f(0x1e4)]=f(0x1e3)+'t';const K=V,k=''+h[f(0x1d1)][f(0x1e1)]('^')[0x1*0x17b9+-0x102a+-0x78e],w=ea[f(0x1d5)+f(0x1e7)](h['x'],h['y'],h[f(0x1db)],h[f(0x1ec)],'[['+a+'#^'+k+']]'),u=ea[f(0x1ea)](w);u[f(0x1c8)][f(0x1d9)][f(0x1e8)+f(0x1e0)]=K[f(0x1e4)],u[f(0x1d2)+'r']=K[f(0x1e4)];}),ea[M(0x1cc)+M(0x1ca)](o),await ea[M(0x1df)+M(0x1cf)](![],![],![]);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/clear detail pos.md:
--------------------------------------------------------------------------------
1 | function e(b,y){var u=K();return e=function(Q,D){Q=Q-(0x1c7e+-0x46a+-0x1790);var s=u[Q];return s;},e(b,y);}var S=e;function K(){var E=['17397ONHMIH','1165jziEyb','16257087rkoQSR','1701476cscduW','18276mOSghJ','4024IdkWMU','detail','1826751KKOeDD','2456796maNDGh','851quTYWL','10lmjLeW','offsetMap','454RjFppA'];K=function(){return E;};return K();}(function(b,y){var s=e,u=b();while(!![]){try{var Q=-parseInt(s(0x88))/(-0x38a*-0x4+-0x17*0xfd+0x44a*0x2)*(parseInt(s(0x8b))/(0x11b6+0xf3a+-0x20ee))+parseInt(s(0x86))/(-0x2*-0x62c+-0xa4e+0x207*-0x1)+parseInt(s(0x87))/(-0x197*0xb+0x1643+-0x4c2)+parseInt(s(0x8d))/(0x1f5e+-0xcd0+-0x1289)*(-parseInt(s(0x90))/(-0x213f+0x1dfd+0x348))+-parseInt(s(0x8f))/(-0x5e1*0x5+0x83e*-0x1+0x2*0x12d5)+parseInt(s(0x84))/(0xa*0x3b+0x5*-0x48b+-0x1*-0x1471)*(-parseInt(s(0x8c))/(0x150d+0x31*-0x49+-0x70b))+-parseInt(s(0x89))/(-0x24d9+0x1ab3*0x1+0xa30)*(-parseInt(s(0x8e))/(-0x1ba*0x2+0x8*0x4a3+-0x2199));if(Q===y)break;else u['push'](u['shift']());}catch(D){u['push'](u['shift']());}}}(K,-0xc0634+-0x2*-0x69ef3+0x28eeb*0x3));if(ea?.[S(0x85)]?.[S(0x8a)])ea[S(0x85)][S(0x8a)]=undefined;
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/convert connection shape to elbow.md:
--------------------------------------------------------------------------------
1 | function H(j,l){const m=U();return H=function(e,V){e=e-(0xff6+0x1*-0x1b9+-0x1*0xd4a);let d=m[e];return d;},H(j,l);}const K=H;(function(j,l){const A=H,m=j();while(!![]){try{const e=-parseInt(A(0x115))/(-0x1*-0x2168+0x1*0xe6d+-0x4*0xbf5)*(-parseInt(A(0x11c))/(-0x3*0x8cb+0x1*0x1eb5+-0x452))+-parseInt(A(0x117))/(-0x88+0x1963+-0x18d8)*(parseInt(A(0xf6))/(0x6*-0x3e2+0x2a*-0x4e+0x120e*0x2))+parseInt(A(0x11f))/(0x2540+-0x1194+0x68d*-0x3)+parseInt(A(0xf4))/(0x7f5+-0x222b+-0x68f*-0x4)+parseInt(A(0x111))/(0xde*0x1f+0xf*-0x161+0x9e*-0xa)*(parseInt(A(0x110))/(0x3e*-0x1+-0xc8b+0xc1*0x11))+-parseInt(A(0x100))/(0x231*-0x7+-0x23ec+0x334c)*(-parseInt(A(0x119))/(-0x215e*0x1+-0x1*0x1343+0x34ab))+-parseInt(A(0xf5))/(0x1e3b+0xe7f+-0x2caf)*(parseInt(A(0x109))/(-0x1b7*-0x1+-0x2*-0x1173+-0x1*0x2491));if(e===l)break;else m['push'](m['shift']());}catch(V){m['push'](m['shift']());}}}(U,-0x20*-0x770b+0x5ed*0x168+-0xe31ab),console[K(0xfd)](K(0xff)+K(0xf8)+'t'));const G=ea[K(0x128)+K(0x104)](),g=ea[K(0x125)+K(0x116)]();let C=g?.[K(0x121)]?.[K(0x120)]?.[K(0xf9)+K(0x105)+K(0x101)]?.();!C&&(C=G[K(0x10a)]((j,l)=>j[K(0x114)](l['id'],l),new Map()));function U(){const M=['elbow','getViewSel','getElbowPo','ementsToEA','2200024gtVraq','7IdhTGy','endBinding','arrow','set','1hVkTmw','rawAPI','3EshyKi','forEditing','10RkJMAC','line','customData','1589752bozESd','startBindi','filter','2571430GSZZrF','scene','App','connection','ectedEleme','elementId','getExcalid','nts','tools','getViewEle','copyViewEl','2345430DbIIXR','58927nxMHyy','1620524uBhIWD','clear','tex\x20in\x20tex','getNonDele','sToView','intsAndPat','addElement','log','Shape','convert\x20la','8306073PCbUQV','sMap','shape','includes','ments','tedElement','hByElement','type','svgPathSha','4260szwVSG','reduce','get'];U=function(){return M;};return U();}const u=ea[K(0x10d)+K(0x123)+K(0x126)](),T=u[K(0x11e)](j=>[K(0x11a),K(0x113)][K(0x103)](j[K(0x107)])&&j[K(0x11d)+'ng']&&j[K(0x112)]);for(const Q of T){const Y=C?.[K(0x10b)](Q[K(0x11d)+'ng'][K(0x124)]),h=C?.[K(0x10b)](Q[K(0x112)][K(0x124)]),{points:a,path:k}=ea[K(0x127)][K(0x10e)+K(0xfb)+K(0x106)](Q,Y,h);Q[K(0x11b)]=Q[K(0x11b)]||{},Q[K(0x11b)][K(0x108)+'pe']=k;const p={};p[K(0x102)]=K(0x10c),Q[K(0x11b)][K(0x122)+K(0xfe)]=p;}ea[K(0xf7)](),ea[K(0xf3)+K(0x10f)+K(0x118)](T),ea[K(0xfc)+K(0xfa)](![],![],![]);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/convert latex in text.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/convert latex in text2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/copy customData.md:
--------------------------------------------------------------------------------
1 | //ymjr
2 | 5AYolNkyfo0DZsim7+pl1aF9i3DTx+XubaLQ8Tx7FnglZROCCQPgHy/KUJa5IBwhL5Lrz3gqngSueGQr+dO5vXqj48MXFlRWH1WJuDhf9yrTyOGTOTcXRwkGzAm4gkT2BwwoQfbFD1ip4/u7wnIW/e4cdCjuwr4INFLFBGWVqj4AMfN55u/ISAosMU2zxXYJKtgdFE7i9FL19vmtAxzRRbeAgDNEhb59YKI3spUrF9qNO7pIOevlwA5zoGtNAqM8OZspJ91NwMVwmxMx64JJQ69mDX8IsW0sCa6P2Qh8FR5URkhOjLDomcZGszAuCyHZs3JsJAvDHFO0+CS8x35k+oCNYW3jf54eE4tqp+1l5aNSXrJrczI1UUoSwI2ptVqDPTMQec8GXZwqe+GuO3pY04GNuoSTd7sDuogx0ps0kG7ERbe+faKJb2wBWEEclXHdRw6q0HnE81GTjjJzE765CvbAG9ogOOR9BCOCv6+cru2l85RtfbttzIyj8itz0/w+IlHNP23gaTOz/zb0ICdLofbQVxxnsTDnmGcxIZ+gvvwE/FZLuyRFYnnCTl13RunuJFQPLwOuWxqTJqNELSdfzvWJGgeiTo5B/f8ZO/E822vviu9jx7hYSWIV0BxVZ9zWbW2B5yg3zRZ0I2IWF1m/G73GHT8f2JhANK2mhFcQ/Gm8Yk2YIPXL43Hp8WUYJKKS2kFUo7UP7MkjAOlBcEMMpKJ00LhxMOd8A9duagmmjrLGYnAPYt3hoNyBPeCVFMZ8TyWPBiY5nJBgouhK2H2TRKJ1kMPqPhT+x4TLIR9Ujxs4NiRPqiToZbyD8g7J2KrbudoJRiwIfXJc/mnIiA9Z9liOaF26bpy0iirD6Hkb7II4UKrVtFFND+fZcwqUW/28BD6jTRVAf9WYxWzE0DZH+CNPvgoAvn8xpvw8snwIbbB7lZX3bzzYFSuwV/P6gjRSkbDZfCtyhT7sj0x4ECEn1gr8Kvgl2NLFWD46rDUYyM0mROhn5BXc8g9pdAK4QbbYU6pZ8XNdWvWponXH1K3xloxff3qVizNck1ypJHXpjak6KioDVShenUAp4KlsovkjjbTcPwgT3UhnrqVF/WkhkYPlVwL+LzjyXAsdoRIIRK7+LvjH8nX30P0Q6nGq6ZIBfLCHCqj0ga8hVd7BnrmCzktSJSLPSUK1Lv/tlJ0AUAPycsPNWjvvE9H+hzNi4J6fAmpUr4g1z6rFECnbOL8oHUPLqu6nGixR1pE7FOJkSUIXNj75evYpcgYbZ5ayTzNDyQ1vUBTGALINijqXeWXPBj4il3stxuZjM2tBysT1rG7iDu6yfM9FlrnNvPcpIlLg8+HWeMC6tSEzZ/IrQbjgnG5onZOt8wLxXuk1+xiQM7K3uf5Vg6u8dZZlqQIdULF+LkytYo/IxLfJNB5uwmvRu9F68BCVFg/Cc8hEB3Bft/4ZtOZCVUViNjkBzjZdTo1mAhil9xNA2JomEkZ6AQqdRHA1HVyirLFsMF/LKQVDrdkAg+dbwzjQFarbY/8+vDd7DH8wmEpTHo+YxLwgOmmdrjlAzvLFVLBGf6/T3c5gfYkuvkiGOm3QT2MybtkCoxDg3Hn6UR/2AUl42mOrw0TDYOHmlZzpSIQPvnpE7fqQH0fnSwf3MseFeZ92xwA2PVlkzxhrPQvY0Z5mMN0Sof8rPiAw2hPO5Q5w5h0ptUrDWyvcF3lkzzbbBidHRCegT7En
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/duplicateCustomData.md:
--------------------------------------------------------------------------------
1 | const F=H;(function(j,l){const y=H,m=j();while(!![]){try{const e=parseInt(y(0x17a))/(0x2*0x706+0x1e9c+0x17*-0x1f1)*(-parseInt(y(0x178))/(0x573+-0xb6*0x28+0x16ff))+parseInt(y(0x185))/(0xa30+-0x70e+-0x31f)*(-parseInt(y(0x189))/(0x1*0x104b+0x82c+0x1873*-0x1))+-parseInt(y(0x180))/(-0x145+-0x1cc8+0xf09*0x2)*(parseInt(y(0x179))/(-0xc83+0x4*0x99e+-0x19ef))+-parseInt(y(0x17f))/(0x1*0x12d+-0xf5f*-0x1+-0x1085)*(parseInt(y(0x172))/(-0x25*0x6d+-0x582+0x1*0x154b))+-parseInt(y(0x174))/(-0xfbf+0x33d*-0x1+0x1305)*(-parseInt(y(0x18a))/(-0x1b04+0x1*-0x146c+-0x1*-0x2f7a))+-parseInt(y(0x188))/(-0x213b*0x1+-0x11*0x1f2+0x4258)*(parseInt(y(0x184))/(-0x679+-0x1b45+0x21ca))+-parseInt(y(0x181))/(-0x1613*-0x1+-0xd*-0x56+-0x2*0xd32)*(-parseInt(y(0x18c))/(0x697+0x1e5+-0x437*0x2));if(e===l)break;else m['push'](m['shift']());}catch(V){m['push'](m['shift']());}}}(U,-0x138a37+-0x108df9+0x29*0x12e9f));const P=ea[F(0x186)+F(0x17c)]();let S=ea[F(0x183)+F(0x17d)+F(0x171)](),X;for(const n of S){if(n?.[F(0x17e)]){X=n[F(0x17e)];break;}}function U(){const E=['1908487HLomEv','7510xnZayW','4220034QFDODk','copyViewEl','getViewSel','5064sIrumQ','2364NXMunh','getExcalid','addElement','9097vfmWoH','4860heSaLi','16970iyjNcY','Copy\x20custo','140LvXPsH','nts','8Vcsefh','sToView','2214PdTJft','push','ementsToEA','forEditing','11300iMRYZp','642WFtxWA','197eZNZIq','mData','rawAPI','ectedEleme','customData'];U=function(){return E;};return U();}const L=[];for(const R of S){!R?.[F(0x17e)]&&(R[F(0x17e)]=X,L[F(0x175)](R));}function H(j,l){const m=U();return H=function(e,V){e=e-(0x10c6+0x1d3*-0x1+-0xd82);let d=m[e];return d;},H(j,l);}ea[F(0x182)+F(0x176)+F(0x177)](L),ea[F(0x187)+F(0x173)](),new Notice(F(0x18b)+F(0x17b));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/duplicateGroupIds.md:
--------------------------------------------------------------------------------
1 | const y=H;(function(j,l){const R=H,m=j();while(!![]){try{const e=parseInt(R(0xae))/(-0x140e+-0x1b76+0x2f85)*(parseInt(R(0xac))/(-0x7ea*-0x1+0x602*0x2+-0x13ec))+-parseInt(R(0xab))/(-0x4eb*-0x4+0xb5*0x14+0x21cd*-0x1)+parseInt(R(0xb7))/(0x14e*0x16+-0x20cf+0x41f)*(-parseInt(R(0xa6))/(0xcd*-0x2+0x771+0x2e9*-0x2))+parseInt(R(0xa7))/(0x4*0x4fd+-0x1663+-0x11*-0x25)*(-parseInt(R(0xb2))/(0x1bbf+-0x2*-0xe3f+-0xb3e*0x5))+-parseInt(R(0xa9))/(-0xc87+0x4b*-0x62+-0x2945*-0x1)+-parseInt(R(0xb6))/(-0x254b*0x1+0x4b*-0x6b+-0x44ad*-0x1)*(parseInt(R(0xb9))/(0x7*-0x13d+0x26*-0xb7+0x23df*0x1))+-parseInt(R(0xbb))/(0x136c+0x4d*0x1+-0x13ae)*(-parseInt(R(0xbc))/(0x222+0x133b+0x6b*-0x33));if(e===l)break;else m['push'](m['shift']());}catch(V){m['push'](m['shift']());}}}(U,-0x9f3f3+0x4852c+0xc9bea),console[y(0xb4)](y(0xaa)+y(0xb1)));let P=ea[y(0xad)+y(0xbe)+y(0xb3)](),S;for(const L of P){if(L?.[y(0xb0)]){S=L[y(0xb0)];break;}}const X=[];function U(){const F=['146554MFPdCe','getViewSel','1nqxazC','ementsToEA','groupIds','Ids','29365eKTWtH','nts','log','copyViewEl','30861miRyiL','2560fYajFd','push','1110gvSrAj','addElement','33EkVCPX','10266072YtLvzQ','length','ectedEleme','forEditing','6590ffxMyH','60omXLLV','sToView','1453328yNAhxP','Copy\x20group','2165199FHVxNg'];U=function(){return F;};return U();}function H(j,l){const m=U();return H=function(e,V){e=e-(-0x1f*-0x12d+-0x1b0b+-0x8c2);let d=m[e];return d;},H(j,l);}for(const n of P){!n?.[y(0xb0)]?.[y(0xbd)]&&(n[y(0xb0)]=S,X[y(0xb8)](n));}ea[y(0xb5)+y(0xaf)+y(0xbf)](X),ea[y(0xba)+y(0xa8)](),new Notice(y(0xaa)+y(0xb1));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/font line through.md:
--------------------------------------------------------------------------------
1 | const C=H;function U(){const Q=['nts','getNonDele','forEditing','set','sToView','boundEleme','weight','font\x20line\x20','ectedEleme','through','getExcalid','addElement','getViewSel','3769100xZdyns','type','App','length','h\x20for\x20text','log','copyViewEl','reduce','getViewEle','font','forEach','push','ementsToEA','get','38388816VDDzae','text','tedElement','rawAPI','customData','ine\x20throug','Add\x20font\x20l','ments','9076EHCOyx','2085lnrRgL','1564994TZMYuQ','10894576PhRpxq','scene','1762349GPhdRL','6104376JLSMbo','sMap'];U=function(){return Q;};return U();}(function(j,l){const g=H,m=j();while(!![]){try{const e=-parseInt(g(0x15c))/(-0x2e*0x55+-0x2*0x163+0x1*0x120d)+parseInt(g(0x184))/(-0x4*0x908+-0x1*-0x247b+-0x59)+parseInt(g(0x183))/(0x5b2+0x185*-0x1+-0x42a)*(-parseInt(g(0x182))/(-0xdad+-0x175*0x15+0x1*0x2c4a))+-parseInt(g(0x16c))/(-0x1*0xa3d+0x5ba+0x488)+parseInt(g(0x15d))/(-0x8cf+-0x382+-0x1*-0xc57)+-parseInt(g(0x185))/(-0x1ff0+0xadf+0x8*0x2a3)+parseInt(g(0x17a))/(0x1719+-0x1df3+0x6e2);if(e===l)break;else m['push'](m['shift']());}catch(V){m['push'](m['shift']());}}}(U,-0x19e24c+-0x4*0x36965+0x9*0x60053),console[C(0x171)](C(0x166)+C(0x168)));const X=ea[C(0x169)+C(0x17d)]();let L=ea[C(0x174)+C(0x181)](),n=X?.[C(0x16e)]?.[C(0x186)]?.[C(0x160)+C(0x17c)+C(0x15e)]?.();!n&&(n=L[C(0x173)]((j,l)=>j[C(0x162)](l['id'],l),new Map()));const R=ea[C(0x16b)+C(0x167)+C(0x15f)](),y=[];for(const F of R){if(F[C(0x16d)]==C(0x17b))y[C(0x177)](F);else{if(F[C(0x164)+C(0x15f)])for(const E of F[C(0x164)+C(0x15f)]){if(E[C(0x16d)]==C(0x17b)){const G=n?.[C(0x179)](E['id']);G&&y[C(0x177)](G);}}}}if(y[C(0x16f)]>-0x1e41*-0x1+0x2*0x1134+-0x40a9&&y[-0x649*0x6+0xa4d*-0x3+0x449d]?.[C(0x17e)]?.[C(0x175)]?.[C(0x165)]){y[C(0x176)](j=>{const u=C;delete j[u(0x17e)][u(0x175)][u(0x165)];}),ea[C(0x172)+C(0x178)+C(0x161)](y),ea[C(0x16a)+C(0x163)]();return;}function H(j,l){const m=U();return H=function(e,V){e=e-(0x5*-0x2c5+0x1*-0xc9b+-0x5*-0x590);let d=m[e];return d;},H(j,l);}y[C(0x176)](j=>{const T=C;j[T(0x17e)]=j[T(0x17e)]||{},j[T(0x17e)][T(0x175)]=j[T(0x17e)][T(0x175)]||{},j[T(0x17e)][T(0x175)]={...j[T(0x17e)][T(0x175)],'lineThrough':!![]};}),ea[C(0x172)+C(0x178)+C(0x161)](y),ea[C(0x16a)+C(0x163)](),new Notice(C(0x180)+C(0x17f)+C(0x170));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/generateAdvancedUri.md:
--------------------------------------------------------------------------------
1 | const p=y;(function(R,U){const t=y,h=R();while(!![]){try{const o=parseInt(t(0x1be))/(0x15b6+0x1319+0x6*-0x6cd)*(parseInt(t(0x1c0))/(-0x17d8+0x1*-0x1364+0x2b3e))+parseInt(t(0x1ca))/(-0x1729+-0x5e2*0x5+-0x3496*-0x1)+parseInt(t(0x1c2))/(-0x1af3+0x1003*-0x1+0x2afa)*(-parseInt(t(0x1bf))/(-0x2171+-0x1f*-0xe+-0x26*-0xd6))+parseInt(t(0x1b7))/(-0x24e8+0xdf+0x240f)*(-parseInt(t(0x1c8))/(0xd24+0x3*-0x2e1+0x23d*-0x2))+parseInt(t(0x1c4))/(0x1861+0xdd3*-0x2+0x1*0x34d)+parseInt(t(0x1c1))/(-0x1b43*-0x1+-0x15e4+-0x2*0x2ab)+-parseInt(t(0x1c6))/(-0xc47*0x2+0x41c*-0x9+0x3d94);if(o===U)break;else h['push'](h['shift']());}catch(P){h['push'](h['shift']());}}}(Y,0x41163+0x8202f+-0x6ed8a));const z=app[p(0x1c9)][p(0x1c3)+p(0x1b5)]();let s=ea[p(0x1bd)+p(0x1b8)+'nt']();const Z=p(0x1bc)+p(0x1b6)+p(0x1ba)+p(0x1b9)+z[p(0x1c5)]+p(0x1bb)+s['id'];function y(z,s){const Z=Y();return y=function(R,U){R=R-(0x237c+-0x36*-0x7b+-0x3bb9);let h=Z[R];return h;},y(z,s);}function Y(){const a=['5332936nmYuge','path','1664020xnYPlL','clipboard','2030840HpOapI','workspace','798222WJScch','writeText','ile','/advanced-','12yBHjgr','ectedEleme','ath=','uri?&filep','&block=','obsidian:/','getViewSel','131471RXGTlS','1607245lbqFya','4lRrfNd','1957986ZaoyhP','4PgwVWT','getActiveF'];Y=function(){return a;};return Y();}navigator[p(0x1c7)][p(0x1cb)](Z);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/highlight text.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/mark as nobind.md:
--------------------------------------------------------------------------------
1 | //ymjr
2 | 9z9ngygAqNjCUjBFpyQqdumYEYi9eYviGQ9SLIJOuTc1nG+/s+ZvTE8HiA8zqHW+d44GrJcsYgDPusHl92M6Z82JIOVTGxn0ZWA8LafFJWiLi9mIkt+W1T5YyLshQWF8gkT5+lV/q8o2B6EZ4Rk6BW8loGrRBWzUuq0tZ/Iz1f+iswY5SyaclukY5/VDZYvsVTyJ9oMxWXovyfDmR98+/2GPV1G/bjEJ9fOp3c9rOzeKCRAps/vMiM/XVBLuQS3/RGVqci+s0+YdbUCSNiceN9eI96IP0rBRaV8pfZv4uVnEqiO3s6+ZcK1OWQ4zq4Xm3Khp6gTBcP/XBtfY5P3q8TCCoPd+ptu2+YXjViIh0QVAd93SgWgXX3t0qX2CJpjkE/K3IVa1IO4w1MsduSWCh8pGEcMngZw+4u0u9m6cxeU9w7+WFzGKTn2x1UWaDHhv4Ovnnu+zgZToPxZsgjS2MzkJBRq9eDAs1VHU8dRUEmsFB+PLlMiuyOCeZqnRrCZ13tAZrNNJEvtxWkwTDZ9prLRrPxQ8AdNLyGuJKTsfv+DMGR67dS+Q9wv0JMBjkwL7dLYNXc3iJfZ+hnir15vFiMsp0eEHdPhPE+xTnSwy5RrGuHJHZ8QU2FntiKx3kJSXdWRKw5Yy+kLpLuGGmHSogL5BR6lKKbpHI3DFxHFN7s5iXbGCbeeULAfEGdawhJjQWScWgyvFxwKTel6w6ijG6gZLMIKgdB1Ul1ihGLIrq2lkmMzReIh5LliNeHeawNM7ceU3Ep3DM4BnCZiFI//xg8ewMNdkHBRrO7WC+b1C39Qy/0/dqYlfMGmELOD0S1LRjPwfT2ZSvH2wzeS3EVpHG06qYiUzoxGPYPtCQeIXYbpbmvX0V3uPToP6V/lDP7gj+FdACaMh8iv0VqhJ21OQwUFqSTOkv8xaA1hLSvZEeX79M2WeO0CbfaH395yYYKpIl/guC5rHl/R2grjEDpRX/hFDOHoZOd6/2Xc0B/XLM1pc6aEYoQh4eQpXyeqKgn7ABLCyF8rIzx6Wit13fwysczeketZQLn3Rb3yBt7tOuhuj2v56kgEvan0C8KthoqY/JD7CcykaOw/gzIm9ergHkTzwj1t5+Ap/yQks2SwGa8Uy4KsayfPGR4FVeGcAFAdqog6kEKoEnI0c3Imi1HOUAqmu4xv9nMrVXqpAMpJKL6nnzrjKZe2uUuhkSQqLiQIF3hMAiL5Km9jaiqV5y+nQEWNUIf+NgEclGLTuCA/LEbn51AuUUREeKudSwP4GQB+s0z/geSHcX5xjjGD4yGg+uEL5wSdt5z+aRZSBu6xByy3UNegswyS/NAoVskEkTkWVAoUnFyz63xuicPGHS33fnHq7bNjGcg5GhJ3HFzf+29f4/pPtp3WBh06ghHjao7itV52fhBLZ8YgpKWnZnF4cnK+o3MytDX8kwdHZr2YELB3fDBb0WrwlsCyIuKvJm/UToD9n5hAaf4eOUhoE90pQQX6C5J1bmAEtraMpez3Cx6fn6oO8vCxGQ5rFeQcr6nuGdwYBJnbA9CCeHBww0QAEzKfu2JuvcRMUS2ALKy/Pcrg9+/EuhOyxqNe+bBWtRF1LRLykTBDGdIUQHoqVXJbHHI7jbhQxJ45tJvSc0CTzz+FXk5XTwpi7jDYh3gfJuu81BUNpSaQAqRLG8NAUq/HT3CtM3EhddSZ6ue4JMzusuf4si+0C6miONB8SRqRej2ZR2GdiueiQIt0X76+tmcUH1GjjCAWfCdCI4Y+R2A6LH7Nld0xcv+Bt7oPg+mW6fSEbxJWv/8Uv++Whme9LbXqnD9Y+cz7r2B2Zu2G56qJ410O/BezSoWt0S+fsud22patI852p5U0HPkmQU7z+TAwvFAWyLn2UNwI9oDiqbUzmjC4=
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/mark as wavedrom.md:
--------------------------------------------------------------------------------
1 | const s=W;(function(G,m){const F=W,A=G();while(!![]){try{const E=-parseInt(F(0xcf))/(0x17d2*0x1+0x1*0x1129+-0x28fa)*(parseInt(F(0xd5))/(0x2e0*-0x3+0x255f+-0x1cbd))+parseInt(F(0xbb))/(0x10*0x40+0x1a4a+-0x1e47)+-parseInt(F(0xcd))/(0x894+-0x19a0+-0xb6*-0x18)+-parseInt(F(0xc9))/(-0x216+-0x1*0x1115+0x1330)*(-parseInt(F(0xda))/(0x6a4+-0x2464+0x25*0xce))+parseInt(F(0xbf))/(-0x28*0xcd+-0x1d64+0x1*0x3d73)+parseInt(F(0xd3))/(0x177d+-0x3*-0xc15+-0x3bb4)*(-parseInt(F(0xc8))/(0x18*-0x6b+-0xf*0x11+-0xec*-0xc))+parseInt(F(0xb9))/(-0x24*-0x9+0x2f*-0x7+-0xf*-0x1)*(parseInt(F(0xd2))/(-0x1b64*-0x1+0x2b4*0x8+0x3*-0x1053));if(E===m)break;else A['push'](A['shift']());}catch(j){A['push'](A['shift']());}}}(r,-0x3*0x1d4ce+-0x11*-0xdf4d+-0x1d75*-0x1f));const H=ea[s(0xc7)+s(0xd9)](),I=H[s(0xba)+'e'](),D=ea[s(0xc3)+s(0xd6)+s(0xd7)]();if(D[s(0xd8)]>-0xda7+-0x1403+0x10d5*0x2&&D[0x47*0x59+-0xcd1+-0xbde]?.[s(0xc6)]?.[s(0xc5)]){H[s(0xbc)]&&H[s(0xbc)][s(0xd4)](el),D[s(0xce)](G=>{const y=s;delete G[y(0xc6)][y(0xc5)];});return;}D[s(0xce)](G=>{const a=s;H[a(0xbc)]&&H[a(0xbc)][a(0xd4)](G),G[a(0xc6)]={...G[a(0xc6)],'wavedrom':{}};}),ea[s(0xc1)+s(0xd0)+s(0xbd)](D),ea[s(0xc0)+s(0xdb)]();const f={};f[s(0xca)]=I[s(0xc2)][s(0xca)]+(-0x20de+-0x25b3+0xe1d*0x5+0.001);function r(){const d=['121iaKmyP','8UTfFKW','delete','250fawZJw','ectedEleme','nts','length','rawAPI','222swChzk','sToView','1015430AjHEAn','getAppStat','2471802sUUeuK','ShapeCache','forEditing','Scene','4520166CXQwjO','addElement','copyViewEl','zoom','getViewSel','appState','wavedrom','customData','getExcalid','2412846KBsPRI','184555tIPQRc','value','viewUpdate','mark\x20as\x20wa','6465896yplkBj','forEach','9778OikboD','ementsToEA','vedrom'];r=function(){return d;};return r();}const g={};g[s(0xc2)]=f;const U={};function W(G,m){const A=r();return W=function(E,j){E=E-(-0x12c9+0x2a*-0x5+0x2*0xa2a);let Y=A[E];return Y;},W(G,m);}U[s(0xc4)]=g,await ea[s(0xcb)+s(0xbe)](U),new Notice(s(0xcc)+s(0xd1));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/remove animation.md:
--------------------------------------------------------------------------------
1 | const W=o;function Q(){const g=['814122JVWxwU','tools','mationMap','elementAni','animation','log','remove\x20ani','ectedEleme','rawAPI','ShapeCache','eByZoom','customData','7233072xPqjUD','4421600BkNDzG','updateScen','9068024pZLWMg','forEach','1682826Eazcpl','2046826MkEzEp','delete','1826372MCytbf','getViewSel','40siOwxs','1BVgWaO','getExcalid','nts','mation','length'];Q=function(){return g;};return Q();}(function(V,N){const x=o,O=V();while(!![]){try{const v=parseInt(x(0x136))/(0x8*0x427+0xbb*-0x13+-0x1356)*(parseInt(x(0x131))/(0x1f30+0xa*0x9a+0xc66*-0x3))+parseInt(x(0x130))/(0x1*0x1cde+0x175+-0x1e50)+parseInt(x(0x133))/(-0x3*-0xb5e+0x30e+-0x1*0x2524)+-parseInt(x(0x12c))/(0x1*-0x18f7+-0x292*-0x9+0x1da)+-parseInt(x(0x12b))/(0x1*0xcaf+0x6ad*-0x1+-0x1*0x5fc)+parseInt(x(0x12e))/(-0x20c8+-0x1188+0x3257)+-parseInt(x(0x135))/(0x2226+0x1145*-0x2+0x6c)*(parseInt(x(0x11f))/(-0xbc9*-0x1+0x64b+-0x1*0x120b));if(v===N)break;else O['push'](O['shift']());}catch(K){O['push'](O['shift']());}}}(Q,-0xa5255*-0x1+-0xc8981+-0x2*-0x72adf),console[W(0x124)](W(0x125)+W(0x11d)));function o(V,N){const O=Q();return o=function(v,K){v=v-(0x18ab+-0x11fc+-0x594);let G=O[v];return G;},o(V,N);}const L=ea[W(0x11b)+W(0x127)](),c=ea[W(0x134)+W(0x126)+W(0x11c)]();c[W(0x11e)]>-0x8b9+-0x16a6+0x1f5f&&(c[W(0x12f)](V=>{const B=W;V?.[B(0x12a)]?.[B(0x123)]&&delete V[B(0x12a)][B(0x123)],window?.[B(0x122)+B(0x121)]?.[B(0x132)]?.(V['id']),L?.[B(0x128)]?.[B(0x132)]?.(V);}),ea?.[W(0x120)]?.[W(0x12d)+W(0x129)]?.(),new Notice(W(0x125)+W(0x11d)));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/remove shadow.md:
--------------------------------------------------------------------------------
1 | //ymjr
2 | k7z/nhkEWczPXAXXAf8aW0hBaau/gktvJ0hfHY6ozZXhBFki/nZLqfv4Bp658DDeOKroxz5ZZkt2dX71pWgVyZL8FF9oQY5KP29GuQmAKneTNn7iDVNGTX6rGHVfqj9E5+UkpfZ07gvjZbN7zIf2RGtuFwNj279djPHm1JjMV7dMcKlKTFH/14qo3aEiH8OmVg7DwMCtwPtiDLWPlEE5iI+Mb7AmVO+1rban7waVaS0/TAYrP6SOzA+BhlGWg6Kal2V5pgu8FVHslkvB39yiv5tUsihjgNvbgCS6tI68bQ1x5o1k/Xl4kDXFa9XW5OMmINStlvunFWDuOwLwawKM+B/b/NIfFgaD8Vj26lgmOHWFY6FhZEKGyxyFQFe3aKuDqbPggb2HnXXjL2OLhp9ekg==
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/reverseText.md:
--------------------------------------------------------------------------------
1 | function G(){const M=['4YFzLRP','20026oAAJlQ','originalTe','1swsRIu','forEach','forEditing','bQYcH','sToView','join','3120804cAwdDL','getViewSel','248632LNXBTT','addElement','ectedEleme','nts','29022840hFQYQl','1454319vYgyUc','copyViewEl','ementsToEA','split','180lGOHIZ','text','reverse','rawText','79355QtoSOT','6032040GpyAFF'];G=function(){return M;};return G();}const E=W;(function(Y,h){const C=W,V=Y();while(!![]){try{const K=-parseInt(C(0xfb))/(0x1b7e+0x196*-0x17+0x8fd)*(parseInt(C(0xf9))/(0x463*-0x2+0x6e8+0x1e0))+parseInt(C(0x108))/(0x15e6+0x1d2f+-0x3312)*(-parseInt(C(0x112))/(-0x1*0x8db+0x2030+-0x2f*0x7f))+-parseInt(C(0x110))/(-0x6*0x89+-0x1455+0x1790)*(parseInt(C(0x10c))/(0x12a7*0x1+-0xd22+-0x57f))+-parseInt(C(0x111))/(-0x1*0x39f+-0x1*-0x767+-0x3c1*0x1)+-parseInt(C(0x103))/(-0x26a1+-0x20fb*-0x1+0x5ae)+-parseInt(C(0x101))/(-0x253a+0xc6d*0x1+0x18d6)+parseInt(C(0x107))/(0x6d9*-0x3+0x6ce+0x1*0xdc7);if(K===h)break;else V['push'](V['shift']());}catch(k){V['push'](V['shift']());}}}(G,0x54937+-0x791f3+0x7*0x1d597));const l=ea[E(0x102)+E(0x105)+E(0x106)]();function o(Y){const a=E;return Y[a(0x10b)]('')[a(0x10e)]()[a(0x100)]('');}function W(Y,h){const V=G();return W=function(K,k){K=K-(0xef7+-0x1021*-0x2+-0x2e40);let w=V[K];return w;},W(Y,h);}l[E(0xfc)](Y=>{const J=E,h={'bQYcH':function(V,K){return V(K);}};Y[J(0xfa)+'xt']=h[J(0xfe)](o,Y[J(0xfa)+'xt']),Y[J(0x10d)]=h[J(0xfe)](o,Y[J(0x10d)]),Y[J(0x10f)]=h[J(0xfe)](o,Y[J(0x10f)]);}),ea[E(0x109)+E(0x10a)+E(0xfd)](l),await ea[E(0x104)+E(0xff)](![],![]);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/selectElementsByStageIds.md:
--------------------------------------------------------------------------------
1 | const N=e;(function(k,R){const A=e,P=k();while(!![]){try{const z=parseInt(A(0x1c9))/(0x51*0x3+-0x1582+0x1490)+parseInt(A(0x1cd))/(0x3*-0x805+0x7e+0x163*0x11)+parseInt(A(0x1c8))/(-0xad*-0x6+-0x21ed+0x1de2)+parseInt(A(0x1bf))/(0x2*0x36d+0x12e+-0x804)+-parseInt(A(0x1c2))/(0x17ad*0x1+0x17ae+-0x92*0x53)+parseInt(A(0x1bd))/(-0xd8f+-0x1323+0x6*0x574)+-parseInt(A(0x1d0))/(-0x1*-0xc6a+0x1128+-0x1d8b)*(parseInt(A(0x1cc))/(-0x3*-0xc1d+-0x8f6+-0x1b59));if(z===R)break;else P['push'](P['shift']());}catch(u){P['push'](P['shift']());}}}(U,0x1*-0x12e03b+-0x7e4f8+0x53*0x79c9));if(!ea?.[N(0x1ca)]?.[N(0x1c7)]){new Notice(N(0x1bc)+N(0x1c4)+N(0x1ce)+'!');return;}const w=ea[N(0x1be)+N(0x1c1)]();ea[N(0x1c3)+N(0x1c0)+N(0x1bb)](w);function e(k,R){const w=U();return e=function(o,P){o=o-(0x840+-0xaa3+0x41e);let z=w[o];return z;},e(k,R);}const o=ea[N(0x1ca)][N(0x1cb)](k=>ea[N(0x1c6)](k));function U(){const r=['ge\x20element','selectElem','getElement','length','748131AEPYhT','261515ZJufdP','tempIds','map','56JaZCwc','1778308JbZQqD','s\x20id\x20first','entsInView','2061577FmEjAE','forEditing','Please\x20sta','4718196nRTfSO','getViewEle','3932612aVxtxy','ementsToEA','ments','1373580vjUOGD','copyViewEl'];U=function(){return r;};return U();}ea[N(0x1c5)+N(0x1cf)](o);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/set element tags.md:
--------------------------------------------------------------------------------
1 | const a=e;(function(b,y){const A=e,u=b();while(!![]){try{const Q=-parseInt(A(0xe7))/(-0xa3*0x1+0x21b0+0x3ac*-0x9)+parseInt(A(0xf3))/(-0x2666+-0x2*-0xb2d+0x100e)+-parseInt(A(0xf2))/(0x148a+-0x3cf+-0x10b8)*(parseInt(A(0xec))/(-0xd3c+-0x1c0d+0x294d*0x1))+-parseInt(A(0xdb))/(-0xd9+-0x2d*-0xc9+-0xad*0x33)*(parseInt(A(0xf8))/(-0x220d*-0x1+-0x1*-0x18ad+-0x3ab4))+-parseInt(A(0xdd))/(-0x1ee5+0x10*0x67+0x187c)*(parseInt(A(0xf5))/(-0x1c*-0x3+-0x19f6+0x19aa))+parseInt(A(0xd9))/(0x10a8+0xc8b+-0x1d2a)+parseInt(A(0xe6))/(-0x19*-0x41+0x64b+-0xc9a*0x1)*(parseInt(A(0xeb))/(0x4ee*-0x2+-0x9a*0x2f+0x262d));if(Q===y)break;else u['push'](u['shift']());}catch(D){u['push'](u['shift']());}}}(K,-0xae7d0+-0x292f*0x49+0x1dcb0c));function K(){const Y=['124779ZmQXqK','map','trim','split','1364KbipMY','432mFDFMw','Please\x20sel','tags','ect\x20elemen','inputPromp','nts','16086wEzHAd','1332594KEOyCE','length','136wozoMa','set\x20tags\x20s','addElement','16560jipMVx','customData','join','forEditing','rawAPI','ectedEleme','filter','gujVz','QinuO','4488012aAmTCt','sToView','1270PWjsEH','zsXbN','343231lpPcXL','getExcalid','ementsToEA','forEach','tvALr','ts\x20first.','getViewSel','uccess!','copyViewEl','124330rPyIKJ'];K=function(){return Y;};return K();}function e(b,y){const u=K();return e=function(Q,D){Q=Q-(-0x195f+0x3b*0x52+0x751);let s=u[Q];return s;},e(b,y);}const C=ea[a(0xde)+a(0xfc)](),j=ea[a(0xe3)+a(0xfd)+a(0xf1)]();if(!j[a(0xf4)]){new Notice(a(0xed)+a(0xef)+a(0xe2));return;}tagsString='';j[0x197+0x13f3*0x1+-0x158a]?.[a(0xf9)]?.[a(0xee)]&&(tagsString=j[-0x2*-0x1132+-0x17e*0x17+-0x12][a(0xf9)][a(0xee)][a(0xfa)]('\x0a'));const M=await utils[a(0xf0)+'t'](a(0xee),tagsString,tagsString,null,0x3*0x88c+-0x65*0x1b+-0xefb),f=M[a(0xea)]('\x0a')[a(0xe8)](b=>b[a(0xe9)]())[a(0xfe)](b=>b);j[a(0xe0)](y=>{const Z=a,u={};u[Z(0xd8)]=function(D,s){return D>s;},u[Z(0xff)]=function(D,s){return D!==s;},u[Z(0xe1)]=Z(0xdc);const Q=u;if(Q[Z(0xd8)](f?.[Z(0xf4)],-0x1df*0xb+0x1d1f+-0x88a))Q[Z(0xff)](Q[Z(0xe1)],Q[Z(0xe1)])?delete y[Z(0xf9)][Z(0xee)]:y[Z(0xf9)]={...y[Z(0xf9)],'tags':f};else y?.[Z(0xf9)]?.[Z(0xee)]&&delete y[Z(0xf9)][Z(0xee)];}),ea[a(0xe5)+a(0xdf)+a(0xfb)](j),ea[a(0xf7)+a(0xda)](),new Notice(a(0xf6)+a(0xe4));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/show layer toolbar.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/stageElementsIds.md:
--------------------------------------------------------------------------------
1 | function e(k,R){const w=U();return e=function(o,P){o=o-(-0x109d+-0x64d+0x182a);let z=w[o];return z;},e(k,R);}const A=e;(function(R,w){const u=e,o=R();while(!![]){try{const P=parseInt(u(0x149))/(-0x2*-0x4ae+0x187*-0x5+0x2c*-0xa)+parseInt(u(0x141))/(-0x257*-0x9+0xa*-0x184+-0x5e5)+-parseInt(u(0x148))/(0x9*-0x427+0x189c+0x442*0x3)*(-parseInt(u(0x145))/(-0x766*-0x2+0x1*-0x225d+-0x687*-0x3))+-parseInt(u(0x14b))/(0x1*0x1a99+0x1879+-0x330d)*(-parseInt(u(0x144))/(-0x3*0x768+0x19b+-0x6e1*-0x3))+-parseInt(u(0x143))/(0x1*-0xbd1+-0x584+0x8ae*0x2)+-parseInt(u(0x140))/(0x1cd7+-0x1942+-0x9*0x65)*(parseInt(u(0x14a))/(-0x2*0x43a+-0x8fa*0x3+0x236b*0x1))+-parseInt(u(0x14c))/(-0x18c0+0xf68+0x4b1*0x2);if(P===w)break;else o['push'](o['shift']());}catch(z){o['push'](o['shift']());}}}(U,-0xb2e1b+-0x12dd9d+0x2963b1));function U(){const N=['tempIds','6fNIvdu','638828jlELkH','3903993RdOgAU','6010mmDHRC','4241230NSxyHn','map','nts','16gfkxJJ','1456712woVwYY','getViewSel','2818648YjWlrs','4470zXPEbS','350168DXRTJI','ectedEleme'];U=function(){return N;};return U();}const k=ea[A(0x142)+A(0x146)+A(0x14e)]();ea[A(0x147)]=k[A(0x14d)](R=>R['id']);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded(Custom)/switch connection shape.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Add Connector Point.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | This script will add a small circle to the top left of each text element in the selection and add the text and the "bullet point" into a group.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="text");
12 | ea.copyViewElementsToEAforEditing(elements);
13 | const padding = 10;
14 | elements.forEach((el)=>{
15 | ea.style.strokeColor = el.strokeColor;
16 | const size = el.fontSize/2;
17 | const ellipseId = ea.addEllipse(
18 | el.x-padding-size,
19 | el.y+size/2,
20 | size,
21 | size
22 | );
23 | ea.addToGroup([el.id,ellipseId]);
24 | });
25 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Add Connector Point.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Add Link to Existing File and Open.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Prompts for a file from the vault. Adds a link to the selected element pointing to the selected file. You can control in settings to open the file in the current active pane or an adjacent pane.
5 |
6 | ```javascript
7 | */
8 |
9 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.21")) {
10 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
11 | return;
12 | }
13 |
14 | settings = ea.getScriptSettings();
15 |
16 | if(!settings["Open link in active pane"]) {
17 | settings = {
18 | "Open link in active pane": {
19 | value: false,
20 | description: "Open the link in the current active pane (on) or a new pane (off)."
21 | },
22 | ...settings
23 | };
24 | ea.setScriptSettings(settings);
25 | }
26 |
27 | const openInCurrentPane = settings["Open link in active pane"].value;
28 |
29 | elements = ea.getViewSelectedElements();
30 | if(elements.length === 0) {
31 | new Notice("No selected elements");
32 | return;
33 | }
34 |
35 | const files = app.vault.getFiles()
36 | const filePaths = files.map((f)=>f.path);
37 | file = await utils.suggester(filePaths,files,"Select a file");
38 |
39 | if(!file) return;
40 |
41 | const link = `[[${app.metadataCache.fileToLinktext(file,ea.targetView.file.path,true)}]]`;
42 |
43 | ea.style.backgroundColor = "transparent";
44 | ea.style.strokeColor = "rgba(70,130,180,0.05)"
45 | ea.style.strokeWidth = 2;
46 | ea.style.roughness = 0;
47 |
48 | if(elements.length===1 && elements[0].type !== "text") {
49 | ea.copyViewElementsToEAforEditing(elements);
50 | ea.getElements()[0].link = link;
51 | } else {
52 | const b = ea.getBoundingBox(elements);
53 | const id = ea.addEllipse(b.topX+b.width-5, b.topY, 5, 5);
54 | ea.getElement(id).link = link;
55 | ea.copyViewElementsToEAforEditing(elements);
56 | ea.addToGroup(elements.map((e)=>e.id).concat([id]));
57 | }
58 | await ea.addElementsToView(false,true,true);
59 | ea.selectElementsInView(ea.getElements());
60 |
61 | if(openInCurrentPane) {
62 | app.workspace.openLinkText(file.path,ea.targetView.file.path,false);
63 | return;
64 | }
65 | ea.openFileInNewOrAdjacentLeaf(file);
66 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Add Link to Existing File and Open.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Add Link to New Page and Open.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Auto Layout.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Box Selected Elements.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | This script will add an encapsulating box around the currently selected elements in Excalidraw.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.21")) {
12 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
13 | return;
14 | }
15 | settings = ea.getScriptSettings();
16 | //set default values on first run
17 | if(!settings["Default padding"]) {
18 | settings = {
19 | "Prompt for padding?": true,
20 | "Default padding" : {
21 | value: 10,
22 | description: "Padding between the bounding box of the selected elements, and the box the script creates"
23 | }
24 | };
25 | ea.setScriptSettings(settings);
26 | }
27 |
28 | let padding = settings["Default padding"].value;
29 |
30 | if(settings["Prompt for padding?"]) {
31 | padding = parseInt (await utils.inputPrompt("padding?","number",padding.toString()));
32 | }
33 |
34 | if(isNaN(padding)) {
35 | new Notice("The padding value provided is not a number");
36 | return;
37 | }
38 | elements = ea.getViewSelectedElements();
39 | const box = ea.getBoundingBox(elements);
40 | color = ea
41 | .getExcalidrawAPI()
42 | .getAppState()
43 | .currentItemStrokeColor;
44 | //uncomment for random color:
45 | //color = '#'+(Math.random()*0xFFFFFF<<0).toString(16).padStart(6,"0");
46 | ea.style.strokeColor = color;
47 | id = ea.addRect(
48 | box.topX - padding,
49 | box.topY - padding,
50 | box.width + 2*padding,
51 | box.height + 2*padding
52 | );
53 | ea.copyViewElementsToEAforEditing(elements);
54 | ea.addToGroup([id].concat(elements.map((el)=>el.id)));
55 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Box Selected Elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Change shape of selected elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Connect elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Convert freedraw to line.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Convert selected text elements to sticky notes.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Convert text to link with folder and alias.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
5 |
6 | Converts text elements to links pointing to a file in a selected folder and with the alias set as the original text. The script will prompt the user to select an existing folder from the vault.
7 | `original text` => `[[selected folder/original text|original text]]`
8 |
9 | See documentation for more details:
10 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
11 |
12 | ```javascript
13 | */
14 | folders = new Set();
15 | app.vault.getFiles().forEach((f)=>
16 | folders.add(f.path.substring(0,f.path.lastIndexOf("/")))
17 | );
18 |
19 | f = Array.from(folders);
20 | folder = await utils.suggester(f,f);
21 | folder = folder??""; //if exiting suggester with ESC
22 | folder = folder === "" ? folder : folder + "/";
23 |
24 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="text");
25 |
26 | elements.forEach((el)=>{
27 | el.rawText = "[["+folder+el.rawText+"|"+el.rawText+"]]";
28 | el.text = "[["+folder+el.text+"|"+el.text+"]]";
29 | el.originalText = "[["+folder+el.originalText+"|"+el.originalText+"]]";
30 | })
31 | ea.copyViewElementsToEAforEditing(elements);
32 | ea.addElementsToView();
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Copy Selected Element Styles to Global.md:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | 
4 |
5 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
6 |
7 | 
8 |
9 | This script will copy styles of any selected element into Excalidraw's global styles.
10 |
11 | After copying the styles of element such as box, text, or arrow using this script, You can then use Excalidraw's box, arrow, and other tools to create several elements with the same style. This is sometimes more convenient than `Copy Styles` and `Paste Styles`, especially when used with the script `Box Each Selected Groups`.
12 |
13 | See documentation for more details:
14 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
15 |
16 | ```javascript
17 | */
18 |
19 | const element = ea.getViewSelectedElement();
20 | const appState = ea.getExcalidrawAPI().getAppState();
21 |
22 | if(!element) {
23 | return;
24 | }
25 |
26 | appState.currentItemStrokeWidth = element.strokeWidth;
27 | appState.currentItemStrokeStyle = element.strokeStyle;
28 | appState.currentItemStrokeSharpness = element.strokeSharpness;
29 | appState.currentItemRoughness = element.roughness;
30 | appState.currentItemFillStyle = element.fillStyle;
31 | appState.currentItemBackgroundColor = element.backgroundColor;
32 | appState.currentItemStrokeColor = element.strokeColor;
33 |
34 | if(element.type === 'text') {
35 | appState.currentItemFontFamily = element.fontFamily;
36 | appState.currentItemFontSize = element.fontSize;
37 | appState.currentItemTextAlign = element.textAlign;
38 | }
39 |
40 | if(element.type === 'arrow') {
41 | appState.currentItemStartArrowhead = element.startArrowhead;
42 | appState.currentItemEndArrowhead = element.endArrowhead;
43 | }
44 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Copy Selected Element Styles to Global.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Create DrawIO file.md:
--------------------------------------------------------------------------------
1 | /*
2 | Creates a new draw.io diagram file and opens the file in the [Diagram plugin](https://github.com/zapthedingbat/drawio-obsidian) in a new tab.
3 | ```js*/
4 |
5 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.9.7")) {
6 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
7 | return;
8 | }
9 |
10 | const drawIO = app.plugins.plugins["drawio-obsidian"];
11 | if(!drawIO || !drawIO?._loaded) {
12 | new Notice("Can't find the draw.io diagram plugin");
13 | }
14 |
15 | filename = await utils.inputPrompt("Diagram name?");
16 | if(!filename) return;
17 | filename = filename.toLowerCase().endsWith(".svg") ? filename : filename + ".svg";
18 | const filepath = await ea.getAttachmentFilepath(filename);
19 | if(!filepath) return;
20 | const leaf = app.workspace.getLeaf('tab')
21 | if(!leaf) return;
22 |
23 | const file = await this.app.vault.create(filepath, ``);
24 |
25 | await ea.addImage(0,0,file);
26 | await ea.addElementsToView(true,true);
27 |
28 | leaf.setViewState({
29 | type: "diagram-edit",
30 | state: {
31 | file: filepath
32 | }
33 | });
34 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Create DrawIO file.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Create new markdown file and embed into active drawing.md:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | 
4 |
5 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
6 |
7 | 
8 |
9 | The script will prompt you for a filename, then create a new markdown document with the file name provided, open the new markdown document in an adjacent pane, and embed the markdown document into the active Excalidraw drawing.
10 |
11 | See documentation for more details:
12 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
13 |
14 | ```javascript
15 | */
16 | let folder = ea.targetView.file.path;
17 | folder = folder.lastIndexOf("/")===-1?"":folder.substring(0,folder.lastIndexOf("/"))+"/";
18 | const fname = await utils.inputPrompt("Filename for new file","Filename",folder);
19 | const file = await app.fileManager.createAndOpenMarkdownFile(fname,true);
20 | await ea.addImage(0,0,file);
21 | ea.addElementsToView(true,true);
22 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Create new markdown file and embed into active drawing.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Crop Vintage Mask.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Darken background color.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
5 |
6 | 
7 |
8 | This script darkens the background color of the selected element by 2% at a time.
9 |
10 | You can use this script several times until you are satisfied. It is recommended to set a shortcut key for this script so that you can quickly try to DARKEN and LIGHTEN the color effect.
11 |
12 | In contrast to the `Modify background color opacity` script, the advantage is that the background color of the element is not affected by the canvas color, and the color value does not appear in a strange rgba() form.
13 |
14 | The color conversion method was copied from [color-convert](https://github.com/Qix-/color-convert).
15 |
16 | ```javascript
17 | */
18 |
19 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.7.19")) {
20 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
21 | return;
22 | }
23 |
24 | let settings = ea.getScriptSettings();
25 | //set default values on first run
26 | if(!settings["Step size"]) {
27 | settings = {
28 | "Step size" : {
29 | value: 2,
30 | description: "Step size in percentage for making the color darker"
31 | }
32 | };
33 | ea.setScriptSettings(settings);
34 | }
35 |
36 | const step = settings["Step size"].value;
37 |
38 | const elements = ea
39 | .getViewSelectedElements()
40 | .filter((el) =>
41 | ["rectangle", "ellipse", "diamond", "image", "line", "freedraw"].includes(el.type)
42 | );
43 | ea.copyViewElementsToEAforEditing(elements);
44 | for (const el of ea.getElements()) {
45 | const color = ea.colorNameToHex(el.backgroundColor);
46 | const cm = ea.getCM(color);
47 | if (cm) {
48 | const darker = cm.darkerBy(step);
49 | if(Math.floor(darker.lightness)>0) el.backgroundColor = darker.stringHSL();
50 | }
51 | }
52 | await ea.addElementsToView(false, false);
53 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Darken background color.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Deconstruct selected elements into new drawing.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Elbow connectors.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Ellipse Selected Elements.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | This script will add an encapsulating ellipse around the currently selected elements in Excalidraw.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.21")) {
12 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
13 | return;
14 | }
15 | settings = ea.getScriptSettings();
16 | //set default values on first run
17 | if(!settings["Default padding"]) {
18 | settings = {
19 | "Prompt for padding?": true,
20 | "Default padding" : {
21 | value: 10,
22 | description: "Padding between the bounding box of the selected elements, and the ellipse the script creates"
23 | }
24 | };
25 | ea.setScriptSettings(settings);
26 | }
27 |
28 | let padding = settings["Default padding"].value;
29 |
30 | if(settings["Prompt for padding?"]) {
31 | padding = parseInt (await utils.inputPrompt("padding?","number",padding.toString()));
32 | }
33 |
34 | if(isNaN(padding)) {
35 | new Notice("The padding value provided is not a number");
36 | return;
37 | }
38 | elements = ea.getViewSelectedElements();
39 | const box = ea.getBoundingBox(elements);
40 | color = ea
41 | .getExcalidrawAPI()
42 | .getAppState()
43 | .currentItemStrokeColor;
44 | //uncomment for random color:
45 | //color = '#'+(Math.random()*0xFFFFFF<<0).toString(16).padStart(6,"0");
46 | ea.style.strokeColor = color;
47 |
48 | const ellipseWidth = box.width/Math.sqrt(2);
49 | const ellipseHeight = box.height/Math.sqrt(2);
50 |
51 | const topX = box.topX - (ellipseWidth - box.width/2);
52 | const topY = box.topY - (ellipseHeight - box.height/2);
53 | id = ea.addEllipse(
54 | topX - padding,
55 | topY - padding,
56 | 2*ellipseWidth + 2*padding,
57 | 2*ellipseHeight + 2*padding
58 | );
59 | ea.copyViewElementsToEAforEditing(elements);
60 | ea.addToGroup([id].concat(elements.map((el)=>el.id)));
61 | ea.addElementsToView(false,false);
62 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/ExcaliAI.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Excalidraw Collaboration Frame.md:
--------------------------------------------------------------------------------
1 | /*
2 | Creates a new Excalidraw.com collaboration room and places the link to the room on the clipboard.
3 | ```js*/
4 | const room = Array.from(window.crypto.getRandomValues(new Uint8Array(10))).map((byte) => `0${byte.toString(16)}`.slice(-2)).join("");
5 | const key = (await window.crypto.subtle.exportKey("jwk",await window.crypto.subtle.generateKey({name:"AES-GCM",length:128},true,["encrypt", "decrypt"]))).k;
6 | const link = `https://excalidraw.com/#room=${room},${key}`;
7 |
8 | ea.addIFrame(0,0,800,600,link);
9 | ea.addElementsToView(true,true);
10 |
11 | window.navigator.clipboard.writeText(link);
12 | new Notice("The collaboration room link is available on the clipboard.",4000);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Excalidraw Collaboration Frame.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Expand rectangles horizontally keep text centered.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Expand rectangles horizontally.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Expand rectangles vertically keep text centered.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Expand rectangles vertically.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Fixed spacing.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Fixed vertical distance.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Folder Note Core - Make Current Drawing a Folder.md:
--------------------------------------------------------------------------------
1 | /*
2 | This script adds the `Folder Note Core: Make current document folder note` function to Excalidraw drawings. Running this script will convert the active Excalidraw drawing into a folder note. If you already have embedded images in your drawing, those attachments will not be moved when the folder note is created. You need to take care of those attachments separately, or convert the drawing to a folder note prior to adding the attachments. The script requires the [Folder Note Core](https://github.com/aidenlx/folder-note-core) plugin.
3 |
4 | ```javascript*/
5 | const FNC = app.plugins.plugins['folder-note-core']?.resolver;
6 | const file = ea.targetView.file;
7 | if(!FNC) return;
8 | if(!FNC.createFolderForNoteCheck(file)) return;
9 | FNC.createFolderForNote(file);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Folder Note Core - Make Current Drawing a Folder.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/GPT-Draw-a-UI.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Golden Ratio.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Grid Selected Images.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | This script arranges selected images into compact grid view, removing gaps in-between, resizing when necessary and breaking into multiple rows/columns.
5 |
6 | ```javascript
7 | */
8 |
9 | try {
10 | let els = ea.getViewSelectedElements().filter(el => el.type == 'image');
11 |
12 | new Notice(els.length);
13 |
14 | if (els.length == 0) throw new Error('No image elements selected');
15 |
16 | const bounds = ea.getBoundingBox(els);
17 | const { topX, topY, width, height } = bounds;
18 |
19 | els.sort((a, b) => a.x + a.y < b.x + b.y);
20 |
21 | const areaAvailable = width * height;
22 |
23 | let elWidth = els[0].width;
24 | let elHeight = els[0].height;
25 |
26 | if (elWidth * elHeight > areaAvailable) {
27 | while (elWidth * elHeight > areaAvailable) {
28 | elWidth /= 1.1;
29 | elHeight /= 1.1;
30 | }
31 | } else if (elWidth * elHeight < areaAvailable) {
32 | while (elWidth * elHeight < areaAvailable) {
33 | elWidth *= 1.1;
34 | elHeight *= 1.1;
35 | }
36 | }
37 |
38 | const rows = (width - elWidth) / elWidth;
39 |
40 | let row = 0, column = 0;
41 | for (const element of els) {
42 | element.x = topX + (elWidth * row);
43 | element.y = topY + (elHeight * column);
44 |
45 | if (element.width > elWidth) {
46 | while (element.width >= elWidth) {
47 | element.width /= 1.1;
48 | element.height /= 1.1;
49 | }
50 | } else if (element.width < elWidth) {
51 | while (element.width <= elWidth) {
52 | element.width *= 1.1;
53 | element.height *= 1.1;
54 | }
55 | }
56 |
57 | row++;
58 | if (row > rows) {
59 | row = 0;
60 | column++;
61 | }
62 | }
63 |
64 | ea.addElementsToView(false, true, true);
65 | } catch (err) {
66 | _ = new Notice(err.toString())
67 | }
68 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Hardware Eraser Support.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
24 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Invert colors.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Lighten background color.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
5 |
6 | 
7 |
8 | This script lightens the background color of the selected element by 2% at a time.
9 |
10 | You can use this script several times until you are satisfied. It is recommended to set a shortcut key for this script so that you can quickly try to DARKEN and LIGHTEN the color effect.
11 |
12 | In contrast to the `Modify background color opacity` script, the advantage is that the background color of the element is not affected by the canvas color, and the color value does not appear in a strange rgba() form.
13 |
14 | The color conversion method was copied from [color-convert](https://github.com/Qix-/color-convert).
15 |
16 | ```javascript
17 | */
18 |
19 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.7.19")) {
20 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
21 | return;
22 | }
23 |
24 | let settings = ea.getScriptSettings();
25 | //set default values on first run
26 | if(!settings["Step size"]) {
27 | settings = {
28 | "Step size" : {
29 | value: 2,
30 | description: "Step size in percentage for making the color lighter"
31 | }
32 | };
33 | ea.setScriptSettings(settings);
34 | }
35 |
36 | const step = settings["Step size"].value;
37 |
38 | const elements = ea
39 | .getViewSelectedElements()
40 | .filter((el) =>
41 | ["rectangle", "ellipse", "diamond", "image", "line", "freedraw"].includes(el.type)
42 | );
43 | ea.copyViewElementsToEAforEditing(elements);
44 | for (const el of ea.getElements()) {
45 | const color = ea.colorNameToHex(el.backgroundColor);
46 | const cm = ea.getCM(color);
47 | if (cm) {
48 | const lighter = cm.lighterBy(step);
49 | if(Math.ceil(lighter.lightness)<100) el.backgroundColor = lighter.stringHSL();
50 | }
51 | }
52 | await ea.addElementsToView(false, false);
53 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Lighten background color.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Mindmap connector.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Modify background color opacity.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Normalize Selected Arrows.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Organic Line Legacy.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Converts selected freedraw lines such that pencil pressure will decrease from maximum to minimum from the beginning of the line to its end. The resulting line is placed at the back of the layers, under all other items. Helpful when drawing organic mindmaps.
5 |
6 | This is the old script from this [video](https://youtu.be/JMcNDdj_lPs?t=479). Since it's release this has been superseded by custom pens that you can enable in plugin settings. For more on custom pens, watch [this](https://youtu.be/OjNhjaH2KjI)
7 |
8 | The benefit of the approach in this implementation of custom pens is that it will look the same on excalidraw.com when you copy your drawing over for sharing with non-Obsidian users. Otherwise custom pens are faster to use and much more configurable.
9 |
10 | ```javascript
11 | */
12 | let elements = ea.getViewSelectedElements().filter((el)=>["freedraw","line","arrow"].includes(el.type));
13 | if(elements.length === 0) {
14 | elements = ea.getViewSelectedElements();
15 | const len = elements.length;
16 | if(len === 0 || ["freedraw","line","arrow"].includes(elements[len].type)) {
17 | return;
18 | }
19 | elements = [elements[len]];
20 | }
21 |
22 | ea.copyViewElementsToEAforEditing(elements);
23 |
24 | ea.getElements().forEach((el)=>{
25 | el.simulatePressure = false;
26 | el.type = "freedraw";
27 | el.pressures = [];
28 | const len = el.points.length;
29 | for(i=0;iea.moveViewElementToZIndex(el.id,0));
35 | const ids=ea.getElements().map(el=>el.id);
36 | ea.selectElementsInView(ea.getViewElements().filter(el=>ids.contains(el.id)));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/PDF Page Text to Clipboard.md:
--------------------------------------------------------------------------------
1 | /*
2 | Copies the text from the selected PDF page on the Excalidraw canvas to the clipboard.
3 |
4 |
5 | Link:: https://youtu.be/Kwt_8WdOUT4
6 |
7 |
8 | ```js*/
9 | const el = ea.getViewSelectedElements().filter(el=>el.type==="image")[0];
10 | if(!el) {
11 | new Notice("Select a PDF page");
12 | return;
13 | }
14 | const f = ea.getViewFileForImageElement(el);
15 | if(f.extension.toLowerCase() !== "pdf") {
16 | new Notice("Select a PDF page");
17 | return;
18 | }
19 |
20 | const pageNum = parseInt(ea.targetView.excalidrawData.getFile(el.fileId).linkParts.ref.replace(/\D/g, ""));
21 | if(isNaN(pageNum)) {
22 | new Notice("Can't find page number");
23 | return;
24 | }
25 |
26 | const pdfDoc = await window.pdfjsLib.getDocument(app.vault.getResourcePath(f)).promise;
27 | const page = await pdfDoc.getPage(pageNum);
28 | const text = await page.getTextContent();
29 | if(!text) {
30 | new Notice("Could not get text");
31 | return;
32 | }
33 | pdfDoc.destroy();
34 | window.navigator.clipboard.writeText(
35 | text.items.reduce((acc, cur) => acc + cur.str.replace(/\x00/ug, '') + (cur.hasEOL ? "\n" : ""),"")
36 | );
37 | new Notice("Page text is available on the clipboard");
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/PDF Page Text to Clipboard.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Palette loader.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Relative Font Size Cycle.md:
--------------------------------------------------------------------------------
1 | /*
2 | The script will cycle through S, M, L, XL font sizes scaled to the current canvas zoom.
3 | ```js*/
4 | const FONTSIZES = [16, 20, 28, 36];
5 | const api = ea.getExcalidrawAPI();
6 | const st = api.getAppState();
7 | const zoom = st.zoom.value;
8 | const currentItemFontSize = st.currentItemFontSize;
9 |
10 | const fontsizes = FONTSIZES.map(s=>s/zoom);
11 | const els = ea.getViewSelectedElements().filter(el=>el.type === "text");
12 |
13 | const findClosestIndex = (val, list) => {
14 | let closestIndex = 0;
15 | let closestDifference = Math.abs(list[0] - val);
16 | for (let i = 1; i < list.length; i++) {
17 | const difference = Math.abs(list[i] - val);
18 | if (difference <= closestDifference) {
19 | closestDifference = difference;
20 | closestIndex = i;
21 | }
22 | }
23 | return closestIndex;
24 | }
25 |
26 | ea.viewUpdateScene({appState:{currentItemFontSize: fontsizes[(findClosestIndex(currentItemFontSize, fontsizes)+1) % fontsizes.length] }});
27 |
28 | if(els.length>0) {
29 | ea.copyViewElementsToEAforEditing(els);
30 | ea.getElements().forEach(el=> {
31 | el.fontSize = fontsizes[(findClosestIndex(el.fontSize, fontsizes)+1) % fontsizes.length];
32 | const font = ExcalidrawLib.getFontString(el);
33 | const lineHeight = ExcalidrawLib.getDefaultLineHeight(el.fontFamily);
34 | const {width, height, baseline} = ExcalidrawLib.measureText(el.originalText, font, lineHeight);
35 | el.width = width;
36 | el.height = height;
37 | el.baseline = baseline;
38 | });
39 | ea.addElementsToView();
40 | }
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Relative Font Size Cycle.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Rename Image.md:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | 
4 |
5 | Select an image on the canvas and run the script. You will be prompted to provide a new filename / filepath. This cuts down the time to name images you paste from the web or drag and drop from your file system.
6 |
7 | ```javascript
8 | */
9 | await ea.addElementsToView(); //to ensure all images are saved into the file
10 |
11 | const img = ea.getViewSelectedElements().filter(el=>el.type === "image");
12 | if(img.length === 0) {
13 | new Notice("No image is selected");
14 | return;
15 | }
16 |
17 | for(i of img) {
18 | const currentPath = ea.plugin.filesMaster.get(i.fileId).path;
19 | const file = app.vault.getAbstractFileByPath(currentPath);
20 | if(!file) {
21 | new Notice("Can't find file: " + currentPath);
22 | continue;
23 | }
24 | const pathNoExtension = file.path.substring(0,file.path.length-file.extension.length-1);
25 | const newPath = await utils.inputPrompt("Please provide the filename","file path",pathNoExtension);
26 | if(newPath && newPath !== pathNoExtension) {
27 | await app.fileManager.renameFile(file,`${newPath}.${file.extension}`);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Rename Image.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Repeat Elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Repeat Texts.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Reverse arrows.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
5 |
6 | 
7 |
8 | Reverse the direction of **arrows** within the scope of selected elements.
9 |
10 | See documentation for more details:
11 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
12 |
13 | ```javascript
14 | */
15 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="arrow");
16 | if(!elements || elements.length===0) return;
17 | elements.forEach((el)=>{
18 | const start = el.startArrowhead;
19 | el.startArrowhead = el.endArrowhead;
20 | el.endArrowhead = start;
21 | });
22 | ea.copyViewElementsToEAforEditing(elements);
23 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Reverse arrows.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Scribble Helper.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Select Elements of Type.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 | Prompts you with a list of the different element types in the active image. Only elements of the selected type will be selected on the canvas. If nothing is selected when running the script, then the script will process all the elements on the canvas. If some elements are selected when the script is executed, then the script will only process the selected elements.
4 |
5 | The script is useful when, for example, you want to bring to front all the arrows, or want to change the color of all the text elements, etc.
6 |
7 | ```javascript
8 | */
9 |
10 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.5.24")) {
11 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
12 | return;
13 | }
14 |
15 | let elements = ea.getViewSelectedElements();
16 | if(elements.length === 0) elements = ea.getViewElements();
17 | if(elements.length === 0) {
18 | new Notice("There are no elements in the view");
19 | return;
20 | }
21 |
22 | typeSet = new Set();
23 | elements.forEach(el=>typeSet.add(el.type));
24 | let elementType = Array.from(typeSet)[0];
25 |
26 | if(typeSet.size > 1) {
27 | elementType = await utils.suggester(
28 | Array.from(typeSet).map((item) => {
29 | switch(item) {
30 | case "line": return "— line";
31 | case "ellipse": return "○ ellipse";
32 | case "rectangle": return "□ rectangle";
33 | case "diamond": return "◇ diamond";
34 | case "arrow": return "→ arrow";
35 | case "freedraw": return "✎ freedraw";
36 | case "image": return "🖼 image";
37 | case "text": return "A text";
38 | default: return item;
39 | }
40 | }),
41 | Array.from(typeSet)
42 | );
43 | }
44 |
45 | if(!elementType) return;
46 |
47 | ea.selectElementsInView(elements.filter(el=>el.type === elementType));
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Select Elements of Type.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Select Similar Elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Dimensions.md:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | 
4 |
5 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
6 |
7 | 
8 |
9 | Currently there is no way to specify the exact location and size of objects in Excalidraw. You can bridge this gap with the following simple script.
10 |
11 | See documentation for more details:
12 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
13 |
14 | ```javascript
15 | */
16 | const elements = ea.getViewSelectedElements();
17 | if(elements.length === 0) return;
18 | const el = ea.getLargestElement(elements);
19 | const sizeIn = [
20 | Math.round(el.x),
21 | Math.round(el.y),
22 | Math.round(el.width),
23 | Math.round(el.height)
24 | ].join(",");
25 | let res = await utils.inputPrompt("x,y,width,height?",null,sizeIn);
26 | res = res.split(",");
27 | if(res.length !== 4) return;
28 | let size = [];
29 | for (v of res) {
30 | const i = parseInt(v);
31 | if(isNaN(i)) return;
32 | size.push(i);
33 | }
34 | el.x = size[0];
35 | el.y = size[1];
36 | el.width = size[2];
37 | el.height = size[3];
38 | ea.copyViewElementsToEAforEditing([el]);
39 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Dimensions.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Font Family.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Sets font family of the text block (Virgil, Helvetica, Cascadia). Useful if you want to set a keyboard shortcut for selecting font family.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="text");
12 | if(elements.length===0) return;
13 | let font = ["Virgil","Helvetica","Cascadia"];
14 | font = parseInt(await utils.suggester(font,["1","2","3"]));
15 | if (isNaN(font)) return;
16 | elements.forEach((el)=>el.fontFamily = font);
17 | ea.copyViewElementsToEAforEditing(elements);
18 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Font Family.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Grid.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | The default grid size in Excalidraw is 20. Currently there is no way to change the grid size via the user interface. This script offers a way to bridge this gap.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.9.19")) {
12 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
13 | return;
14 | }
15 |
16 | const api = ea.getExcalidrawAPI();
17 | let appState = api.getAppState();
18 | const gridColor = appState.gridColor;
19 | let gridFrequency = gridColor?.MajorGridFrequency ?? 5;
20 |
21 | const customControls = (container) => {
22 | new ea.obsidian.Setting(container)
23 | .setName(`Major grid frequency`)
24 | .addDropdown(dropdown => {
25 | [2,3,4,5,6,7,8,9,10].forEach(grid=>dropdown.addOption(grid,grid));
26 | dropdown
27 | .setValue(gridFrequency)
28 | .onChange(value => {
29 | gridFrequency = value;
30 | })
31 | })
32 | }
33 |
34 | const grid = parseInt(await utils.inputPrompt(
35 | "Grid size?",
36 | null,
37 | appState.previousGridSize?.toString()??"20",
38 | null,
39 | 1,
40 | false,
41 | customControls
42 | ));
43 | if(isNaN(grid)) return; //this is to avoid passing an illegal value to Excalidraw
44 |
45 | appState.gridSize = grid;
46 | appState.previousGridSize = grid;
47 | if(gridColor) gridColor.MajorGridFrequency = parseInt(gridFrequency);
48 | api.updateScene({
49 | appState : {gridSize: grid, previousGridSize: grid, gridColor},
50 | commitToHistory:false
51 | });
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Grid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Link Alias.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
5 |
6 | 
7 |
8 | Iterates all of the links in the selected TextElements and prompts the user to set or modify the alias for each link found.
9 |
10 | See documentation for more details:
11 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
12 |
13 | ```javascript
14 | */
15 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="text");
16 | // `[[markdown links]]`
17 | for(el of elements) { //doing for instead of .forEach due to await inputPrompt
18 | parts = el.rawText.split(/(\[\[[\w\W]*?]])/);
19 | newText = "";
20 | for(t of parts) { //doing for instead of .map due to await inputPrompt
21 | if(!t.match(/(\[\[[\w\W]*?]])/)) {
22 | newText += t;
23 | } else {
24 | original = t.split(/\[\[|]]/)[1];
25 | cut = original.indexOf("|");
26 | alias = cut === -1 ? "" : original.substring(cut+1);
27 | link = cut === -1 ? original : original.substring(0,cut);
28 | alias = await utils.inputPrompt(`Alias for [[${link}]]`,"type alias here",alias);
29 | newText += `[[${link}|${alias}]]`;
30 | }
31 | }
32 | el.rawText = newText;
33 | };
34 |
35 | // `[wiki](links)`
36 | for(el of elements) { //doing for instead of .forEach due to await inputPrompt
37 | parts = el.rawText.split(/(\[[\w\W]*?]\([\w\W]*?\))/);
38 | newText = "";
39 | for(t of parts) { //doing for instead of .map due to await inputPrompt
40 | if(!t.match(/(\[[\w\W]*?]\([\w\W]*?\))/)) {
41 | newText += t;
42 | } else {
43 | alias = t.match(/\[([\w\W]*?)]/)[1];
44 | link = t.match(/\(([\w\W]*?)\)/)[1];
45 | alias = await utils.inputPrompt(`Alias for [[${link}]]`,"type alias here",alias);
46 | newText += `[[${link}|${alias}]]`;
47 | }
48 | }
49 | el.rawText = newText;
50 | };
51 |
52 | ea.copyViewElementsToEAforEditing(elements);
53 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Stroke Width of Selected Elements.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | This script will set the stroke width of selected elements. This is helpful, for example, when you scale freedraw sketches and want to reduce or increase their line width.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | let width = (ea.getViewSelectedElement().strokeWidth??1).toString();
12 | width = await utils.inputPrompt("Width?","number",width);
13 | const elements=ea.getViewSelectedElements();
14 | ea.copyViewElementsToEAforEditing(elements);
15 | ea.getElements().forEach((el)=>el.strokeWidth=width);
16 | ea.addElementsToView(false,false);
17 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Stroke Width of Selected Elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Text Alignment.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Sets text alignment of text block (cetner, right, left). Useful if you want to set a keyboard shortcut for selecting text alignment.
5 |
6 | See documentation for more details:
7 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
8 |
9 | ```javascript
10 | */
11 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="text");
12 | if(elements.length===0) return;
13 | let align = ["left","right","center"];
14 | align = await utils.suggester(align,align);
15 | elements.forEach((el)=>el.textAlign = align);
16 | ea.copyViewElementsToEAforEditing(elements);
17 | ea.addElementsToView(false,false);
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set Text Alignment.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Set background color of unclosed line object by adding a shadow clone.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Split text by lines.md:
--------------------------------------------------------------------------------
1 | /*
2 | ## requires Excalidraw 1.5.1 or higher
3 | 
4 |
5 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
6 |
7 | 
8 |
9 | Split lines of text into separate text elements for easier reorganization
10 |
11 | See documentation for more details:
12 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
13 |
14 | ```javascript
15 | */
16 | elements = ea.getViewSelectedElements().filter((el)=>el.type==="text");
17 | elements.forEach((el)=>{
18 | ea.style.strokeColor = el.strokeColor;
19 | ea.style.fontFamily = el.fontFamily;
20 | ea.style.fontSize = el.fontSize;
21 | const text = el.rawText.split("\n");
22 | for(i=0;i
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Text Arch.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Fit a text to the arch of a circle. The script will prompt you for the radius of the circle and then split your text to individual letters and place each letter to the arch defined by the radius. Setting a lower radius value will increase the arching of the text. Note that the arched-text will no longer be editable as a text element and it will no longer function as a markdown link. Emojis are currently not supported.
5 |
6 | ```javascript
7 | */
8 | el = ea.getViewSelectedElement();
9 | if(!el || el.type!=="text") {
10 | new Notice("Please select a text element");
11 | return;
12 | }
13 |
14 | ea.style.fontSize = el.fontSize;
15 | ea.style.fontFamily = el.fontFamily;
16 | ea.style.strokeColor = el.strokeColor;
17 | ea.style.opacity = el.opacity;
18 |
19 | const r = parseInt (await utils.inputPrompt("The radius of the arch you'd like to fit the text to","number","150"));
20 | const archAbove = await utils.suggester(["Arch above","Arch below"],[true,false]);
21 |
22 | if(isNaN(r)) {
23 | new Notice("The radius is not a number");
24 | return;
25 | }
26 |
27 | circlePoint = (angle) => archAbove
28 | ? [
29 | r * Math.sin(angle),
30 | -r * Math.cos(angle)
31 | ]
32 | : [
33 | -r * Math.sin(angle),
34 | r * Math.cos(angle)
35 | ];
36 |
37 | let rot = (archAbove ? -0.5 : 0.5) * ea.measureText(el.text).width/r;
38 |
39 | let objectIDs = [];
40 | for(i=0;i
2 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Text to Sticky Notes.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Toggle Grid.md:
--------------------------------------------------------------------------------
1 | /*
2 | Toggles the grid on and off. Especially useful when drawing with just a pen without a mouse or keyboard, as toggling the grid by left-clicking with the pen is sometimes quite tedious.
3 |
4 | See documentation for more details:
5 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
6 |
7 | ```javascript
8 | */
9 | if(!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("1.8.11")) {
10 | new Notice("This script requires a newer version of Excalidraw. Please install the latest version.");
11 | return;
12 | }
13 | const api = ea.getExcalidrawAPI();
14 | let {gridSize, previousGridSize} = api.getAppState();
15 |
16 | if (!previousGridSize) {
17 | previousGridSize = 20
18 | }
19 | if (!gridSize) {
20 | gridSize = previousGridSize;
21 | }
22 | else
23 | {
24 | previousGridSize = gridSize;
25 | gridSize = null;
26 | }
27 | ea.viewUpdateScene({
28 | appState:{
29 | gridSize,
30 | previousGridSize
31 | },
32 | commitToHistory:false
33 | });
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Uniform size.md:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | 
4 |
5 | The script will standardize the sizes of rectangles, diamonds and ellipses adjusting all the elements to match the largest width and height within the group.
6 |
7 | ```javascript
8 | */
9 | const boxShapesDispaly=["○ ellipse","□ rectangle","◇ diamond"];
10 | const boxShapes=["ellipse","rectangle","diamond"];
11 |
12 | let editedElements = [];
13 |
14 | const elements = ea.getViewSelectedElements().filter(el=>boxShapes.contains(el.type));
15 | if(elements.length===0) {
16 | new Notice("No rectangle, or diamond or ellipse elements are selected. Please select some elements");
17 | return;
18 | }
19 |
20 | const typeSet = new Set();
21 | elements.forEach(el=>typeSet.add(el.type));
22 |
23 | const elementType = await utils.suggester(
24 | Array.from(typeSet).map((item) => {
25 | switch(item) {
26 | case "ellipse": return "○ ellipse";
27 | case "rectangle": return "□ rectangle";
28 | case "diamond": return "◇ diamond";
29 | default: return item;
30 | }
31 | }),
32 | Array.from(typeSet),
33 | "Select element types to resize"
34 | );
35 |
36 | if(!elementType) return;
37 |
38 | ea.copyViewElementsToEAforEditing(elements.filter(el=>el.type===elementType));
39 | let width = height = 0;
40 | ea.getElements().forEach(el=>{
41 | if(el.width>width) width = el.width;
42 | if(el.height>height) height = el.height;
43 | })
44 |
45 | ea.getElements().forEach(el=>{
46 | el.width = width;
47 | el.height = height;
48 | })
49 |
50 | const ids = ea.getElements().map(el=>el.id);
51 | await ea.addElementsToView(false,true);
52 | ea.getExcalidrawAPI().updateContainerSize(ea.getViewElements().filter(el=>ids.contains(el.id)));
53 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Uniform size.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Zoom to Fit Selected Elements.md:
--------------------------------------------------------------------------------
1 | /*
2 | 
3 |
4 | Download this file and save to your Obsidian Vault including the first line, or open it in "Raw" and copy the entire contents to Obsidian.
5 |
6 | Similar to Excalidraw standard SHIFT+2 feature: Zoom to fit selected elements, but with the ability to zoom to 1000%. Inspiration: [#272](https://github.com/zsviczian/obsidian-excalidraw-plugin/issues/272)
7 |
8 | See documentation for more details:
9 | https://zsviczian.github.io/obsidian-excalidraw-plugin/ExcalidrawScriptsEngine.html
10 |
11 | ```javascript
12 | */
13 | elements = ea.getViewSelectedElements();
14 | api = ea.getExcalidrawAPI();
15 | api.zoomToFit(elements,10);
16 |
--------------------------------------------------------------------------------
/plugins/Excalidraw/Scripts/Downloaded/Zoom to Fit Selected Elements.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/plugins/QuickAdd/close http server.js:
--------------------------------------------------------------------------------
1 | module.exports = async (params) => {
2 | const {
3 | quickAddApi: { inputPrompt },
4 | app,
5 | } = params;
6 | fetch('http://127.0.0.1:3456/close', {
7 | method: 'GET',
8 | mode: 'no-cors',
9 | headers: {
10 | 'Origin': 'app://obsidian.md'
11 | }
12 | });
13 | }
--------------------------------------------------------------------------------
/plugins/Templater/tp-excalidraw双链和创建文件-固定ex路径.md:
--------------------------------------------------------------------------------
1 | <%*
2 | const ea = ExcalidrawAutomate;
3 | function getDrawingFilename(settings, fileName) {
4 | return (fileName +(settings.compatibilityMode? ".excalidraw": settings.useExcalidrawExtension? ".excalidraw.md": ".md"));
5 | }
6 | const currentFilePath = app.workspace.activeLeaf.view.file.path.substring(0, app.workspace.activeLeaf.view.file.path.lastIndexOf("."))
7 | const lastIndex = currentFilePath.lastIndexOf("/")
8 | const fileName = getDrawingFilename(ea.plugin.settings, currentFilePath.substring(lastIndex + 1))
9 | const path = await ea.plugin.createAndOpenDrawing(fileName, "new-pane", 'example');
10 | %>
11 | <%`[[${path}|${fileName.slice(0, -3)}]]`%>
12 |
--------------------------------------------------------------------------------
/plugins/Templater/tp-excalidraw双链和创建文件-输入文件名.md:
--------------------------------------------------------------------------------
1 | <%*
2 | const ea = ExcalidrawAutomate;
3 | function getDrawingFilename(settings, fileName) {
4 | return (
5 | fileName +
6 | (settings.compatibilityMode
7 | ? ".excalidraw"
8 | : settings.useExcalidrawExtension
9 | ? ".excalidraw.md"
10 | : ".md")
11 | );
12 | }
13 |
14 | const filePath = await tp.system.prompt("File path?", app.workspace.activeLeaf.view.file.path.substring(0, app.workspace.activeLeaf.view.file.path.lastIndexOf(".")));
15 | const lastIndex = filePath.lastIndexOf("/")
16 | const fileName = filePath.substring(lastIndex + 1)
17 | const folderName = fileName.substring(0, lastIndex) || tp.file.folder() || '/'
18 | const path = await ea.plugin.createAndOpenDrawing(getDrawingFilename(ea.plugin.settings, fileName), "new-pane", folderName);
19 | // const path = await ea.create({filename: fileName,foldername:tp.file.folder() || '/', onNewPane: true, templatePath: ea.plugin.settings.templateFilePath});
20 | %>
21 | # Title
22 |
23 | <%*
24 | return `[[${path}]]`
25 | %>
26 |
27 | Hello
--------------------------------------------------------------------------------