Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxboeck/webring

A boilerplate for hosting a webring community
https://github.com/maxboeck/webring

Last synced: about 2 months ago
JSON representation

A boilerplate for hosting a webring community

Awesome Lists containing this project

README

        

# Webring Starter Kit

A boilerplate to host your own community of sites, also known as a [webring](https://en.wikipedia.org/wiki/Webring).
Inspired by posts from [Tatiana Mac](https://twitter.com/TatianaTMac/status/1114388079630929926) and [Charlie Owen](https://www.sonniesedge.net/posts/webrings).

Uses [Eleventy](https://www.11ty.io) and [Netlify](https://www.netlify.com/) to build a central directory for member sites. People can link to `/prev`, `/random` and `/next` and be redirected to members of the ring.

✏️ Explanatory [Blog Post](https://mxb.dev/blog/webring-kit/)

## Features

* Admins manage the ring on Github
* Members are defined in `src/data/members.json`
* Let people add their site through pull request or submit via email form
* Publish a code of conduct
* Provide an embed code that renders a banner (as a web component)
* Publish an index of all member RSS feeds
* show a SVG map of the ring and its members

## Example

See the __[Demo Site](https://webringdemo.netlify.com)__ generated by this code.

## How to host a ring

1. Fork this repo
2. Edit `src/data/meta.json` and fill in your community info
3. Add an avatar image for your ring to `src/assets/images`
4. Remove the demo members in `src/data/members.json`
5. Deploy your site to Netlify
6. After you've set a domain, enter that in `meta.json` as well.

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/maxboeck/webring)

## Banner Embed

Members can copy a code snippet and embed it into their sites.
It renders a web component (with the bare links as a fallback).

The index site will produce an embed code with your ring URL and title:

```html

Member of {{ your-title }}


Previous
Random
Next

```

The design is up to the ring admins. It could look something like this:

![the banner widget](https://mxb.dev/assets/media/webrings/banner.png)

## Local Development

To build the site locally, run these commands:

```shell
# clone this repository
git clone [email protected]:maxboeck/webring.git

# go to the working directory
cd webring

# install dependencies
yarn

# start a local build server and the gulp pipeline
yarn start
```