From c82e8a3b86c0e09b9b003d8e27f660d1c041c067 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Sun, 8 Jun 2025 20:18:49 -0500 Subject: move linkable rule js into seperate file --- html/js/linkableRules.js | 44 ++++++++++++++++++++++++++++++++++++++++++++ html/template.html | 20 -------------------- 2 files changed, 44 insertions(+), 20 deletions(-) create mode 100644 html/js/linkableRules.js (limited to 'html') 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$ - $for(include-before)$ -- cgit v1.2.3