aboutsummaryrefslogtreecommitdiff
path: root/static/js/codecopy.js
diff options
context:
space:
mode:
authorJieiku2026-08-14 15:10:15 -0700
committerJieiku2026-08-14 15:10:15 -0700
commitc2d72e09747a2a4abe9602e1ba49a1b4649c9d3c (patch)
tree51a272ef184752e27bb70c07e4726dbdbbe6e237 /static/js/codecopy.js
parentd52609f456f233ec0845c8a57a1e27583f0813ad (diff)
downloadabridge-c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c.tar.gz
abridge-c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c.tar.bz2
abridge-c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c.zip
Update for Zola 0.23.3
Diffstat (limited to 'static/js/codecopy.js')
-rw-r--r--static/js/codecopy.js23
1 files changed, 11 insertions, 12 deletions
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));
});