Behaviour now matches GH. Safeguard added in the for loop because
`textContent` may be null in which case it does not make sense to render
the copy button.
if (!els.length) return;
for (const el of els) {
+ if (!el.textContent) continue;
const btn = makeCodeCopyButton();
- btn.setAttribute('data-clipboard-text', el.textContent);
+ // remove final trailing newline introduced during HTML rendering
+ btn.setAttribute('data-clipboard-text', el.textContent.replace(/\r?\n$/, ''));
el.after(btn);
}
}