Sketchidian is an open-source Obsidian community plugin that provides a minimal, intuitive whiteboard interface for quick sketches and notes. Draw lines with adjustable color and size, save them as cropped PNG images directly in your vault, and automatically copy a markdown link to the clipboard for seamless embedding in your documents.
- Simple pen tool with adjustable color and size.
- Undo support for the last stroke (Ctrl+Z).
- Auto-cropped PNG export: only the area containing your strokes is saved.
- Automatic creation of a
Sketchesfolder in your vault if it doesn’t exist. - Copies the markdown image link to clipboard for direct pasting.
- Works with mouse, touch, and tablet pens (e.g., Wacom Intuos).
- Minimal toolbar integrated inside Obsidian.
- Clone or download this repository into your Obsidian plugins folder:
/.obsidian/plugins/sketchidian
- Build the plugin (if using TypeScript):
npm install
npm run build- Enable the plugin in Settings → Community Plugins → Installed Plugins → Sketchidian.
-
Click the pencil icon in the Obsidian sidebar to open a new whiteboard.
-
Draw using your mouse or pen tablet.
-
Use the toolbar to select color and line size.
-
Press Ctrl+Z (or Cmd+Z on Mac) to undo the last stroke.
-
Click Save to export your drawing as a PNG in the
Sketchesfolder. -
The markdown link (
![[sketch-<timestamp>.png]]) is automatically copied to your clipboard. Paste it in any note to embed the image.
-
main.ts– Plugin entry point; registers commands, ribbon icon, and whiteboard view. -
DrawingView.ts– Implements the whiteboard view and toolbar. -
CanvasManager.ts– Handles canvas creation, resizing, and export logic. -
ToolManager.ts– Manages strokes, drawing state, and undo functionality. -
tools/– Defines tools likePenTooland sharedToolState. -
styles.css– Minimal CSS for toolbar and canvas styling.
npm install
npm run buildThe compiled plugin will be placed in dist/ (or your configured output folder).
Contributions are welcome. Suggestions for new features, improvements to stroke smoothing, multiple tools, or layer support are highly appreciated.
Steps to contribute:
-
Fork the repository.
-
Create a branch for your feature/fix:
git checkout -b feature/awesome-feature
-
Make changes and commit:
git commit -m "Add awesome feature" -
Push to your fork and open a pull request.
Please follow the existing TypeScript structure and English comments.
MIT License. See LICENSE for details.
-
Currently only a single pen tool is available.
-
Future improvements could include:
-
Smoothing lines for natural strokes.
-
Layer support.
-
Additional tools like eraser or highlighter.
-
Customizable export folder and file naming.
-