From c3ff1eaec4db646674744bdb04b41a991dc155bd Mon Sep 17 00:00:00 2001 From: Devon22 Date: Sun, 16 Nov 2025 18:00:46 +0800 Subject: [PATCH] 2.9.25 --- manifest.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/ExplorerView.ts | 17 +++++++++++------ versions.json | 2 +- 5 files changed, 16 insertions(+), 11 deletions(-) diff --git a/manifest.json b/manifest.json index 44d05bb..13dd86b 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "gridexplorer", "name": "GridExplorer", - "version": "2.9.24", + "version": "2.9.25", "minAppVersion": "1.1.0", "description": "Browse note files in a grid view.", "author": "Devon22", diff --git a/package-lock.json b/package-lock.json index 710ee57..04b2c99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "gridexplorer", - "version": "2.9.24", + "version": "2.9.25", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "gridexplorer", - "version": "2.9.24", + "version": "2.9.25", "license": "MIT", "devDependencies": { "@types/node": "^16.11.6", diff --git a/package.json b/package.json index bb68786..45b15e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "gridexplorer", - "version": "2.9.24", + "version": "2.9.25", "description": "Browse note files in a grid view.", "main": "main.js", "scripts": { diff --git a/src/ExplorerView.ts b/src/ExplorerView.ts index 687f0ff..107fd6e 100644 --- a/src/ExplorerView.ts +++ b/src/ExplorerView.ts @@ -1,7 +1,7 @@ import { TFile, TFolder, WorkspaceLeaf, Menu, setIcon, Platform, normalizePath, ItemView, EventRef, FuzzySuggestModal, parseLinktext, Notice } from 'obsidian'; import GridExplorerPlugin from './main'; import { GridView } from './GridView'; -import { isFolderIgnored, isImageFile, isVideoFile, isAudioFile } from './utils/fileUtils'; +import { isFolderIgnored, isImageFile, isVideoFile, isAudioFile, isMediaFile } from './utils/fileUtils'; import { extractObsidianPathsFromDT } from './utils/dragUtils'; import { createNewNote, createNewFolder, createNewCanvas, createNewBase, createShortcut } from './utils/createItemUtils'; import { CustomModeModal } from './modal/customModeModal'; @@ -1587,12 +1587,17 @@ export class ExplorerView extends ItemView { itemEl.addEventListener('dragstart', (event: DragEvent) => { if (!event.dataTransfer) return; - // 使用 Obsidian 內建的拖曳格式(obsidian:// URI) - // const vaultName = this.app.vault.getName(); - // const obsidianUri = `obsidian://open?vault=${encodeURIComponent(vaultName)}&file=${encodeURIComponent(file.path)}`; - // event.dataTransfer.setData('text/uri-list', obsidianUri); + // 使用 Obsidian 產生 Markdown 連結 + let mdLink = this.app.fileManager.generateMarkdownLink(file, ''); + + // 若為圖片檔案則改為嵌入語法 ![[...]],但若已經有 '!' 就不要重複加 + if (isMediaFile(file)) { + const trimmed = mdLink.trimStart(); + if (!trimmed.startsWith('!')) { + mdLink = '!' + mdLink; + } + } - const mdLink = this.app.fileManager.generateMarkdownLink(file, ''); event.dataTransfer.setData('text/plain', mdLink); event.dataTransfer?.setData('application/obsidian-grid-explorer-files', JSON.stringify([file.path])); diff --git a/versions.json b/versions.json index a4fd5ad..e29309d 100644 --- a/versions.json +++ b/versions.json @@ -1,3 +1,3 @@ { - "2.9.24": "1.1.0" + "2.9.25": "1.1.0" } \ No newline at end of file