A SiYuan plugin for freehand drawing, based on js-draw.
  • TypeScript 66.8%
  • JavaScript 26.5%
  • Svelte 3.9%
  • CSS 1.2%
  • HTML 1.1%
  • Other 0.5%
Find a file
MassiveBox a7aadfcbfa
All checks were successful
Build on Push and create Release on Tag / build (push) Successful in 1m31s
chore: version bump
2026-06-20 23:13:44 +02:00
.forgejo/workflows Add CI 2025-05-08 22:47:09 +02:00
asset Resize demo 2025-08-07 18:58:00 +02:00
public feat: implement autosave and remove unsaved changes confirmation 2026-06-13 23:53:05 +02:00
scripts Add CI 2025-05-08 22:47:09 +02:00
src refactor: move EditorManager to new file, improve editor registry code 2026-06-14 01:08:34 +02:00
.gitignore 为checkout添加切换状态时添加回调函数 2024-04-05 16:37:25 +08:00
CHANGELOG.md 📝docs 2024-06-01 16:35:02 +08:00
icon.png Initial Upload 2025-03-31 19:14:17 +02:00
LICENSE Initial commit 2023-05-19 19:40:28 +08:00
package.json chore: version bump 2026-06-20 23:13:44 +02:00
plugin.json chore: version bump 2026-06-20 23:13:44 +02:00
preview.png Initial Upload 2025-03-31 19:14:17 +02:00
README-zh_CN.md docs: update README 2026-06-14 01:24:30 +02:00
README.md docs: update README 2026-06-14 01:24:30 +02:00
svelte.config.js 🔧 config svelte 2024-04-19 19:09:15 +08:00
tsconfig.json Auto-refresh images on edit 2025-04-03 15:51:33 +02:00
tsconfig.node.json init 2023-05-19 19:50:46 +08:00
vite.config.ts 🔧 ci: update vite script, auto remove trivial files under dist/ 2024-10-24 14:51:01 +08:00
vite.config.ts.timestamp-1743541342564-d66840ad6dd8b.mjs Offer to edit images 2025-04-01 23:03:22 +02:00
yaml-plugin.js 🔧 build: yaml-plugin 2024-04-05 22:54:18 +08:00

SiYuan js-draw Plugin

This plugin allows you to embed js-draw whiteboards anywhere in your SiYuan documents.

▶️ LiuYun thread

Features

  • Stylus support: full stylus support, with pressure sensitivity.
  • Light/dark mode: draw in light or dark mode, and have your drawings automatically adapt to your SiYuan theme.
  • Auto-save: your drawing is saved automatically as you draw.
  • Optimized for multi-device: edit on a device and sync to others with auto-refresh.
  • Fully customizable: all the options you need in the plugin settings page.
  • And much more: all the features of js-draw are available.

For the planned features, check out the Projects tab!

Usage instructions

Demo

Install the plugin from the marketplace by searching for js-draw.

Creating a whiteboard

There are two ways to create a new whiteboard:

  • Slash command — type /Insert whiteboard in your document and select the menu entry.
  • Keyboard shortcut / toolbar icon — press Alt+Shift+D or click the toolbar icon without selecting anything. A new whiteboard will be inserted at your cursor position.

The editor will open in a new tab (or dialog on mobile). Draw what you like, then click Save and close the editor.

Editing a whiteboard

Select an existing whiteboard by left-clicking it, then open the editor in one of these ways:

  • Press Alt+Shift+D or click the toolbar icon.
  • Right-click the whiteboard (or tap the three dots on mobile) and choose Plugin → Edit whiteboard.

Contributing

Contributions are always welcome!
The Chinese translation is made by AI, and I'm unable to thorougly verify it because I don't speak Chinese. If you do and find issues, please let me know.
Please open an issue or contact me if you'd like to help!

Thanks to

This project couldn't have been possible without (in no particular order):

Make sure you check them out and support them as well!

License

The original plugin framework is developed by SiYuan 思源笔记 and licensed under the MIT license.
All changes made by me are copyright MassiveBox 2025, and licensed under the MIT license.