diff options
Diffstat (limited to 'html')
| -rw-r--r-- | html/js/linkableRules.js | 44 | ||||
| -rw-r--r-- | html/template.html | 20 |
2 files changed, 44 insertions, 20 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)$ |
