diff --git a/docs/assets/plugins/code-block/code-block.js b/docs/assets/plugins/code-block/code-block.js index 45c20486..fc7ceb18 100644 --- a/docs/assets/plugins/code-block/code-block.js +++ b/docs/assets/plugins/code-block/code-block.js @@ -31,55 +31,43 @@ [...doc.querySelectorAll('code[class^="lang-"]')].map(code => { if (code.classList.contains('preview')) { - const codeBlock = document.createElement('div'); - const preview = document.createElement('div'); const pre = code.closest('pre'); const preId = `code-block-preview-${count}`; - const toggle = document.createElement('button'); const toggleId = `code-block-toggle-${count}`; - wrap(pre, codeBlock); - - codeBlock.classList.add('code-block'); - - preview.classList.add('code-block__preview'); - preview.innerHTML = code.textContent; - preview.innerHTML += ` -
- -
- `; - pre.id = preId; pre.classList.add('code-block__source'); pre.setAttribute('data-lang', pre.getAttribute('data-lang').replace(/ preview$/, '')); pre.setAttribute('aria-labelledby', toggleId); - toggle.id = toggleId; - toggle.type = 'button'; - toggle.classList.add('code-block__toggle'); - toggle.setAttribute('aria-expanded', 'false'); - toggle.setAttribute('aria-controls', preId); - toggle.innerHTML = ` - Source + const codeBlock = ` +
+
+ ${code.textContent} +
+ +
+
- - - + ${pre.outerHTML} + + +
`; - codeBlock.prepend(preview); - codeBlock.append(toggle); + pre.replaceWith(domParser.parseFromString(codeBlock, 'text/html').body); count++; }