/* @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. */ var highlightedRule; 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"); e.onclick = function(event) { if (e.matches(':hover') || e.matches(':active')) { // Set background with JS for more control if (highlightedRule) { highlightedRule.classList.remove("highlighted"); } highlightedRule = e; e.classList.add("highlighted"); const origin = window.location.origin; const path = window.location.pathname; const anchor = e.id; let url = origin + '/' + path + '#' + anchor; navigator.clipboard.writeText(url); // Stop the event handling for potential parent rules event.stopPropagation(); } } } } window.onload = function() { prepareLinkableRules(); console.log("loaded"); }