The ATL Webring links personal sites from atl.sh members into a ring — visitors can navigate from one site to the next, discovering what everyone is building and writing. The ring is self-managing and the widget auto-injects: just createDocumentation Index
Fetch the complete documentation index at: https://docs.allthingslinux.org/llms.txt
Use this file to discover all available pages before exploring further.
~/.ring and you’ll appear within 15 minutes, widget included.
Joining
You need two things:- A web page — your site must exist at
~/public_html/ - An opt-in file — create
~/.ringin your home directory
https://atl.sh/~your-username/) is used as your site URL.
External sites
If your primary site is elsewhere, you can point the ring at it:The Widget
The webring navigation bar is injected automatically into all~/public_html/ pages for ring members. You don’t need to add anything to your HTML. It appears as a fixed bar at the bottom of the page showing the names of the previous and next sites:
members.json on load and only renders for users who are actually in the ring — it does nothing on non-member pages.
Custom placement
If you want the widget in a specific location on your page rather than the auto-injected bottom bar, add an element withid="atl-webring" containing links with data-webring="prev" and data-webring="next":
href and text attributes with the real prev/next site names, instead of creating the default bottom bar.
Plain HTML fallback (no JavaScript)
If you prefer no JavaScript dependency at all, hardcode the links with your username:How It Works
A scan script runs every 15 minutes, checking every home directory for~/.ring and ~/public_html/. It builds /ring/members.json, sorted alphabetically by username for a stable ring order.
Nginx injects <script src="/ring/widget.js" defer></script> before </body> in every tilde page response. The script fetches members.json, finds the current user’s position in the ring, and renders the navigation bar — or does nothing if the user isn’t a member.
To leave the ring, delete ~/.ring:
members.json within 15 minutes and the widget stops rendering on your pages automatically.