Add copy function
This commit is contained in:
parent
a31d714e23
commit
95a3f2f83c
1 changed files with 29 additions and 5 deletions
|
@ -1,5 +1,29 @@
|
|||
console.log("This site was generated by Hugo.");
|
||||
function copyText() {
|
||||
const text = document.getElementById("copyText").innerText;
|
||||
navigator.clipboard.writeText(text);
|
||||
}
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
const codeBlocks = document.querySelectorAll("pre, code");
|
||||
|
||||
codeBlocks.forEach(function (codeBlock) {
|
||||
codeBlock.style.cursor = "pointer";
|
||||
codeBlock.title = "Click to copy";
|
||||
|
||||
codeBlock.addEventListener("click", function () {
|
||||
const selection = window.getSelection();
|
||||
const range = document.createRange();
|
||||
range.selectNodeContents(codeBlock);
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(range);
|
||||
|
||||
try {
|
||||
document.execCommand("copy");
|
||||
const originalText = codeBlock.innerText;
|
||||
codeBlock.innerText = "Copied!";
|
||||
setTimeout(function () {
|
||||
codeBlock.innerText = originalText;
|
||||
}, 1000); // Reset the text after 1 second
|
||||
} catch (err) {
|
||||
console.error("Unable to copy:", err);
|
||||
}
|
||||
|
||||
selection.removeAllRanges();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue