mirror of
https://github.com/KevinMidboe/schleppe-lab.git
synced 2025-10-29 09:40:39 +00:00
27 lines
894 B
JavaScript
27 lines
894 B
JavaScript
// This assumes that you're using Rouge; if not, update the selector
|
|
// const codeBlocks = document.querySelectorAll('.code-header + .highlighter-rouge');
|
|
const codeBlocks = document.querySelectorAll('.highlight');
|
|
const copyCodeButtons = document.querySelectorAll('.copy-code-button');
|
|
|
|
codeBlocks.forEach((codeBlock) => {
|
|
const copyButton = document.createElement('button');
|
|
copyButton.className = 'copy';
|
|
copyButton.type = 'button';
|
|
copyButton.ariaLabel = 'Copy code to clipboard';
|
|
copyButton.innerText = 'Copy';
|
|
|
|
codeBlock.append(copyButton);
|
|
|
|
copyButton.addEventListener('click', function () {
|
|
const code = codeBlock.querySelector('code').innerText.trim();
|
|
window.navigator.clipboard.writeText(code);
|
|
|
|
copyButton.innerText = 'Copied';
|
|
const fourSeconds = 4000;
|
|
|
|
setTimeout(function () {
|
|
copyButton.innerText = 'Copy';
|
|
}, fourSeconds);
|
|
});
|
|
});
|