Circular webring registry and redirect service for the Nanoo Federation. Server render on Cloudflare workers via Astro.
Astro Cloudflare Workers Typescript CSS
SSoT for Nanoo Federation node registry. each member site connects in a circular webring - navigate forward or backward via redirect endpoints. Adding a site mean adding a JSON file to content collection.
- Runtime: Cloudflare Workers (Edge SSR)
- Framework: Astro v6 (SSR, server render)
- Content: Astro content collections with zod validation
- Styling: Plain CSS, Geist Mono
git clone https://github.com/nanoolabs/webrings.git
cd webrings
pnpm install
pnpm devsrc/
├── pages/ Routes (index.astro, next.ts, prev.ts)
├── content/rings/ Ring member data (JSON files per site)
├── components/ Astro component (RingNav.astro)
├── util/ Handshake renderer, protocol helper
└── consts.ts Site & registry metadata
Create src/content/rings/<ring>/<id>.json:
{ "name": "Site Name", "id": "your-id", "url": "https://example.dev" }Submit a PR.
- Dev:
pnpm dev - Build:
pnpm build - Deploy:
pnpm deploy
Part of nanoolabs.dev.
- Checkout
feat/your-feature. - Conventional Commits.
- Submit a PR.
Proprietary — Nanoo Labs © 2026.
Based on astro-webrings repository by Louis Escher (@louisescher). Refactored and extended by Nanoo Labs.