SimpleDraw

approved

by whiteandgrey

A lightweight drawing plugin for simple flowcharts. - This plugin has not been manually reviewed by Obsidian staff.

1 stars229 downloadsUpdated 1mo agoMIT

SimpleDraw

轻量级流程图绘制插件,在 Obsidian 中直接创建和编辑 .simpledraw 文件。
A lightweight flowchart drawing plugin. Create and edit .simpledraw files directly in Obsidian.

version

🖥️ 桌面版已发布! 无需 Obsidian,独立运行。支持窗口分离、系统托盘、原生文件保存。
🖥️ Desktop version now available! Standalone app — no Obsidian needed. Multi-window, system tray, native file save.
🔗 https://github.com/whiteandgrey/SimpleDraw


绘制样例

Drawing Example

img img

使用教程

Usage Guide

画板操作

Canvas

gif

移动:鼠标中键拖拽
Pan: Middle-click drag

缩放:Ctrl + 鼠标滚轮
Zoom: Ctrl + scroll wheel

文本框

Textbox

gif

  1. 点击左上角 T 按钮,在画板点击两次确定位置。
    Click the T button, then click twice on the canvas to place a textbox.
  2. 双击文本框打开编辑器。
    Double-click a textbox to open its editor.
  3. 拖拽四角调整大小。
    Drag the corners to resize.
  4. 锁定:编辑器菜单点击 🔒。解锁:右键文本框 →「解锁」。
    Lock: Click 🔒 in the editor. Unlock: Right-click → "Unlock".

箭头

Arrow

gif

  1. 点击左上角 按钮,在画板点击起点和终点。
    Click the button, then click start and end points on the canvas.
  2. 端点可自动吸附文本框锚点,也可自由放置。
    Endpoints auto-snap to anchors or remain free.
  3. 吸附箭头自动跟随锚点移动。
    Snapped arrows automatically follow anchor movement.
  4. 双击箭头弹出菜单:
    Double-click an arrow to open its menu:
    • 首尾箭头显隐切换
    • Start & End arrow toggle
    • 实线/虚线切换
    • Solid & Dashed toggle
    • T 文字标签开关
    • Label toggle
    • 删除
    • Delete
  5. 方向可通过菜单选择或键盘方向键 ←↑↓→ 切换。
    Direction can be set via the menu or arrow keys.

文字标签

Arrow Label

双击箭头 → 点击 T 按钮 → 箭头中点出现可编辑文字,支持 Markdown,自动跟随箭头移动。
Double-click an arrow → click T → an editable label appears at the midpoint. Supports Markdown and auto-follows the arrow.

开关隐藏/显示(保留内容)。空内容时画布显示灰色提示「请输入 markdown 文本」。
Toggle to hide/show (content is preserved). Shows a placeholder when empty.

选择与编辑

Selection & Editing

选择:单击 / Ctrl+单击多选 / 拖拽框选。
Select: Click / Ctrl+click / drag box select.
复制粘贴:Ctrl+C / Ctrl+V,支持跨文件。
Copy/Paste: Ctrl+C / Ctrl+V, cross-file support.
外部文本:复制文字后到画板 Ctrl+V 自动创建文本框。
External Text: Paste external text on canvas to create a textbox.
删除:选中后按 Delete。
Delete: Select and press Delete.
撤销:Ctrl+Z。
Undo: Ctrl+Z.
重做:Ctrl+Shift+Z。
Redo: Ctrl+Shift+Z.

锚点方案

Anchor Scheme

在设置面板「吸附功能」中切换:
Switch in Settings → Snap:

  • 方案一 Scheme 1(默认):8 锚点(4 角点 + 4 边中点)。8 anchors (4 corners + 4 midpoints).
  • 方案二 Scheme 2:12 锚点(4 边中点 + 8 四分点),仅被箭头连接的四分点参与吸附。12 anchors (4 midpoints + 8 quarter points), only connected quarter points participate in snap.

功能

Features

文本框

Textbox

功能 Feature说明 Description
形状 Shape矩形 / 椭圆 / 菱形 Rectangle / Ellipse / Diamond
内容 ContentMarkdown 渲染(支持数学公式、高亮等)Markdown rendering (math, highlight)
填充 Fill开关切换,线框模式 Toggle, wireframe mode
显隐 Visibility开关隐藏边框和填充 Hide border & fill
文字方向 Writing Mode横排 / 竖排 Horizontal / Vertical
文字对齐 Text Align水平(左/中/右)+ 垂直(上/中/下)Horizontal + Vertical
字号 Font SizeA+ / A- / R 实时调整 Real-time adjustment
Markdown 快捷键Ctrl+B 加粗 / Ctrl+I 斜体 / Ctrl+U 删除线 / Ctrl+Shift+C 代码 / Ctrl+Shift+K 链接 / Ctrl+Shift+H 高亮 / Ctrl+Shift+M 行内公式 / Ctrl+Shift+Alt+M 行外公式
锁定 Lock🔒 锁定后不可编辑、移动、缩放、删除、选择、吸附 Prevents edit, move, resize, delete, select, snap

箭头

Arrow

功能 Feature说明 Description
路由 Routing正交避让(自动绕开文本框)Orthogonal obstacle avoidance
吸附 Snap支持边中点 / 四分点锚点 Edge midpoint / quarter-point anchor
形状 Shape实心三角 / 空心三角 / V 型 / 圆点 Triangle / Open Triangle / V-Shape / Circle
端点控制 Endpoints首尾箭头独立显隐 Start/End arrow toggle
线型 Line Style实线 / 虚线 Solid / Dashed
方向 Direction菜单选择或键盘 ←↑↓→ Menu or arrow keys
文字标签 Label箭头中点 Markdown 文字标签,自动跟随 Markdown label at path midpoint, auto-follows

交互

Interaction

功能 Feature说明 Description
画板 Canvas中键平移,Ctrl+滚轮缩放 Middle-click pan, Ctrl+scroll zoom
选取 Selection单击 / Ctrl+单击多选 / 拖拽框选 Click / Ctrl+click multi / drag box select
移动 Move拖拽文本框 Drag textbox
缩放 Resize拖拽四角 Drag corners
吸附对齐 Alignment Snap拖拽时对齐边线(多优先级系统)Snap to edges with priority system
调整大小吸附 Resize Snap角点拖拽时对齐边线 Corner drag snap to edges
锚点方案 Anchor Scheme8 锚点 / 12 锚点 8 anchors / 12 anchors
撤销/重做 Undo/RedoCtrl+Z / Ctrl+Shift+Z,最多 100 步 Up to 100 steps
复制/粘贴 Copy/PasteCtrl+C/V 跨文件,外部纯文本自动创建文本框 Cross-file, external text → textbox

右键菜单

Context Menu

文本框置顶 / 置底。解锁文本框。
Bring to Front / Send to Back. Unlock textbox.

导出

Export

PNG 导出 — DOM 截图,所见即所得,保留数学公式和代码块。
DOM screenshot, WYSIWYG, preserves math & code blocks.

选项:网格 / 透明背景。
Options: Grid / Transparent background.

多语言

i18n

中文 / English — 设置面板一键切换。
One-click switch in settings.


安装

Installation

  1. 下载 main.jsmanifest.jsonstyles.css
    Download main.js, manifest.json, styles.css.
  2. 复制到 .obsidian/plugins/simple-draw/
    Copy to .obsidian/plugins/simple-draw/.
  3. 在 Obsidian 设置中启用插件。
    Enable the plugin in Obsidian settings.
  4. 在文件夹上右键 →「插入 SimpleDraw」新建 .simpledraw 文件。
    Right-click a folder → "Insert SimpleDraw" to create a .simpledraw file.

设置

Settings

设置项 Setting说明 Description
语言 Language中文 / English
显示画板纹路 Show Grid网格背景 Grid background
箭头线粗细 Arrow Stroke Width1-5px
箭头大小 Arrow Head Size6-20px
箭头形状 Arrow Shape实心三角 / 空心三角 / V 型 / 圆点 Triangle / Open Triangle / V-Shape / Circle
显示箭头连接点 Show Anchor Dots箭头端点小圆点标记 Dot markers at arrow endpoints
默认字号 Default Font Size新文本框默认字号 8-72px
锚点方案 Anchor Scheme8 锚点 / 12 锚点 8 anchors / 12 anchors
吸附预览圆圈大小 Snap Preview Radius箭头插入模式吸附预览圆圈 4-20px
吸附对齐 Snap Enabled开启/关闭 On/Off
快捷键 Shortcuts自定义 Markdown 格式快捷键 Custom Markdown shortcuts

技术架构

Architecture

src/
├── main.ts          入口 — 注册视图、命令、功能区、文件菜单、设置选项卡
                     Plugin entry: register view, commands, ribbon, file menu, settings tab
├── view.ts          视图层 — DOM、事件、渲染循环、编辑器、PNG 导出
                     View layer: DOM, events, render loop, editors, PNG export
├── engine.ts        核心引擎 — 选择、历史记录、坐标变换、吸附、箭头路由
                     Core engine: selection, history, transforms, snap, arrow routing
├── types.ts         数据类型 — 枚举、常量
                     Data types: enums, constants
├── settings.ts      设置接口 — 默认值
                     Settings interface: defaults
├── settingsTab.ts   设置选项卡 UI
                     Settings tab UI
└── locale.ts        国际化 — 中文 / English
                     i18n: Chinese / English

许可

License

MIT

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.