Henlo, I just found this forum and I decided to join.
I am a web developer and lately I grew very tired of the internet because of, you know, the crap we have now compared to the old internet.
So I decided to maybe gather people and bring back webrings in order to build back a cleaner, useful web.
I have also in mind to call them islands but I dunno. Since in my mind these are supposed to be safe islands where you can find useful stuff, not crap posted only for monetization.
Anyway, heres the stuff.
How It Works
Each site includes a small JavaScript snippet that:
- Fetches the current webring configuration from an API
- Determines the site's position in the ring
- Provides navigation to previous/next sites
- Updates automatically when new sites join
Configuration
{ "name": "Awesome Dev Blogs", "sites": [ { "name": "Tech Insights", "url": "https://techinsights.dev" }, { "name": "Code Adventures", "url": "https://codeadventures.blog" }, { "name": "My Awesome Blog", "url": "https://myawesomeblog.com" }, { "name": "Developer Diary", "url": "https://devdiary.net" }, { "name": "Programming Thoughts", "url": "https://progthoughts.io" } ] }
JS script
<script> (function() { const WEBRING_CONFIG_URL = 'https://your-domain.com/webring-config.json'; const CURRENT_SITE_URL = window.location.hostname; async function loadWebring() { try { const response = await fetch(WEBRING_CONFIG_URL); const config = await response.json(); const currentIndex = config.sites.findIndex(site => site.url.includes(CURRENT_SITE_URL) ); if (currentIndex === -1) return; // Site not in ring const totalSites = config.sites.length; const prevIndex = (currentIndex - 1 + totalSites) % totalSites; const nextIndex = (currentIndex + 1) % totalSites; // Create webring widget const widget = document.createElement('div'); widget.innerHTML =
<div style="background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 20px; border-radius: 10px; text-align: center; margin: 20px 0;"> <h3>🌐 ${config.name}</h3> <div style="display: flex; justify-content: space-between; align-items: center; gap: 15px;"> <a href="${config.sites[prevIndex].url}" style="background: rgba(255,255,255,0.2); border: 2px solid rgba(255,255,255,0.3); color: white; padding: 10px 20px; border-radius: 25px; text-decoration: none; font-weight: bold;">← Previous</a> <div style="flex-grow: 1; font-size: 0.9em; opacity: 0.9;"> <div>Site ${currentIndex + 1} of ${totalSites}</div> <div>${config.sites[currentIndex].name}</div> </div> <a href="${config.sites[nextIndex].url}" style="background: rgba(255,255,255,0.2); border: 2px solid rgba(255,255,255,0.3); color: white; padding: 10px 20px; border-radius: 25px; text-decoration: none; font-weight: bold;">Next →</a> </div> </div> ; // Insert widget (you can customize where) const targetElement = document.querySelector('#webring-container') || document.body; targetElement.appendChild(widget); } catch (error) { console.error('Failed to load webring:', error); } } // Load webring when page is ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', loadWebring); } else { loadWebring(); } })(); </script>
HTML snippet
<!-- Just add this to your site's HTML --> <div id="webring-container"></div> <script src="https://your-domain.com/webring.js"></script>
This is of course an initial draft, in my mind to join you must:
- Sign up to a platform created for the purpose
- Add your website to the preferred ring/island
- The website would then be checked to see if it adheres to rhe ring/island rules
- You will be notified if the website is accepted
Standard rules I have in mind for every ring are:
- No popup hell or aggressive advertising (This is to prevent websites where you are bombarded with ads to read a recipe to make porridge)
- No paywalls for free stuff, if you label it as free, you must provide it for free, the user must be able to complete the process without the need to sign up. You can have pricing options, but the user must not be forced to sign up in oder to download, for example a PDF generated with your website.
- Tracking is permitted but it has to be minimal. (If we talk about checking how many visitors you have, ok, if you want to spy on them, nope)
- No crypto, NFT
- No adult rings will be ever created, if you want that stuff you have the normal web.
In my amazing world filled with 90s and 2000s nostalgia, this project could lead to have a parallel web where only useful and truly free content resides.