From a2136c526da9d3b6c3cf913a2e7748f456198ec8 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 4 Oct 2025 15:19:04 +0800 Subject: [PATCH] :art: Add `Show in Folder` for the database block https://github.com/siyuan-note/siyuan/issues/15995 Signed-off-by: Daniel <845765@qq.com> --- app/src/protyle/gutter/index.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index 55ba1f94f..73224e3e5 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -41,7 +41,7 @@ import {countBlockWord} from "../../layout/status"; import {Constants} from "../../constants"; import {mathRender} from "../render/mathRender"; import {duplicateBlock} from "../wysiwyg/commonHotkey"; -import {movePathTo} from "../../util/pathName"; +import {movePathTo, useShell} from "../../util/pathName"; import {hintMoveBlock} from "../hint/extend"; import {makeCard, quickMakeCard} from "../../card/makeCard"; import {transferBlockRef} from "../../menus/block"; @@ -59,6 +59,7 @@ import {addEditorToDatabase} from "../render/av/addToDatabase"; import {processClonePHElement} from "../render/util"; /// #if !MOBILE import {openFileById} from "../../editor/util"; +import * as path from "path"; /// #endif import {checkFold} from "../../util/noRelyPCFunction"; import {clearSelect} from "../util/clearSelect"; @@ -1559,6 +1560,14 @@ export class Gutter { }); } }).element); + window.siyuan.menus.menu.append(new MenuItem({ + id: "showDatabaseInFolder", + icon: "iconFolder", + label: window.siyuan.languages.showInFolder, + click() { + useShell("showItemInFolder", path.join(window.siyuan.config.system.dataDir, "storage", "av", nodeElement.getAttribute("data-av-id")) + ".json"); + } + }).element); } else if ((type === "NodeVideo" || type === "NodeAudio") && !protyle.disabled) { window.siyuan.menus.menu.append(new MenuItem({id: "separator_VideoOrAudio", type: "separator"}).element); window.siyuan.menus.menu.append(new MenuItem({