shawnswu1k downloadsOpen a Canvas card's linked Markdown file in a right-side editor pane with one click.
Edit Canvas Markdown cards from a side panel — live preview, autosave, and no zooming in and out of cramped cards.
https://github.com/user-attachments/assets/b2075ff8-2327-440d-970a-5ca29423bcf1
Click any Canvas card and start typing. Switching cards autosaves. The panel can dock right, left, top, bottom, or float.
https://github.com/user-attachments/assets/48b1fe0d-a91f-469d-9d64-2fa90e4013ab
Toggle Headline mode in settings to collapse every card to its first
# H1. Standalone image cards keep showing their image; text cards collapse to just their headline (any inline![[image.png]]is hidden along with the body). Cards without a title show a faint "No headline" placeholder so you can spot what's missing.
Obsidian Canvas is great for visual thinking, but editing Markdown cards directly inside Canvas is cramped — zoom in, double-click a small card, lose context, repeat. Canvas Markdown Side Editor brings a full Obsidian editor next to the Canvas so you can write comfortably without leaving the big-picture view.
Write Markdown with the comfort of a full editor, while keeping the big picture in sight.
# H1. Get a clean "table of contents" view; full content stays editable through the side editor. Standalone image cards keep showing their image, while text-card bodies (including inline images) collapse to the headline (issue #21). Headline size is tunable as a percentage of card width (5–60%).object-fit: fill) instead of leaving Obsidian's default letterbox gap, and scale up past the image's natural size. Applies to every Canvas image card while the plugin is enabled..md file, opens the side editor automatically.Canvas Side Editor: Toggle Preview is bindable to a hotkey..md file. The side editor opens.This plugin is currently awaiting approval in the Obsidian Community Plugins directory. Until that lands, install via BRAT — it auto-fetches future updates.
https://github.com/user-attachments/assets/82719127-f450-49e9-b99e-b0700451615d
https://github.com/ShawnSWu/Obsidian-Canvas-Markdown-Side-EditorSettings → Community Plugins → Browse → search "Canvas Markdown Side Editor" → Install → Enable.
Pending Obsidian directory approval.
Download main.js, styles.css, and manifest.json from the latest Release and drop them into <vault>/.obsidian/plugins/canvas-markdown-side-editor/. Reload Obsidian and enable the plugin.
Open Settings → Community Plugins → Canvas Markdown Side Editor.
| Setting | Default | What it does |
|---|---|---|
| Dock position (issue #11) | Right | Right / Left / Top / Bottom / Floating. Floating panels remember position and size. |
| Default panel width | 480 px | Initial width when docked left or right. Drag the panel edge to resize; the width is remembered. |
| Default panel height | 360 px | Initial height when docked top or bottom. Drag the panel edge to resize; the height is remembered. |
| Preview debounce | 80 ms | Delay before the preview re-renders on edits. Increase for very large notes. |
| Read only | off | Hide the editor; show the preview pane only. |
| Headline mode (issue #13) | off | Collapse every Canvas card to its first # H1. |
| Headline title size | 22 | H1 size as a percentage of card width (5–60). Bigger value → bigger text. |
| Editor font size (px) | theme | Override editor font size. Leave blank to follow your theme. |
| Preview font size (px) | theme | Override preview font size. Leave blank to follow your theme. |
| Command | Default hotkey | Description |
|---|---|---|
Canvas Side Editor: Toggle Preview |
unbound | Flip the preview pane on or off. |
Bind any command to a hotkey from Settings → Hotkeys.
1.1.0 or later.isDesktopOnly: true)..md file. Image, PDF, and link cards aren't supported.# H1. A faint "No headline" placeholder appears so you can spot which cards still need a title.See GitHub Releases for version-by-version notes.
Issues and pull requests welcome at github.com/ShawnSWu/Obsidian-Canvas-Markdown-Side-Editor/issues.
Local development:
npm install
npm run dev # esbuild watch
npm test # vitest
MIT — see LICENSE.