Added support for removing copy-to-clipboard button

This commit is contained in:
squidfunk 2022-11-12 14:32:13 +01:00
parent 557163a482
commit 128e26742c
10 changed files with 23 additions and 17 deletions

View File

@ -16,5 +16,5 @@
{% endblock %}
{% block scripts %}
{{ super() }}
<script src="{{ 'assets/javascripts/custom.f37eceaf.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/custom.a42114f4.min.js' | url }}"></script>
{% endblock %}

View File

@ -245,7 +245,7 @@
</script>
{% endblock %}
{% block scripts %}
<script src="{{ 'assets/javascripts/bundle.4ef4f6b1.min.js' | url }}"></script>
<script src="{{ 'assets/javascripts/bundle.bde97ade.min.js' | url }}"></script>
{% for path in config.extra_javascript %}
<script src="{{ path | url }}"></script>
{% endfor %}

View File

@ -40,6 +40,7 @@ theme:
features:
# - announce.dismiss
- content.code.annotate
- content.code.copy
# - content.tabs.link
- content.tooltips
# - header.autohide

2
package-lock.json generated
View File

@ -66,7 +66,7 @@
"stylelint-config-recommended": "^9.0.0",
"stylelint-config-standard-scss": "^6.1.0",
"stylelint-scss": "^4.3.0",
"svgo": "3.0.0",
"svgo": "^3.0.0",
"tiny-glob": "^0.2.9",
"ts-node": "^10.9.1",
"typescript": "^4.8.4"

View File

@ -32,6 +32,7 @@ import { getElement, getLocation } from "~/browser"
export type Flag =
| "announce.dismiss" /* Dismissable announcement bar */
| "content.code.annotate" /* Code annotations */
| "content.code.copy" /* Code copy button */
| "content.lazy" /* Lazy content elements */
| "content.tabs.link" /* Link content tabs */
| "header.autohide" /* Hide header */

View File

@ -173,12 +173,16 @@ export function mountCodeBlock(
/* Render button for Clipboard.js integration */
if (ClipboardJS.isSupported()) {
const parent = el.closest("pre")!
parent.id = `__code_${++sequence}`
parent.insertBefore(
renderClipboardButton(parent.id),
el
)
if (el.closest(".copy") || (
feature("content.code.copy") && !el.closest(".no-copy")
)) {
const parent = el.closest("pre")!
parent.id = `__code_${++sequence}`
parent.insertBefore(
renderClipboardButton(parent.id),
el
)
}
}
/* Handle code annotations */