Skip to content

Commit

Permalink
siyuan-note#2911 inline math
Browse files Browse the repository at this point in the history
  • Loading branch information
Vanessa219 authored and leolee9086 committed Oct 4, 2022
1 parent e1d6e9f commit 36d920c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
10 changes: 8 additions & 2 deletions app/src/protyle/markdown/mathRender.ts
Expand Up @@ -66,9 +66,15 @@ export const mathRender = (element: Element, cdn = Constants.PROTYLE_CDN, maxWid
}
} else {
if (blockElement && mathElement.getBoundingClientRect().width > blockElement.clientWidth) {
mathElement.setAttribute("style", "max-width:100%;overflow-x:auto;overflow-y:hidden;display:inline-block");
mathElement.style.maxWidth = "100%"
mathElement.style.overflowX = "auto"
mathElement.style.overflowY = "hidden"
mathElement.style.display = "inline-block"
} else {
mathElement.removeAttribute("style");
mathElement.style.maxWidth = ""
mathElement.style.overflowX = ""
mathElement.style.overflowY = ""
mathElement.style.display = ""
}
const nextSibling = hasNextSibling(mathElement);
if (!nextSibling) {
Expand Down
13 changes: 5 additions & 8 deletions app/src/protyle/toolbar/InlineMath.ts
Expand Up @@ -20,13 +20,6 @@ export class InlineMath extends ToolbarItem {
if (!nodeElement) {
return;
}

const inlineMathElement = hasClosestByAttribute(range.startContainer, "data-type", "inline-math");
if (inlineMathElement) {
mathRender(inlineMathElement);
return;
}

if (!["DIV", "TD", "TH"].includes(range.startContainer.parentElement.tagName) && range.startOffset === 0 && !hasPreviousSibling(range.startContainer)) {
range.setStartBefore(range.startContainer.parentElement);
}
Expand All @@ -38,14 +31,18 @@ export class InlineMath extends ToolbarItem {
const html = nodeElement.outerHTML;

const newElement = document.createElement("span");
const rangeString = range.toString();
newElement.className = "render-node";
newElement.setAttribute("contenteditable", "false");
newElement.setAttribute("data-type", "inline-math");
newElement.setAttribute("data-subtype", "math");
newElement.setAttribute("data-content", range.toString());
newElement.setAttribute("data-content", rangeString.trim());
range.extractContents();
range.insertNode(newElement);
mathRender(newElement);
if (rangeString.trim() === "") {
protyle.toolbar.showRender(protyle, newElement);
}
nodeElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
updateTransaction(protyle, nodeElement.getAttribute("data-node-id"), nodeElement.outerHTML, html);
wbrElement.remove();
Expand Down

0 comments on commit 36d920c

Please sign in to comment.