From c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c Mon Sep 17 00:00:00 2001 From: Jieiku Date: Fri, 14 Aug 2026 15:10:15 -0700 Subject: Update for Zola 0.23.3 --- static/js/codecopy.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'static/js/codecopy.js') diff --git a/static/js/codecopy.js b/static/js/codecopy.js index 9e00c79..11d28e2 100644 --- a/static/js/codecopy.js +++ b/static/js/codecopy.js @@ -4,7 +4,7 @@ const changeIcon = (copyDiv, className) => { }; const copyCodeAndChangeIcon = async (copyDiv, block) => { - const code = block.querySelector('table') ? getTableCode(block) : getNonTableCode(block); + const code = getCodeContent(block); try { await navigator.clipboard.writeText(code); changeIcon(copyDiv, "yes"); @@ -13,16 +13,15 @@ const copyCodeAndChangeIcon = async (copyDiv, block) => { } }; -const getNonTableCode = (block) => { - return [...block.querySelectorAll('code')] - .map(code => code.textContent) - .join(''); -}; - -const getTableCode = (block) => { - return [...block.querySelectorAll('tr')] - .map(row => row.querySelector('td:last-child')?.innerText ?? '') - .join(''); +const getCodeContent = (block) => { + return [...block.querySelectorAll('.giallo-l')] + .map(line => { + const clone = line.cloneNode(true); + const ln = clone.querySelector('.giallo-ln'); + if (ln) ln.remove(); + return clone.textContent; + }) + .join('\n'); }; document.querySelectorAll("pre").forEach((block) => { @@ -30,5 +29,5 @@ document.querySelectorAll("pre").forEach((block) => { copyDiv.className = "cc svgs svgh copy"; copyDiv.innerHTML = " "; block.prepend(copyDiv); - copyDiv.addEventListener("click", () => copyCodeAndChangeIcon(copyDiv, block));; + copyDiv.addEventListener("click", () => copyCodeAndChangeIcon(copyDiv, block)); }); -- cgit v1.3.1