on df88ba5 help sign in
webring/README.md
82 lines 5.1 kB history raw
1# Webring
3This [webring](https://wiki.xxiivv.com/webring) is an attempt to inspire artists & developers to create and maintain their own website and share traffic among each other. The webring's aim is to share hand-crafted websites such as **diaries, wikis & portfolios**.
5## Join the webring
7```
8<a href='https://webring.xxiivv.com/#random' target='_blank'><img src='https://webring.xxiivv.com/icon.black.svg'/></a>
9```
11- Add the webring icon to your website html.
12- Add your website information to the [sites.js](https://github.com/XXIIVV/webring/edit/master/scripts/sites.js) file. The `url` and `contact` keys are required, but you can also include `title`, `type`, `author`, `rss`, and `feed`. The title must be alphanumeric.
13- Submit a Pull Request with **the location of the webring icon** on your site.
15Alternatively, if you your website has a dark background, use `icon.white.svg`. If your website is complaining about *https*, go ahead and host the icon yourself.
17### Webring criteria
19**Single page websites, websites acting only as portals to other social platforms and websites with content involving violence, racism, sexism or speciesism, will be rejected**.
21The aim of the webring is to display **hand-crafted personal** websites showcasing the creator's audio, visual or written work. Your business site is probably not the best fit for the webring, and will be rejected.
23If it's seen that your website is in violation to any of these rules your site will be removed from the webring. If you fix the issues, feel free to submit another PR to join back in.
25### Circular Linking
27Instead of linking to the directory, you can also link to the next link in the ring by adding parts of your site or domain in the hash of the request url:
29```
30<a href='https://webring.xxiivv.com/#wiki.xxiivv' target='_blank' rel="noopener noreferrer"><img src='https://webring.xxiivv.com/icon.black.svg'/></a>
31```
33### Joining the hallway
35[The Hallway](https://webring.xxiivv.com/hallway.html) is a decentralized forum using [twtxt](https://twtxt.readthedocs.io/en/stable/user/twtxtfile.html) feeds.
37To join, create a `.txt` file on your site, add its URL to [your webring entry](https://github.com/XXIIVV/Webring/blob/master/scripts/sites.js) as `feed:`, and fill in your desired name for `author:`. The content of the file should be a dateISO string, a tab(or 3 spaces) and a message:
39```
402016-02-04T13:30:00+01:00 You can really go crazy here! ┐(゚∀゚)┌
412016-02-03T23:05:00+01:00 @<example http://example.org/twtxt.txt> welcome to twtxt!
422016-02-01T11:00:00+01:00 This is just another example.
432015-12-12T12:00:00+01:00 Fiat lux!
44```
46This file needs to be accessible via CORS, so if you're self-hosting, please make sure to allow the `webring.xxiivv.com` origin.
47Here's an example of how to do so with Nginx:
49```
50location / {
51 index index.html;
52 if ($request_method = 'GET') {
53 add_header 'Access-Control-Allow-Origin' 'https://webring.xxiivv.com';
54 add_header 'Access-Control-Allow-Methods' 'GET';
55 add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
56 add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
57 }
59```
61You don't need to allow all origins nor allow any other methods rather than GET, doing so can harm the security of your website, please read about [Cross-Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) if you intend to do anything more complicated.
63### Joining the wiki
65[The Wiki](https://webring.xxiivv.com/wiki.html) is a decentralized encyclopedia using [ndtl](https://wiki.xxiivv.com/Indental) feeds.
67To join, create a `.ndtl` file on your site, and add its URL to [your webring entry](https://github.com/XXIIVV/Webring/blob/master/scripts/sites.js) as `wiki:`.
69## Webring CLI
71If you'd prefer to interact with the webring through your terminal, you can clone or install the [webring-cli](https://github.com/ckipp01/webring-cli).
73## API
75This repository does not contain mature API capabilities, but there are a couple ways to request a list of sites and other information currently in the webring.
77- Request [sites.js on xxiivv](https://webring.xxiivv.com/scripts/sites.js) or [sites.js on github](https://raw.githubusercontent.com/XXIIVV/webring/master/scripts/sites.js) and parse it. An example can be seen [here](https://gist.github.com/ckipp01/2ab7ac42e2837b4359efeb76eb49bb54).
78- If you'd like a already parsed list, [webring-checker.now.sh/sites](https://webring-checker.now.sh/sites) will return an json array of the site objects in the webring. See [webring-checker.now.sh](https://webring-checker.now.sh) for more info on what else is available.
80## Need Help?
82The ring is managed by [@neauoire](https://twitter.com/neauoire), but any member of the network is also welcome to join this repository as a collaborator to help manage new links and Pull Requests. Read more about the webring [here](https://wiki.xxiivv.com/webring).