diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2025-06-08 20:18:49 -0500 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-07-03 22:01:22 -0400 |
| commit | c82e8a3b86c0e09b9b003d8e27f660d1c041c067 (patch) | |
| tree | 29b169d6e633406d586889411c8a9c782ed3076d | |
| parent | ac17d110ce1d8d6660c26a2fef39dc76c5c160ef (diff) | |
| download | muhqs-game-c82e8a3b86c0e09b9b003d8e27f660d1c041c067.tar.gz muhqs-game-c82e8a3b86c0e09b9b003d8e27f660d1c041c067.zip | |
move linkable rule js into seperate file
| -rw-r--r-- | html/js/linkableRules.js | 44 | ||||
| -rw-r--r-- | html/template.html | 20 | ||||
| -rw-r--r-- | rules/de/rules.md | 3 | ||||
| -rw-r--r-- | rules/en/rules.md | 5 |
4 files changed, 50 insertions, 22 deletions
diff --git a/html/js/linkableRules.js b/html/js/linkableRules.js new file mode 100644 index 00000000..82261a1e --- /dev/null +++ b/html/js/linkableRules.js @@ -0,0 +1,44 @@ +/* +@licstart The following is the entire license notice for the +JavaScript code in this page. + +Copyright (C) 2025 Florian Fischer + +The JavaScript code in this page is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or any later version. +The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + +@licend The above is the entire license notice +for the JavaScript code in this page. +*/ +function prepareLinkableRules() { + for (let e of document.querySelectorAll(".rule")) { + // Add class via js to ensure there is no wrong + // sense of functionality in browsers without js + e.classList.add("linkable-rule"); + // TODO: support nested lists + e.onclick = function() { + if (e.matches(':hover') || e.matches(':active')) { + const origin = window.location.origin; + const path = window.location.pathname; + const anchor = e.id; + let url = origin + '/' + path + '#' + anchor; + navigator.clipboard.writeText(url); + // document.getElementsByTagName("body")[0].focus(); + } + } + } +} +window.onload = function() { + prepareLinkableRules(); +} diff --git a/html/template.html b/html/template.html index 5e473e3e..00f07880 100644 --- a/html/template.html +++ b/html/template.html @@ -276,26 +276,6 @@ $endif$ $for(header-includes)$ $header-includes$ $endfor$ -<script> -window.onload = function() { - for (let e of document.querySelectorAll(".rule")) { - // Add class via js to ensure there is no wrong - // sense of functionality in browsers without js - e.classList.add("linkable-rule"); - // TODO: support nested lists - e.onclick = function() { - if (e.matches(':hover') || e.matches(':active')) { - const origin = window.location.origin; - const path = window.location.pathname; - const anchor = e.id; - let url = origin + '/' + path + '#' + anchor; - navigator.clipboard.writeText(url); - // document.getElementsByTagName("body")[0].focus(); - } - } - } -} -</script> </head> <body> $for(include-before)$ diff --git a/rules/de/rules.md b/rules/de/rules.md index 3f539eea..fce3f43b 100644 --- a/rules/de/rules.md +++ b/rules/de/rules.md @@ -1,6 +1,7 @@ --- -title: muhq's game rules +title: Muhq's Spiel Regeln lang: de +header-includes: '<script src="../js/linkableRules.js"></script>' --- # Grundideen {.unnumbered} diff --git a/rules/en/rules.md b/rules/en/rules.md index 6180fe27..302a96f2 100644 --- a/rules/en/rules.md +++ b/rules/en/rules.md @@ -1,4 +1,7 @@ -% muhq's game rules +--- +title: Muhq's Game Rules +header-includes: '<script src="../js/linkableRules.js"></script>' +--- # Ideas {.unnumbered} |
