Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/alex-shpak/hugo-book.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Shpak <alex-shpak@users.noreply.github.com>2021-05-04 00:52:00 +0300
committerAlex Shpak <alex-shpak@users.noreply.github.com>2021-05-04 00:52:00 +0300
commit6720168dd507dfaf58629718ef6bc7b7073699b2 (patch)
tree63a1ecc38140c0d5ce02cb1f507d8da9fffc66c1
parent6a1932611cb183f913c4b827cffa2b0b11dbdc4f (diff)
#281, Copy code block content on click
-rw-r--r--assets/clipboard.js21
-rw-r--r--layouts/partials/docs/footer.html5
2 files changed, 26 insertions, 0 deletions
diff --git a/assets/clipboard.js b/assets/clipboard.js
new file mode 100644
index 0000000..fdf84cf
--- /dev/null
+++ b/assets/clipboard.js
@@ -0,0 +1,21 @@
+(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) {
+ select(code.parentElement);
+
+ if (navigator.clipboard) {
+ navigator.clipboard.writeText(code.parentElement.textContent);
+ }
+ });
+ });
+})();
diff --git a/layouts/partials/docs/footer.html b/layouts/partials/docs/footer.html
index 7f1a08a..6e1a694 100644
--- a/layouts/partials/docs/footer.html
+++ b/layouts/partials/docs/footer.html
@@ -23,3 +23,8 @@
</div>
{{ end }}
</div>
+
+{{ $script := resources.Get "clipboard.js" | resources.Minify }}
+{{ with $script.Content }}
+ <script>{{ . | safeJS }}</script>
+{{ end }}