mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-20 16:40:13 +01:00
🐛 ```前后空格,回车错误
This commit is contained in:
parent
975775f95c
commit
475507d361
3 changed files with 13 additions and 10 deletions
|
|
@ -88,9 +88,10 @@ export const insertHTML = (html: string, protyle: IProtyle, isBlock = false) =>
|
||||||
range.insertNode(tempElement.content.cloneNode(true));
|
range.insertNode(tempElement.content.cloneNode(true));
|
||||||
range.collapse(false);
|
range.collapse(false);
|
||||||
blockElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
|
blockElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss"));
|
||||||
if (editableElement && (editableElement.textContent.startsWith("```") || editableElement.textContent.startsWith("~~~") || editableElement.textContent.startsWith("···") ||
|
const trimStartText = editableElement ? editableElement.textContent.trimStart() : "";
|
||||||
editableElement.textContent.indexOf("\n```") > -1 || editableElement.textContent.indexOf("\n~~~") > -1 || editableElement.textContent.indexOf("\n···") > -1)) {
|
if (editableElement && (trimStartText.startsWith("```") || trimStartText.startsWith("~~~") || trimStartText.startsWith("···") ||
|
||||||
if (editableElement.innerHTML.indexOf("\n") === -1 && editableElement.textContent.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") > -1) {
|
trimStartText.indexOf("\n```") > -1 || trimStartText.indexOf("\n~~~") > -1 || trimStartText.indexOf("\n···") > -1)) {
|
||||||
|
if (editableElement.innerHTML.indexOf("\n") === -1 && trimStartText.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") > -1) {
|
||||||
// ```test` 不处理
|
// ```test` 不处理
|
||||||
} else {
|
} else {
|
||||||
let replaceInnerHTML = editableElement.innerHTML.replace(/^(~|·|`){3,}/g, "```").replace(/\n(~|·|`){3,}/g, "\n```").trim();
|
let replaceInnerHTML = editableElement.innerHTML.replace(/^(~|·|`){3,}/g, "```").replace(/\n(~|·|`){3,}/g, "\n```").trim();
|
||||||
|
|
|
||||||
|
|
@ -210,9 +210,10 @@ export const enter = (blockElement: HTMLElement, range: Range, protyle: IProtyle
|
||||||
item.classList.remove("img--select");
|
item.classList.remove("img--select");
|
||||||
});
|
});
|
||||||
// 代码块
|
// 代码块
|
||||||
if (editableElement.textContent.startsWith("```") || editableElement.textContent.startsWith("···") || editableElement.textContent.startsWith("~~~") ||
|
const trimStartText = editableElement.textContent.trimStart();
|
||||||
editableElement.textContent.indexOf("\n```") > -1 || editableElement.textContent.indexOf("\n~~~") > -1 || editableElement.textContent.indexOf("\n···") > -1) {
|
if (trimStartText.startsWith("```") || trimStartText.startsWith("···") || trimStartText.startsWith("~~~") ||
|
||||||
if (editableElement.innerHTML.indexOf("\n") === -1 && editableElement.textContent.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") > -1) {
|
trimStartText.indexOf("\n```") > -1 || trimStartText.indexOf("\n~~~") > -1 || trimStartText.indexOf("\n···") > -1) {
|
||||||
|
if (editableElement.innerHTML.indexOf("\n") === -1 && trimStartText.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") > -1) {
|
||||||
// ```test` 不处理,正常渲染为段落块
|
// ```test` 不处理,正常渲染为段落块
|
||||||
} else {
|
} else {
|
||||||
const oldHTML = blockElement.outerHTML;
|
const oldHTML = blockElement.outerHTML;
|
||||||
|
|
|
||||||
|
|
@ -61,11 +61,12 @@ export const input = async (protyle: IProtyle, blockElement: HTMLElement, range:
|
||||||
if (editElement.innerHTML === "》<wbr>") {
|
if (editElement.innerHTML === "》<wbr>") {
|
||||||
editElement.innerHTML = "><wbr>";
|
editElement.innerHTML = "><wbr>";
|
||||||
}
|
}
|
||||||
if ((editElement.textContent.startsWith("````") || editElement.textContent.startsWith("····") || editElement.textContent.startsWith("~~~~")) &&
|
const trimStartText = editElement.textContent.trimStart();
|
||||||
|
if ((trimStartText.startsWith("````") || trimStartText.startsWith("····") || trimStartText.startsWith("~~~~")) &&
|
||||||
editElement.innerHTML.indexOf("\n") === -1) {
|
editElement.innerHTML.indexOf("\n") === -1) {
|
||||||
// 超过三个标记符就可以形成为代码块,下方会处理
|
// 超过三个标记符就可以形成为代码块,下方会处理
|
||||||
} else if ((editElement.textContent.startsWith("```") || editElement.textContent.startsWith("···") || editElement.textContent.startsWith("~~~")) &&
|
} else if ((trimStartText.startsWith("```") || trimStartText.startsWith("···") || trimStartText.startsWith("~~~")) &&
|
||||||
editElement.innerHTML.indexOf("\n") === -1 && editElement.textContent.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") === -1) {
|
editElement.innerHTML.indexOf("\n") === -1 && trimStartText.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") === -1) {
|
||||||
// ```test` 后续处理,```test 不处理
|
// ```test` 后续处理,```test 不处理
|
||||||
updateTransaction(protyle, id, blockElement.outerHTML, protyle.wysiwyg.lastHTMLs[id]);
|
updateTransaction(protyle, id, blockElement.outerHTML, protyle.wysiwyg.lastHTMLs[id]);
|
||||||
wbrElement.remove();
|
wbrElement.remove();
|
||||||
|
|
@ -107,7 +108,7 @@ export const input = async (protyle: IProtyle, blockElement: HTMLElement, range:
|
||||||
todoOldHTML = blockElement.outerHTML;
|
todoOldHTML = blockElement.outerHTML;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (editElement.textContent.startsWith("```") || editElement.textContent.startsWith("~~~") || editElement.textContent.startsWith("···") ||
|
if (trimStartText.startsWith("```") || trimStartText.startsWith("~~~") || trimStartText.startsWith("···") ||
|
||||||
editElement.textContent.indexOf("\n```") > -1 || editElement.textContent.indexOf("\n~~~") > -1 || editElement.textContent.indexOf("\n···") > -1) {
|
editElement.textContent.indexOf("\n```") > -1 || editElement.textContent.indexOf("\n~~~") > -1 || editElement.textContent.indexOf("\n···") > -1) {
|
||||||
if (editElement.innerHTML.indexOf("\n") === -1 && editElement.textContent.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") > -1) {
|
if (editElement.innerHTML.indexOf("\n") === -1 && editElement.textContent.replace(/·|~/g, "`").replace(/^`{3,}/g, "").indexOf("`") > -1) {
|
||||||
// ```test` 不处理,正常渲染为段落块
|
// ```test` 不处理,正常渲染为段落块
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue