A SiYuan plugin for freehand drawing, based on js-draw.
  • TypeScript 70.3%
  • JavaScript 23.7%
  • Svelte 3.5%
  • CSS 1.1%
  • HTML 0.9%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
MassiveBox d4a7d27991
All checks were successful
Build on Push and create Release on Tag / build (push) Successful in 2m42s
feat: offer to edit links to SVG assets
2026-09-27 23:28:45 +02:00
.forgejo/workflows fix: CI fails with ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION 2026-09-23 22:28:16 +02:00
asset Resize demo 2025-08-07 18:58:00 +02:00
public feat: PDF import 2026-09-23 22:15:39 +02:00
scripts Add CI 2025-05-08 22:47:09 +02:00
src feat: offer to edit links to SVG assets 2026-09-27 23:28:45 +02:00
.gitignore 为checkout添加切换状态时添加回调函数 2024-04-05 16:37:25 +08:00
.npmrc feat: switch to js-draw fork 2026-08-09 10:36:52 +02: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 feat: PDF import 2026-09-23 22:15:39 +02:00
plugin.json fix: plugin.json fails new, undocumented, SiYuan Bazaar check 2026-08-11 16:35:40 +02:00
pnpm-workspace.yaml fix: CI fails with ERR_PNPM_INVALID_WORKSPACE_CONFIGURATION 2026-09-23 22:28:16 +02:00
preview.png Initial Upload 2025-03-31 19:14:17 +02:00
README-zh_CN.md chore: document import PDF, switch to fork 2026-09-27 22:27:02 +02:00
README.md chore: document import PDF, switch to fork 2026-09-27 22:27:02 +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 feat: PDF import 2026-09-23 22:15:39 +02: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.
  • PDF import: draw, highlight and edit on a copy of your PDF file.
  • 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.

Importing a PDF

Right-click on a PDF reference in your notes, then click Plugin > Import PDF to JS-Draw Whiteboard.
The PDF import will then start, and may take several seconds depending on your hardware and the size of the document.

Once the import is done, the Editor will open, and the reference to the editable copy of the PDF will be copied to your clipboard.
Simply paste it anywhere in your notes. You will be able to edit it normally as any other JS-Draw 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.