# Insert Image Plus Insert images and Excalidraw drawings from a visual grid, **grouped by filename prefix** — into notes, Excalidraw, and [Mappy](https://github.com/hiroyaiizuka/Mappy) mind maps — and manage them one file at a time. If you name your assets like `icon - map.png`, `logo - shopify.svg`, `stick - idea.png`, the part before ` - ` becomes a category. No folders to maintain, no tags to add: the naming convention *is* the UI. > 日本語の説明は [下にあります](#日本語). ## Features ### Insert picker - Command **Insert image** (only shown when a Markdown editor, an Excalidraw canvas or a Mappy map is active) or the ribbon **+** icon. - Step 1: pick a category — *Recent*, *All*, by kind (image / Excalidraw), or any detected prefix. - Step 2: pick from a thumbnail grid (lazy-loaded, search-as-you-type). Each card shows the file type. Search matches every word: `obsidian §1` finds names that contain both. - Inserts `![[name]]` (or `[[name]]`), with an optional default width. Into Excalidraw it places the image on the canvas. - Excalidraw drawings are found by name (`.excalidraw`) or by their frontmatter (`excalidraw-plugin`), so renamed drawings are found too. By default only drawings whose name starts with one of your prefixes (e.g. `illustration - …`) are listed, so work-in-progress boards stay out of the way. The SVG next to a drawing with the same name is hidden from the picker (setting). - Excalidraw thumbnails are rendered on the fly (on by default). Drawings heavier than 5 MB including embedded images show a placeholder instead. ### Mappy support For [Mappy](https://github.com/hiroyaiizuka/Mappy), the mind map plugin by Hiroya Iizuka (desktop only, like Mappy itself). - Select a node and run **Insert image**: the node opens for editing and `![[name]]` is added at the cursor (press Enter to confirm). If the node still has a placeholder title (Topic / Main topic / Subtopic), the title is replaced so the node shows only the image (setting). - **Mappy: Insert image inside the selected node** adds the image on the line below the title and keeps the title. - Excalidraw drawings are inserted as an SVG of that drawing only (exported next to it; up to 5 MB including embedded images). - The categories shown in Mappy can be set separately from notes (e.g. only thumbnails and icons). - This works on Mappy's screen (the canvas and the node editor), the same way you would type `![[` yourself. Mappy's files and logic are not touched. A Mappy update may break this until Insert Image Plus is fixed — if that happens, please report it here, not to Mappy. ### Manager view - Command **Manage images** or the ribbon gallery icon opens a tab. - Filter by folder and by prefix chips; search; sort by name / created / modified / size / references. - Each card shows the **number of detected references**, the file type, size and date. Hover for quick actions. - Click a card for details: large preview, referencing notes (click to jump to the line), and actions: - Open in Obsidian · Open with default app · Show in system explorer · Copy link - **Rename** with a prefix picker (keeps the `prefix - name` convention) - **Move** to another folder - **Convert to WebP** (PNG / JPG / BMP / AVIF). References in Markdown notes are rewritten to the new file; the **original is always kept** — the plugin never deletes it for you. - **Delete** — one file at a time, only when no reference is detected (checked when the dialog opens and again right before deleting). Follows Obsidian's *Deleted files* setting. The plugin never edits your notes to remove references. - **Drag & drop** image files from your OS onto the view to add them; you choose the prefix on drop. ### Honest about references Reference counts come from Obsidian's link index (`[[ ]]`, `![[ ]]`, `[]()` in Markdown). References inside Canvas files, plain-string frontmatter values, code blocks or CSS snippets are **not** detected — so the UI says "detected references", never "unused". There is deliberately **no bulk delete**. ## Settings - **Get started**: checks your vault and tells you what to set up first. - **General**: image types (per extension), *Drawings to list* (None / Prefixed drawings only / All) with the drawing prefixes, hide SVGs with the same name as a drawing, drawing thumbnails, optional folder scope. - **Insert**: grouped by where you insert. - *Common*: picker columns (desktop default 5, mobile default 3), how many recent items to keep. - *Notes*: category prefixes, insert format, default width. - *Excalidraw*: category prefixes, placement size per prefix. - *Mappy*: use in Mappy, category prefixes, replace placeholder titles. - **Manage**: manager prefixes, reference badge on cards, WebP quality. - *Category prefixes*: one box per place, one prefix per line. Empty = show every prefix found in filenames. Rename and Move require Obsidian's **Files & Links → Automatically update internal links** to be on; otherwise the buttons are disabled to avoid breaking links. ## Install (manual, until listed) 1. Create `/.obsidian/plugins/insert-image-plus/`. 2. Copy `main.js`, `manifest.json`, `styles.css` from the [latest release](https://github.com/yosukedesign/insert-image-plus/releases/latest) into it. 3. Reload Obsidian and enable **Insert Image Plus** under Community plugins. ## Notes - The UI follows Obsidian's language setting (Settings → General → Language): Japanese when set to 日本語, English otherwise. Requires Obsidian 1.8.7 or later. - Works on desktop and mobile. On mobile, the picker uses its own column count (default 3), WebP conversion is disabled on iOS, and drag & drop from the OS is not available. - WebP conversion uses the Canvas API and is available wherever the rendering engine can encode WebP (Chromium-based desktop and Android). On iOS the button is disabled. - "Open with default app" and "Show in system explorer" use desktop-only capabilities and are skipped gracefully elsewhere. ## License MIT © 2026 Yosuke --- ## 日本語 ファイル名の接頭辞(`icon - 地図.png` の `icon`)を自動でカテゴリにして、画像と Excalidraw をグリッドから選んで挿入するプラグインです(ノート・Excalidraw・[Mappy](https://github.com/hiroyaiizuka/Mappy) に対応)。命名規則がそのまま UI になります。 表示言語は Obsidian の設定(設定 → 一般 → 言語)に従います。日本語なら日本語、それ以外は英語で表示します(Obsidian 1.8.7 以降)。 ### 挿入ピッカー - コマンド「画像を挿入する」(Markdown エディタ・Excalidraw・Mappy を開いている時だけ表示)、またはリボンの「+」。 - カテゴリ(最近使った/すべて/種別/接頭辞)→ サムネ一覧 → クリックで `![[…]]` 挿入。Excalidraw にはキャンバス上に配置。 - カードに種類(SVG/PNG/EXCALIDRAW…)を表示。絞り込みは空白区切りの全部一致(`obsidian §1` で両方を含む名前)。 - Excalidraw の図は名前(`.excalidraw`)か frontmatter(`excalidraw-plugin`)で見つけるので、名前を変えた図も拾います。既定では接頭辞(`illustration - …` など)が付いた図だけ候補にし、作業中の図は混ざりません。図と同じ名前の隣の SVG はピッカーに出しません(設定)。サムネは既定ON、埋め込み画像込みで 5MB を超える図はプレースホルダーになります。 ### Mappy 対応 Hiroya Iizuka さんのマインドマッププラグイン [Mappy](https://github.com/hiroyaiizuka/Mappy) で使えます(Mappy と同じくデスクトップのみ)。 - ノードを選んで「画像を挿入する」:ノードの編集が開き、`![[…]]` が入ります(確定は Enter)。題名が仮の題名(トピック/メイントピック/サブトピック)のままなら、題名を消して画像だけのノードにします(設定)。 - 「Mappy:選んだノードの中に画像を入れる」:題名を残し、題名の下の段に入れます。 - Excalidraw の図は、その図だけを SVG に書き出して入れます(図の隣に作成・埋め込み画像込みで 5MB まで)。 - Mappy で出すカテゴリは、ノートとは別に絞れます(例:サムネとアイコンだけ)。 - Mappy の画面(キャンバスとノードの編集欄)で、手で `![[` と打つのと同じように文字を入れる仕組みです。Mappy のファイルや処理には触りません。Mappy の更新で動かなくなることがあり、そのときはこちらで直します。不具合は Mappy ではなく、このリポジトリへお知らせください。 ### 管理画面 - コマンド「画像を管理する」またはリボンのギャラリーアイコンでタブが開きます。 - フォルダ × 接頭辞チップ × 検索で絞り、名前/作成日/更新日/サイズ/参照数で並び替え。 - カードに「検出できた参照 N」・種別・サイズ・日付。ホバーで開く/コピー/リネーム/削除。 - クリックで詳細:大きなプレビュー、参照しているノート(クリックで該当行へ)、操作(Obsidian で開く/OS 標準アプリで開く/ファイルの場所/リンクをコピー/リネーム/移動/WebP に変換/削除)。 - 削除は 1 枚ずつ。検出できた参照が 0 件のときだけ(ダイアログを開いたときと実行直前の両方で確認)。削除の仕方は Obsidian の「削除したファイル」設定に従います。ノートを書き換えて参照を消す機能はありません。一括削除も持ちません。 - WebP 変換は Markdown ノート内の参照を新しいファイルに書き換えますが、元の画像は常に残します。 - OS から画像ファイルをドラッグ&ドロップすると追加できます(その場で接頭辞を選択)。 ### 参照数について Obsidian のリンク索引(Markdown 内の `[[ ]]` `![[ ]]` `[]()`)を逆引きしています。Canvas・frontmatter の素の文字列・コードブロック・CSS スニペット内の参照は検出できないため、「未参照」ではなく「検出できた参照」と表示します。 ### 設定 - **はじめに**:Vault の状態を見て、何から設定するかを案内。 - **一般**:対象にする画像(拡張子ごと)、一覧に出す図(出さない/接頭辞が付いた図だけ/全部)と図の接頭辞、図と同じ名前の SVG は出さない、図のサムネを表示、フォルダの絞り込み。 - **挿入**:入れる先ごとに分けています。 - 共通:一覧の横並び数(デスクトップ既定 5・スマホ既定 3)、「最近使った」の保持数 - 通常(ノート):カテゴリにする接頭辞、挿入形式、既定の幅 - Excalidraw:カテゴリにする接頭辞、置くときの大きさ(接頭辞ごと) - Mappy:Mappy で使う、カテゴリにする接頭辞、仮の題名を消して入れる - **管理**:管理画面の接頭辞、カードに参照数を表示、WebP 品質。 - カテゴリにする接頭辞:入れる先ごとに 1 欄(1 行に 1 つ)。空欄=ファイル名から見つかった接頭辞を全部出す。 リネームと移動は、Obsidian 設定「ファイルとリンク → 内部リンクを自動更新」が ON の時だけ使えます(OFF だとリンクが切れるため、ボタンが無効になります)。