window.addEventListener("load", function() { function button(label, ariaLabel, icon, className) { const btn = document.createElement("button"); btn.classList.add("btnIcon", className); btn.setAttribute("type", "button"); btn.setAttribute("aria-label", ariaLabel); btn.innerHTML = '
' + icon + '' + label + "" + "
"; return btn; } function addButtons(codeBlockSelector, btn) { document.querySelectorAll(codeBlockSelector).forEach(function(code) { code.parentNode.appendChild(btn.cloneNode(true)); }); } const copyIcon = ''; addButtons( ".hljs", button("Copy", "Copy code to clipboard", copyIcon, "btnClipboard") ); const clipboard = new ClipboardJS(".btnClipboard", { target: function(trigger) { return trigger.parentNode.querySelector("code"); } }); clipboard.on("success", function(event) { event.clearSelection(); const textEl = event.trigger.querySelector(".btnIcon__label"); textEl.textContent = "Copied"; setTimeout(function() { textEl.textContent = "Copy"; }, 2000); }); });