From 0bfeae752f63dae4afa26fe587d4b628d2455d0e Mon Sep 17 00:00:00 2001 From: Borber Date: Tue, 25 Mar 2025 22:59:05 +0800 Subject: fix: copy button position --- static/js/copy-code.js | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'static/js/copy-code.js') diff --git a/static/js/copy-code.js b/static/js/copy-code.js index 2de3cda..ee7cdc7 100644 --- a/static/js/copy-code.js +++ b/static/js/copy-code.js @@ -1,34 +1,37 @@ document.addEventListener("DOMContentLoaded", function () { - const codeBlocks = document.querySelectorAll("pre"); + const codeBlocks = document.querySelectorAll(".highlight") codeBlocks.forEach((codeBlock) => { - if (codeBlock.className == "mermaid") return; - const copyButton = document.createElement("button"); - copyButton.className = "copy-code-button"; - copyButton.textContent = "copy"; + if (codeBlock.className == "mermaid") return + const copyButton = document.createElement("button") + copyButton.className = "copy-code-button" + copyButton.textContent = "copy" + const copyButtonContainer = document.createElement("div") + copyButtonContainer.className = "copy-code-container" + copyButtonContainer.appendChild(copyButton) // Insert the button inside the
 block
-    codeBlock.appendChild(copyButton);
+    codeBlock.appendChild(copyButton)
 
     copyButton.addEventListener("click", function () {
-      const code = codeBlock.querySelector("code");
+      const code = codeBlock.querySelector("code")
       // Get the code content
-      const textToCopy = code.textContent || code.innerText;
+      const textToCopy = code.textContent || code.innerText
 
       // Use the Clipboard API to copy the text
       navigator.clipboard
         .writeText(textToCopy)
         .then(() => {
           // Change button text to "Copied"
-          copyButton.textContent = "copied";
+          copyButton.textContent = "copied"
 
           setTimeout(() => {
-            copyButton.textContent = "copy";
-          }, 2000); // Reset the button text after 2 seconds
+            copyButton.textContent = "copy"
+          }, 2000) // Reset the button text after 2 seconds
         })
         .catch((err) => {
-          console.error("Unable to copy text:", err);
-        });
-    });
-  });
-});
+          console.error("Unable to copy text:", err)
+        })
+    })
+  })
+})
-- 
cgit v1.2.3