# Canvas Image Clipboard Copy images and files from Canvas with your usual keyboard shortcut and paste the actual content into other apps. Canvas Image Clipboard is designed to stay out of the way. By default, select an image or file node in Canvas and press `Cmd + C`. Images paste as actual image data outside Obsidian; Markdown and other regular Vault files paste as actual file references. Pasting back into Canvas keeps Obsidian's native node-copy behavior. ## Features - Copies the image file itself, not a Canvas screenshot or file path. - Pasting back into Canvas uses Canvas's native node-cloning flow, so every pasted node references the same Vault image file instead of importing a duplicate. - Pasting outside Canvas, including into browser upload areas, still exposes a real clipboard image. - Copies Markdown and other regular Vault files as real file references for Finder and applications that accept file attachments. - Supports PNG, JPG, JPEG, and WebP image nodes. - Runs only when exactly one file node is selected in the active Canvas. - Uses `Cmd + C` by default on macOS, so it works immediately after installation without extra setup. - Includes a Community Plugins settings tab where the shortcut can be recorded and changed. - Has no toolbar button, context menu, or dependency on another plugin. ## Usage 1. Open a Canvas. 2. Select one image or regular file node. 3. Press `Cmd + C` on macOS. 4. Paste where needed: - In the same Obsidian session's Canvas, `Cmd + V` creates another node that references the original image file. - In a browser or another app, `Cmd + V` pastes the actual image or file. Normally, no configuration is needed. If `Cmd + C` conflicts with another command or does not work as expected, open **Settings → Community plugins → Canvas Image Clipboard**, click the shortcut field, and press a different combination such as `Cmd + Shift + C`. The reset button restores `Cmd + C`. The command is also available from the command palette as **Copy selected Canvas file to clipboard**. The plugin only intercepts the configured shortcut when exactly one Canvas file node is selected in the active Canvas. Images use image data; regular files use native file URL clipboard representations. In all other contexts, `Cmd + C` keeps its normal Obsidian behavior. ## Platform Version 0.2.0 is tested on macOS with Obsidian Desktop 1.13.7. It is marked desktop-only because it uses Electron's native clipboard API. Windows, Linux, and mobile have not been verified. ## Manual installation Until the plugin is available in the Obsidian Community Plugins directory: 1. Download `main.js` and `manifest.json` from the GitHub release matching the version you want to install. 2. Create `/.obsidian/plugins/canvas-image-clipboard/`. 3. Copy both files into that folder. 4. Reload Obsidian. 5. Enable **Canvas Image Clipboard** under **Settings → Community plugins**. ## Development ```bash npm ci npm run check ``` The production build is written to `main.js`. For local testing, copy `main.js` and `manifest.json` into: ```text /.obsidian/plugins/canvas-image-clipboard/ ``` ## Releasing 1. Update the version in `package.json`, `manifest.json`, and `versions.json`. 2. Run `npm run check`. 3. Commit and push the source changes. 4. Create and push a Git tag that exactly matches the manifest version, for example `0.1.0` (without a `v` prefix). The included GitHub Actions workflow verifies the tag, runs the full check, generates build provenance attestations, and creates a draft GitHub Release containing `main.js` and `manifest.json` as individual assets. Review the release notes before publishing the draft. ## Privacy Canvas Image Clipboard runs locally. It does not make network requests, collect telemetry, or send vault or clipboard data anywhere. The plugin reads only the selected file from the current vault and writes its image data or file reference to the operating system clipboard. It does not create temporary files or modify the source file. ## Compatibility - Obsidian Desktop only. - Tested on macOS with Obsidian 1.13.7. - Supports PNG, JPG, JPEG, and WebP image nodes plus regular Vault file nodes such as Markdown. - Uses Obsidian Canvas internal APIs to preserve native node-copy behavior. Test the plugin after major Obsidian updates. ## License [MIT](LICENSE)