document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('pre > code').forEach((codeBlock) => { const pre = codeBlock.parentNode; const button = document.createElement('button'); button.className = 'copy-code-button'; button.type = 'button'; button.innerText = 'Copy'; button.addEventListener('click', () => { const textToCopy = codeBlock.innerText; navigator.clipboard.writeText(textToCopy).then(() => { button.innerText = 'Copied!'; setTimeout(() => { button.innerText = 'Copy'; }, 2000); }).catch(err => { console.error('Failed to copy text: ', err); }); }); pre.appendChild(button); }); });