From bb6139efc156297906cb5fced9b5b924538d3024 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 25 Oct 2025 22:24:39 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16179 --- app/src/protyle/wysiwyg/index.ts | 6 +++++- app/src/protyle/wysiwyg/renderBacklink.ts | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/protyle/wysiwyg/index.ts b/app/src/protyle/wysiwyg/index.ts index ce101f8f1..5cdffa424 100644 --- a/app/src/protyle/wysiwyg/index.ts +++ b/app/src/protyle/wysiwyg/index.ts @@ -3042,8 +3042,12 @@ export class WYSIWYG { if (rangeElement === this.element) { rangeElement = document.elementFromPoint(rect.left + rect.width / 2, event.clientY + 8); } - const blockElement = hasClosestBlock(rangeElement); + let blockElement = hasClosestBlock(rangeElement); if (blockElement) { + const embedElement = isInEmbedBlock(blockElement) + if (embedElement) { + blockElement = embedElement; + } newRange = focusBlock(blockElement, undefined, event.clientX < rect.left + parseInt(this.element.style.paddingLeft)) || newRange; if (protyle.options.render.breadcrumb) { protyle.breadcrumb.render(protyle, false, blockElement); diff --git a/app/src/protyle/wysiwyg/renderBacklink.ts b/app/src/protyle/wysiwyg/renderBacklink.ts index 1ed37429f..0dddec4cf 100644 --- a/app/src/protyle/wysiwyg/renderBacklink.ts +++ b/app/src/protyle/wysiwyg/renderBacklink.ts @@ -7,6 +7,7 @@ import {highlightRender} from "../render/highlightRender"; import {blockRender} from "../render/blockRender"; import {disabledForeverProtyle, disabledProtyle} from "../util/onGet"; import {avRender} from "../render/av/render"; +import {hasClosestByAttribute} from "../util/hasClosest"; export const renderBacklink = (protyle: IProtyle, backlinkData: { blockPaths: IBreadcrumb[], @@ -129,9 +130,10 @@ export const improveBreadcrumbAppearance = (element: HTMLElement) => { return; } let jump = false; + const isEmbed = hasClosestByAttribute(item, "data-type", "NodeBlockQueryEmbed"); while (item.scrollHeight > 30 && !jump && itemElements.length > 1) { itemElements.find((item, index) => { - if (index > 0) { + if (index > (isEmbed ? 0 : -1)) { if (!item.classList.contains("protyle-breadcrumb__text--ellipsis")) { item.classList.add("protyle-breadcrumb__text--ellipsis"); return true;