mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2025-07-13 02:34:59 +00:00
28 lines
896 B
JavaScript
28 lines
896 B
JavaScript
window.addEventListener("DOMContentLoaded", () => {
|
|
document.querySelectorAll("section p").forEach((paragraph) => {
|
|
// Recursively traverse the DOM tree and modify the text nodes
|
|
const recursivelyAddWbr = (node) => {
|
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
const newNodes = node.textContent.split("/");
|
|
for (let i = 0; i < newNodes.length - 1; i++) {
|
|
newNodes[i] += "/";
|
|
}
|
|
|
|
const tempSpan = document.createElement("span");
|
|
tempSpan.innerHTML = newNodes.join("<wbr>");
|
|
const replacementNodes = tempSpan.childNodes;
|
|
|
|
mutationQueue.push([node, replacementNodes]);
|
|
} else {
|
|
node.childNodes.forEach(recursivelyAddWbr);
|
|
}
|
|
};
|
|
|
|
// Perform the recursive traversal and replace the text nodes
|
|
const mutationQueue = [];
|
|
recursivelyAddWbr(paragraph);
|
|
mutationQueue.forEach(([node, newNodes]) => {
|
|
node.replaceWith(...newNodes);
|
|
});
|
|
});
|
|
});
|