copyCode.js 711 B

12345678910111213141516171819202122
  1. addCopyButtons(navigator.clipboard)
  2. function addCopyButtons(clipboard) {
  3. document.querySelectorAll('pre > code').forEach(function (codeBlock) {
  4. const button = document.createElement('button')
  5. button.title = "Copy"
  6. button.className = 'copy-code-button btn btn-sm'
  7. button.innerHTML = "<i class='fa-regular fa-copy'></i>"
  8. button.addEventListener('click', function () {
  9. clipboard.writeText(codeBlock.innerText)
  10. })
  11. const pre = codeBlock.parentNode
  12. if (pre.parentNode.classList.contains('highlight')) {
  13. const highlight = pre.parentNode
  14. highlight.parentNode.insertBefore(button, highlight)
  15. } else {
  16. pre.parentNode.insertBefore(button, pre)
  17. }
  18. })
  19. }