mirror of
				https://github.com/KevinMidboe/schleppe-lab.git
				synced 2025-10-29 17:50:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			901 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			901 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('figure.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);
 | |
|   });
 | |
| });
 |