From 1be4b3e1382b07ac9ac3037c9bf5b745cda1d056 Mon Sep 17 00:00:00 2001 From: D Date: Wed, 26 Mar 2025 14:02:46 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B2=AB=EB=B2=88=EC=A7=B8=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=EB=B8=94=EB=9F=AD=EC=97=90=EB=A7=8C=20copy-button=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=EB=90=98=EB=8A=94=20=ED=98=84=EC=83=81=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web_src/js/markup/codecopy.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/web_src/js/markup/codecopy.ts b/web_src/js/markup/codecopy.ts index 0dc5e40368..3ab14471e0 100644 --- a/web_src/js/markup/codecopy.ts +++ b/web_src/js/markup/codecopy.ts @@ -8,11 +8,13 @@ export function makeCodeCopyButton(): HTMLButtonElement { } export function initMarkupCodeCopy(elMarkup: HTMLElement): void { - const el = elMarkup.querySelector('.code-wrapper'); // .markup .code-block code - if (!el || !el.textContent) return; + const els = elMarkup.querySelectorAll('.code-wrapper'); // .markup .code-block code - const btn = makeCodeCopyButton(); - // remove final trailing newline introduced during HTML rendering - btn.setAttribute('data-clipboard-text', el.textContent.replace(/\r?\n$/, '')); - el.append(btn); + for (const el of els) { + if (!el || !el.textContent) return; + const btn = makeCodeCopyButton(); + // remove final trailing newline introduced during HTML rendering + btn.setAttribute('data-clipboard-text', el.textContent.replace(/\r?\n$/, '')); + el.append(btn); + } }