Skip to content

Commit 2fca819

Browse files
authored
Fix copy copy (#111)
Closes #110.
1 parent 55a66ca commit 2fca819

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

‎docs/src/layouts/Base.astro‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,8 +268,19 @@ const nav = [
268268
pre.appendChild(btn);
269269

270270
btn.addEventListener("click", async () => {
271+
// nbconvert-rendered cells have no <code> inside <pre>, so we'd
272+
// fall back to pre.innerText — which includes this button's
273+
// "Copy" label. Strip copy buttons from a clone before reading.
271274
const code = pre.querySelector("code");
272-
const text = (code ? code.innerText : pre.innerText).replace(/\n$/, "");
275+
let raw;
276+
if (code) {
277+
raw = code.innerText;
278+
} else {
279+
const clone = pre.cloneNode(true);
280+
for (const el of clone.querySelectorAll(".copy-btn")) el.remove();
281+
raw = clone.innerText;
282+
}
283+
const text = raw.replace(/\n$/, "");
273284
try {
274285
await navigator.clipboard.writeText(text);
275286
} catch {

0 commit comments

Comments
 (0)