From 994b347557ccf03af0cd910d8ba50d127b7a61dd Mon Sep 17 00:00:00 2001 From: dmlunar Date: Fri, 14 Mar 2025 13:56:27 +0200 Subject: journal: initial commit initial commit. --- assets/js/clipboard.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 assets/js/clipboard.js (limited to 'assets/js/clipboard.js') diff --git a/assets/js/clipboard.js b/assets/js/clipboard.js new file mode 100644 index 0000000..aaac12c --- /dev/null +++ b/assets/js/clipboard.js @@ -0,0 +1,27 @@ +const createCopyButton = (codeElement) => { + const img = document.createElement('img'); + img.classList.add('copy-code'); + img.src = '/assets/copy.svg'; + + img.addEventListener('click', () => { + var codeText = codeElement.querySelector('.rouge-code pre').textContent; + navigator.clipboard.writeText(codeText).then(() => { + img.style.border = "1px solid #00ff00"; + }).catch((err) => { + console.error('Failed to copy text: ', err); + }); + }); + + return img; +}; + +window.addEventListener('DOMContentLoaded', function() { + const codeElements = document.querySelectorAll('code'); + codeElements.forEach((codeElement) => { + const parentElement = codeElement.parentElement; + if (parentElement && parentElement.classList.contains('highlight')) { + const copyButton = createCopyButton(codeElement); + codeElement.insertBefore(copyButton, codeElement.firstChild); + } + }); +}); -- cgit v1.2.3-70-g09d2