summaryrefslogtreecommitdiff
path: root/themes/hugo-book/assets/clipboard.js
diff options
context:
space:
mode:
authoraethrvmn <me@aethrvmn.gr>2025-08-30 13:17:32 +0000
committeraethrvmn <me@aethrvmn.gr>2025-08-30 13:17:32 +0000
commit1147a663e70aadb2578cbe601bc723d7cd939c5a (patch)
treeb5100d2031328be3cfd3e9ae62730436bd573e0f /themes/hugo-book/assets/clipboard.js
parentadded .gitignore (diff)
added non-content
Diffstat (limited to '')
-rw-r--r--themes/hugo-book/assets/clipboard.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/themes/hugo-book/assets/clipboard.js b/themes/hugo-book/assets/clipboard.js
new file mode 100644
index 0000000..2799f2f
--- /dev/null
+++ b/themes/hugo-book/assets/clipboard.js
@@ -0,0 +1,24 @@
+(function () {
+ function select(element) {
+ const selection = window.getSelection();
+
+ const range = document.createRange();
+ range.selectNodeContents(element);
+
+ selection.removeAllRanges();
+ selection.addRange(range);
+ }
+
+ document.querySelectorAll("pre code").forEach(code => {
+ code.addEventListener("click", function (event) {
+ if (window.getSelection().toString()) {
+ return;
+ }
+ select(code.parentElement);
+
+ if (navigator.clipboard) {
+ navigator.clipboard.writeText(code.parentElement.textContent);
+ }
+ });
+ });
+})();
Directive (EU) 2019/790, Article 4(3); all rights regarding Text and Data Mining (TDM) are reserved.