summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorBorber <borber.drum@gmail.com>2025-03-25 22:59:05 +0800
committerBorber <borber.drum@gmail.com>2025-03-25 22:59:05 +0800
commit0bfeae752f63dae4afa26fe587d4b628d2455d0e (patch)
tree8d2beea904b828f94c412ffba2275753e5db3edf /static
parent361e58e6660b646eb56a538f8840cccabcc01fed (diff)
fix: copy button position
Diffstat (limited to 'static')
-rw-r--r--static/js/copy-code.js35
1 files changed, 19 insertions, 16 deletions
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 <pre> 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)
+ })
+ })
+ })
+})