diff options
| author | Danilo M. <danix@danix.xyz> | 2026-04-18 19:27:34 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-04-18 19:27:34 +0200 |
| commit | 4562b92498bd794da4058a87c0c5cbb0d048f047 (patch) | |
| tree | 08cf251868c760e6d5144ae3a0351e0320b3568f | |
| parent | 17048ab79312f1752a296ab150984a4ef30aed5c (diff) | |
| download | danixxyz-4562b92498bd794da4058a87c0c5cbb0d048f047.tar.gz danixxyz-4562b92498bd794da4058a87c0c5cbb0d048f047.zip | |
fix: code block copy icon, light theme bg, horizontal scroll
- Use .icon-copy/.icon-check classes on <i> tags so Feather preserves them on generated <svg>; fixes copy button not swapping to checkmark
- Add .chroma to light theme background override so #eff1f5 applies correctly
- Change .chroma overflow: hidden to overflow-x: auto to restore horizontal scrolling for long code lines
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
3 files changed, 18 insertions, 8 deletions
diff --git a/themes/danix-xyz-hacker/assets/css/chroma-custom.css b/themes/danix-xyz-hacker/assets/css/chroma-custom.css index 11f4a4a..ef43ce2 100644 --- a/themes/danix-xyz-hacker/assets/css/chroma-custom.css +++ b/themes/danix-xyz-hacker/assets/css/chroma-custom.css @@ -98,7 +98,8 @@ overflow-x: auto; } -.code-body .highlight { +.code-body .highlight, +.code-body .highlight .chroma { margin: 0; border-radius: 0; border: none; @@ -148,10 +149,18 @@ background-color: var(--ctp-surface0); } +.highlight .lntd:first-child pre { + padding: 0.875rem 0; +} + .highlight .lntd:last-child pre { padding: 0.875rem 1rem; } +.highlight .chroma { + overflow-x: auto; +} + /* === Syntax token colors (dark theme default) === */ .highlight { @@ -332,7 +341,8 @@ html.theme-light .code-copy-btn:hover { background: rgba(76, 79, 105, 0.08); } -html.theme-light .code-body .highlight { +html.theme-light .code-body .highlight, +html.theme-light .code-body .highlight .chroma { background-color: #eff1f5; color: #4c4f69; } diff --git a/themes/danix-xyz-hacker/assets/js/code-copy.js b/themes/danix-xyz-hacker/assets/js/code-copy.js index bfcfd4a..8591436 100644 --- a/themes/danix-xyz-hacker/assets/js/code-copy.js +++ b/themes/danix-xyz-hacker/assets/js/code-copy.js @@ -53,16 +53,16 @@ if (!text) return; navigator.clipboard.writeText(text).then(function () { - var copyIcon = btn.querySelector('[data-feather="copy"]'); - var checkIcon = btn.querySelector('[data-feather="check"]'); + var copyIcon = btn.querySelector('.icon-copy'); + var checkIcon = btn.querySelector('.icon-check'); var liveRegion = wrapper.querySelector('.code-copy-status'); - if (copyIcon) copyIcon.style.display = 'none'; + if (copyIcon) copyIcon.classList.add('hidden'); if (checkIcon) checkIcon.classList.remove('hidden'); btn.classList.add('is-copied'); if (liveRegion) liveRegion.textContent = 'Code copied to clipboard.'; setTimeout(function () { - if (copyIcon) copyIcon.style.display = ''; + if (copyIcon) copyIcon.classList.remove('hidden'); if (checkIcon) checkIcon.classList.add('hidden'); btn.classList.remove('is-copied'); if (liveRegion) liveRegion.textContent = ''; diff --git a/themes/danix-xyz-hacker/layouts/_default/_markup/render-codeblock.html b/themes/danix-xyz-hacker/layouts/_default/_markup/render-codeblock.html index 813c389..2b48840 100644 --- a/themes/danix-xyz-hacker/layouts/_default/_markup/render-codeblock.html +++ b/themes/danix-xyz-hacker/layouts/_default/_markup/render-codeblock.html @@ -11,8 +11,8 @@ <div class="code-copy-wrapper"> <span role="status" aria-live="polite" class="sr-only code-copy-status"></span> <button class="code-copy-btn" aria-label="Copy code" data-copy-target> - <i data-feather="copy" aria-hidden="true"></i> - <i data-feather="check" aria-hidden="true" class="hidden"></i> + <i data-feather="copy" class="icon-copy" aria-hidden="true"></i> + <i data-feather="check" class="icon-check hidden" aria-hidden="true"></i> </button> </div> </div> |
