mirror of
https://github.com/streetwriters/notesnook.git
synced 2026-09-02 12:14:48 +02:00
37 lines
727 B
JavaScript
37 lines
727 B
JavaScript
const TAGNAME = "PRE";
|
|
const state = {
|
|
activeBlock: null,
|
|
languages: [],
|
|
};
|
|
function createCodeBlock(content) {
|
|
const pre = document.createElement(TAGNAME);
|
|
pre.spellcheck = false;
|
|
pre.classList.add("hljs");
|
|
pre.innerHTML = content;
|
|
return pre;
|
|
}
|
|
|
|
function isCodeBlock(node) {
|
|
return node.nodeName === TAGNAME;
|
|
}
|
|
|
|
function isInsideCodeBlock(element) {
|
|
let elem = element;
|
|
while (elem.tagName !== TAGNAME && !!elem.parentElement) {
|
|
elem = elem.parentElement;
|
|
if (elem.classList.contains("mce-content-body")) {
|
|
elem = undefined;
|
|
break;
|
|
}
|
|
}
|
|
return elem && elem.tagName === TAGNAME;
|
|
}
|
|
|
|
module.exports = {
|
|
isInsideCodeBlock,
|
|
createCodeBlock,
|
|
isCodeBlock,
|
|
TAGNAME,
|
|
state,
|
|
};
|