code: add copy-to-clipboard to pre-only elements #1036

This commit is contained in:
Sören Weber 2025-02-23 13:17:14 +01:00
parent 6813ad02b4
commit 1dfc98d640
No known key found for this signature in database
GPG key ID: BEC6D55545451B6D
2 changed files with 15 additions and 2 deletions

View file

@ -1 +1 @@
7.4.1+68220ad15a241c2305244bd51ece487a68c267ca
7.4.1+6813ad02b4939a07d7f964c58b90d646434252aa

View file

@ -646,7 +646,20 @@ function initCodeClipboard() {
}
});
var codeElements = document.querySelectorAll('code');
var preOnlyElements = document.querySelectorAll('pre > :not(code), pre:not(:has(>*))');
for (var i = 0; i < preOnlyElements.length; i++) {
// move everything down one level so that it fits to the next selector
// and we also get copy-to-clipboard for pre-only elements
var pre = preOnlyElements[i];
var div = document.createElement('div');
div.classList.add('pre-only');
while (pre.firstChild) {
div.appendChild(pre.firstChild);
}
pre.appendChild(div, pre);
}
var codeElements = document.querySelectorAll('code, .pre-only');
for (var i = 0; i < codeElements.length; i++) {
var code = codeElements[i];
var text = getCodeText(code);