const COPY = "content_copy"; const COPIED = "done"; const copy = async (obj) => { // {{text}} await navigator.clipboard.writeText(obj.children[1].innerText).then( () => { let icon = obj.children[0].children[0]; icon.textContent = COPIED; setTimeout(() => (icon.textContent = COPY), 2500); }, (r) => alert(DPY_TRANSLATIONS.copy_code_error + '\n' + r.toString()) ); }; document.addEventListener("DOMContentLoaded", () => { let allCodeblocks = document.querySelectorAll("div[class='highlight']"); for (let codeblock of allCodeblocks) { codeblock.parentNode.className += " relative-copy"; let copyEl = document.createElement("span"); copyEl.addEventListener('click', () => copy(codeblock)); copyEl.className = "copy"; copyEl.setAttribute("aria-label", DPY_TRANSLATIONS.copy_code); copyEl.setAttribute("title", DPY_TRANSLATIONS.copy_code); let copyIcon = document.createElement("span"); copyIcon.className = "material-icons"; copyIcon.textContent = COPY; copyEl.append(copyIcon); codeblock.prepend(copyEl); } });