mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 00:36:34 +02:00
fix: strip trailing 'Copy code' from clipboard when copying code blocks (#788)
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d9404afa4d
commit
15c6c62df0
2 changed files with 19 additions and 0 deletions
18
docs/source/_static/js/fix-copy.js
Normal file
18
docs/source/_static/js/fix-copy.js
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
/* Fix: Prevent "Copy code" button label from appearing in clipboard content.
|
||||
*
|
||||
* sphinxawesome_theme inserts a copy button inside <pre> elements. When
|
||||
* clipboard.js selects all children of the <pre> to copy, the button's
|
||||
* sr-only text ("Copy code") is included in the selection. This listener
|
||||
* intercepts the copy event and strips that trailing label from the data
|
||||
* written to the clipboard.
|
||||
*/
|
||||
document.addEventListener('copy', function (e) {
|
||||
if (!e.clipboardData) { return; }
|
||||
var selection = window.getSelection();
|
||||
if (!selection) { return; }
|
||||
var text = selection.toString();
|
||||
var clean = text.replace(/\nCopy code\s*$/, '');
|
||||
if (clean === text) { return; }
|
||||
e.clipboardData.setData('text/plain', clean);
|
||||
e.preventDefault();
|
||||
}, true);
|
||||
|
|
@ -116,6 +116,7 @@ html_theme_options = asdict(theme_options)
|
|||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ["_static"]
|
||||
html_css_files = ["css/custom.css"]
|
||||
html_js_files = ["js/fix-copy.js"]
|
||||
|
||||
pygments_style = "lovelace"
|
||||
pygments_style_dark = "github-dark"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue