Strip trailing newline in markdown code copy (#29019) (#29022)

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.

Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
Giteabot 2024-02-02 05:06:21 +08:00 committed by GitHub
parent 2588d73ebf
commit 5d1abdce3e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -12,8 +12,10 @@ export function renderCodeCopy() {
if (!els.length) return; if (!els.length) return;
for (const el of els) { for (const el of els) {
if (!el.textContent) continue;
const btn = makeCodeCopyButton(); 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); el.after(btn);
} }
} }