diff --git a/app/src/protyle/markdown/highlightRender.ts b/app/src/protyle/markdown/highlightRender.ts index a9398f616..121932d6b 100644 --- a/app/src/protyle/markdown/highlightRender.ts +++ b/app/src/protyle/markdown/highlightRender.ts @@ -64,14 +64,6 @@ export const highlightRender = (element: Element, cdn = Constants.PROTYLE_CDN) = language = "plaintext"; } block.classList.add("hljs"); - // TODO 等待讨论是否需要渲染 if (!hasClosestByAttribute(block, "id", "searchPreview", true) || isPreview) { - block.innerHTML = hljs.highlight( - block.textContent + (block.textContent.endsWith("\n") ? "" : "\n"), // https://github.com/siyuan-note/siyuan/issues/4609 - { - language, - ignoreIllegals: true - }).value; - // } block.setAttribute("data-render", "true"); const autoEnter = block.parentElement.getAttribute("linewrap"); const ligatures = block.parentElement.getAttribute("ligatures"); @@ -106,7 +98,17 @@ export const highlightRender = (element: Element, cdn = Constants.PROTYLE_CDN) = languageElement.style.marginLeft = ""; } } - + const matchElement = block.querySelector('span[data-type="search-mark"]'); + if (matchElement) { + // 搜索定位 + matchElement.scrollIntoView(); + } + block.innerHTML = hljs.highlight( + block.textContent + (block.textContent.endsWith("\n") ? "" : "\n"), // https://github.com/siyuan-note/siyuan/issues/4609 + { + language, + ignoreIllegals: true + }).value; if (wbrElement && getSelection().rangeCount > 0) { focusByOffset(block, startIndex, startIndex); }