From 27c6b51e9d02fa85f3907274c824c4b332a858fc Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 22 Feb 2026 13:28:18 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/17069 --- app/src/protyle/gutter/index.ts | 16 +++++++++++++--- app/src/util/assets.ts | 3 +-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/src/protyle/gutter/index.ts b/app/src/protyle/gutter/index.ts index fb2297296..c0714d0df 100644 --- a/app/src/protyle/gutter/index.ts +++ b/app/src/protyle/gutter/index.ts @@ -2176,7 +2176,7 @@ export class Gutter { } private genAlign(nodeElements: Element[], protyle: IProtyle) { - const disabledRTL = nodeElements.some(e => e.classList.contains("code-block") || ["NodeMathBlock"].includes(e.getAttribute("data-type"))); + const disabledRTL = nodeElements.some(e => ["NodeAttributeView", "NodeCodeBlock", "NodeMathBlock"].includes(e.getAttribute("data-type"))); window.siyuan.menus.menu.append(new MenuItem({ id: "layout", label: window.siyuan.languages.layout, @@ -2249,7 +2249,13 @@ export class Gutter { accelerator: window.siyuan.config.keymap.editor.general.ltr.custom, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { - e.style.direction = "ltr"; + if (e.classList.contains("table")) { + e.querySelector("table").style.direction = "ltr"; + } else if (e.getAttribute("data-type") === "NodeHTMLBlock") { + (e.querySelector("protyle-html") as HTMLElement).style.direction = "ltr"; + } else { + e.style.direction = "ltr"; + } }); } }, { @@ -2260,7 +2266,11 @@ export class Gutter { accelerator: window.siyuan.config.keymap.editor.general.rtl.custom, click: () => { this.genClick(nodeElements, protyle, (e: HTMLElement) => { - if (!e.classList.contains("av")) { + if (e.classList.contains("table")) { + e.querySelector("table").style.direction = "rtl"; + } else if (e.getAttribute("data-type") === "NodeHTMLBlock") { + (e.querySelector("protyle-html") as HTMLElement).style.direction = "rtl"; + } else { e.style.direction = "rtl"; } }); diff --git a/app/src/util/assets.ts b/app/src/util/assets.ts index 0eca75877..deb6d5aca 100644 --- a/app/src/util/assets.ts +++ b/app/src/util/assets.ts @@ -292,9 +292,8 @@ export const setInlineStyle = async (set = true, servePath = "../../../") => { if (window.siyuan.config.editor.rtl) { style += `\n.protyle-title__input, .protyle-wysiwyg .p, -.protyle-wysiwyg .table, +.protyle-wysiwyg .table table, .protyle-wysiwyg .render-node protyle-html, -.protyle-wysiwyg .render-node:not([data-type="NodeMathBlock"]) > div[spin="1"], .protyle-wysiwyg [data-type="NodeHeading"] {direction: rtl} .protyle-wysiwyg [data-node-id].li > .protyle-action { right: 0;