// onionring.js is made up of four files - onionring-widget.js (this one!), onionring-index.js, onionring-variables.js and onionring.css // it's licensed under the cooperative non-violent license (CNPL) v4+ (https://thufie.lain.haus/NPL.html) // it was originally made by joey + mord of allium (蒜) house, last updated 2020-11-24 // === ONIONRING-WIDGET === //this file contains the code which builds the widget shown on each page in the ring. ctrl+f 'EDIT THIS' if you're looking to change the actual html of the widget var tag = document.getElementById(ringID); //find the widget on the page thisSite = window.location.href; //get the url of the site we're currently on thisIndex = null; // FIX thisSite = thisSite.replace("alfieking.dev", "proot.uk"); // fix domain thisSite = thisSite.replace("http:\/\/127.0.0.1:5000", "https:\/\/proot.uk"); // For debug purposes // go through the site list to see if this site is on it and find its position for (i = 0; i < sites.length; i++) { if (thisSite.startsWith(sites[i])) { //we use startswith so this will match any subdirectory, users can put the widget on multiple pages thisIndex = i; break; //when we've found the site, we don't need to search any more, so stop the loop } } function randomSite() { otherSites = sites.slice(); //create a copy of the sites list otherSites.splice(thisIndex, 1); //remove the current site so we don't just land on it again randomIndex = Math.floor(Math.random() * otherSites.length); location.href = otherSites[randomIndex]; } //if we didn't find the site in the list, the widget displays a warning instead if (thisIndex == null) { tag.insertAdjacentHTML('afterbegin', `
| This site isn't part of the ${ringName} webring yet 😿 |