on 35788df help sign in
19 files changed+644−215
since splitsnapshots
unifiedsplit
.github/ISSUE_TEMPLATE/broken-link.md+10 .github/ISSUE_TEMPLATE/hallway-issue.md+10 .github/ISSUE_TEMPLATE/inappropriate-content.md+14 .github/ISSUE_TEMPLATE/name-of-website.md−9 .github/ISSUE_TEMPLATE/portal-issue.md+10 .github/ISSUE_TEMPLATE/wiki-issue.md+10 .github/PULL_REQUEST_TEMPLATE/add-site.md+14 404.html+1−8 README.md+31−14 favicon.ico icon.black.large.svg+13 index.html+504−17 links/fonts.css−15 links/main.css+14−19 media/fonts/input_mono_medium.ttf media/fonts/input_mono_regular.ttf media/icon.black.large.svg+13 scripts/portal.js−63 scripts/sites.js−70
.github/ISSUE_TEMPLATE/broken-link.mdnew file+10
@@ -0,0 +1,10 @@
1+---
2+name: Broken link
3+about: Report a broken link in the webring
4+title: ''
5+labels: broken link
6+assignees: neauoire, kodedninja, joshavanier, ckipp01
7+
8+---
9+
10+**Name of the site:**
.github/ISSUE_TEMPLATE/hallway-issue.mdnew file+10
@@ -0,0 +1,10 @@
1+---
2+name: Hallway issue
3+about: Report an issue with the Hallway
4+title: ''
5+labels: hallway
6+assignees: neauoire, kodedninja, joshavanier, ckipp01
7+
8+---
9+
10+**Please describe the issue in the hallway:**
.github/ISSUE_TEMPLATE/inappropriate-content.mdnew file+14
@@ -0,0 +1,14 @@
1+---
2+name: Inappropriate content
3+about: Report inappropriate content in the webring
4+title: ''
5+labels: ''
6+assignees: neauoire, kodedninja, joshavanier, ckipp01
7+
8+---
9+
10+**Name of the site:**
11+
12+
13+
14+**Please explain what is inappropriate and link if necessary:**
.github/ISSUE_TEMPLATE/name-of-website.mddeleted−9
@@ -1,9 +0,0 @@
1−---
2−name: name.of.website
3−about: Describe this issue template's purpose here.
4−
5−---
6−
7−```
8−Position of webring icon on site: ex: footer, header
9−```
.github/ISSUE_TEMPLATE/portal-issue.mdnew file+10
@@ -0,0 +1,10 @@
1+---
2+name: Portal issue
3+about: Report an issue with the Portal
4+title: ''
5+labels: portal
6+assignees: neauoire, kodedninja, joshavanier, ckipp01
7+
8+---
9+
10+**Please describe the issue in the portal:**
.github/ISSUE_TEMPLATE/wiki-issue.mdnew file+10
@@ -0,0 +1,10 @@
1+---
2+name: Wiki issue
3+about: Report an issue with the Wiki
4+title: ''
5+labels: wiki
6+assignees: neauoire, kodedninja, joshavanier, ckipp01
7+
8+---
9+
10+**Please describe the issue in the wiki:**
.github/PULL_REQUEST_TEMPLATE/add-site.mdnew file+14
@@ -0,0 +1,14 @@
1+---
2+name: add.site
3+about: Submitting a new site to the webring
4+title: ''
5+labels: ''
6+assignees: neauoire, kodedninja, joshavanier, ckipp01
7+
8+---
9+
10+**Position of webring icon on site:**
11+
12+ex: footer, header
13+
14+**Make sure the contact key is also filled out in case we need to contact you**
404.html+1−8
@@ -6,13 +6,6 @@ permalink: /404.html
66<head>
77 <meta charset="utf-8">
88 <title>Loading..</title>
9+ <meta http-equiv='refresh' content='0; url=index.html' />
910</head>
10−<body style='background:black'>
11− <script>
12− const parts = window.location.pathname.split("/")
13− const target = parts.slice(-1);
14− parts.splice(-1)
15− document.location.href = parts.join("/")+"/#"+target
16− </script>
17−</body>
1811</html>
README.md+31−14
@@ -1,6 +1,6 @@
11# Webring
22
3−This [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**, single pagers with nothing but outgoing links to social platforms will be rejected. To add yourself to the ring, submit an [edit](https://github.com/XXIIVV/webring/edit/master/scripts/sites.js) to this repository.
3+This [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 rich hand-crafted websites such as **diaries, wikis & portfolios**.
44
55## Join the webring
66
@@ -8,27 +8,44 @@ This [webring](https://wiki.xxiivv.com/webring) is an attempt to inspire artists
88<a href='https://webring.xxiivv.com/#random' target='_blank'><img src='https://webring.xxiivv.com/icon.black.svg'/></a>
99```
1010
11−- Add the webring icon to your website html.
12−- Add your website url to the [sites.js](https://github.com/XXIIVV/webring/edit/master/scripts/sites.js) file.
13−- Submit a Pull Request with the location of the webring icon on your site.
11+1) Add the webring icon to your website html.
12+2) Add your website information to the [index.html](https://github.com/XXIIVV/webring/edit/master/index.html) file. Keep your link name short, and don't leave a trailing `/` in the `href` attribute. Use a sensible alphanumeric value for the id.
13+3) Submit a Pull Request with **the location of the webring icon** on your site. Pull requests with blank descriptions will be rejected.
1414
15−Alternatively, if you your website has a dark background, use `icon.white.svg`. If your website is complaning about *https*, go ahead and host the icon yourself.
15+Alternatively, 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.
1616
17−### Circular Linking
17+### Webring criteria
1818
19−Instead 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:
19+**Single page websites, websites acting only as portals to other social platforms, or websites with violent, racist, sexist or speciesist content will be rejected**.
20+
21+The 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.
22+
23+If your website requires Javascript to display the majority of its content or to navigate, it will be rejected. Your website needs its own domain, we do not accept `github.io` domains anymore.
24+
25+If 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.
26+
27+#### Adding your RSS/TWTXT
28+
29+To add an extra feed to your entry, add them within your `<li>` tag as follow:
2030
2131```
22−<a href='https://webring.xxiivv.com/#wiki.xxiivv' target='_blank'><img src='https://webring.xxiivv.com/icon.black.svg'/></a>
32+<li data-lang="en" id="xxiivv">
33+ <a href="https://wiki.xxiivv.com">xxiivv</a>
34+ <a href="https://wiki.xxiivv.com/twtxt.txt" class="twtxt">twtxt</a>
35+ <a href="https://wiki.xxiivv.com/links/rss.xml" class="rss">rss</a>
36+</li>
2337```
2438
25−## API
39+[twtxt](https://twtxt.readthedocs.io/en/stable/) is a decentralized, minimalist microblogging service for hackers. You're welcome to add your twtxt feed alongside your RSS feed. If you're looking a minimal C99 client for twtxt, try [this](https://github.com/neauoire/twtxtc).
40+
41+### Circular Linking
2642
27−This repository does not contain mature API capabilities, but there is one way to request list of sites currently in the webring.
43+Instead 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:
2844
29−- 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)
30−- Parse it as text from `[` to `]`, split by `,` and then trim all whitespace and `"` in resulting array.
45+```
46+<a href='https://webring.xxiivv.com/#xxiivv' target='_blank' rel="noopener noreferrer"><img src='https://webring.xxiivv.com/icon.black.svg'/></a>
47+```
3148
32−## Need Help?
49+## Help
3350
34−The 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 [here](https://wiki.xxiivv.com/webring).
51+The ring is managed by [@neauoire](https://merveilles.town/@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).
favicon.iconew file

Binary file not shown.

icon.black.large.svgnew file+13
@@ -0,0 +1,13 @@
1+<svg class="vector" width="300px" height="300px" xmlns="http://www.w3.org/2000/svg" baseProfile="full" version="1.1" style="fill:none;stroke:black;stroke-width:5px;stroke-linecap:square;">
2+ <g transform="translate(0,30)">
3+ <g transform="translate(150,150),rotate(120,0,0)">
4+ <path d="M0,-60 a60,60 0 1,0 0,120 l100,0"></path>
5+ </g>
6+ <g transform="translate(150,150),rotate(240,0,0)">
7+ <path d="M0,-60 a60,60 0 1,0 0,120 l100,0"></path>
8+ </g>
9+ <g transform="translate(150,150),rotate(0,0,0)">
10+ <path d="M0,-60 a60,60 0 1,0 0,120 l100,0"></path>
11+ </g>
12+ </g>
13+</svg>
index.html+504−17
@@ -1,19 +1,506 @@
11<!DOCTYPE html>
2−<html lang="en">
3−<head>
4− <meta charset="utf-8">
5− <meta name="viewport" content="width=device-width, initial-scale=1.0">
6− <link rel="stylesheet" type="text/css" href="links/fonts.css"/>
7− <link rel="stylesheet" type="text/css" href="links/main.css"/>
8− <script src="scripts/portal.js"></script>
9− <script src="scripts/sites.js"></script>
10− <title>Webring</title>
11−</head>
12−<body>
13− <script>
14− const portal = new Portal(sites);
15− portal.install(document.body);
16− portal.start();
17− </script>
18−</body>
2+<html lang="en" id="rss">
3+ <head>
4+ <meta charset="utf-8">
5+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6+ <link rel="con" type="image/png" sizes="100x100" href="favicon.ico">
7+ <link rel="apple-touch-icon" type="image/png" sizes="100x100" href="favicon.ico">
8+ <title>Webring</title>
9+ </head>
10+ <body id="twtxt">
11+ <ol>
12+ <li data-lang="en" id="xxiivv">
13+ <a href="https://wiki.xxiivv.com">xxiivv</a>
14+ <a href="https://wiki.xxiivv.com/twtxt.txt" class="twtxt">twtxt</a>
15+ <a href="https://wiki.xxiivv.com/links/rss.xml" class="rss">rss</a>
16+ </li>
17+ <li data-lang="en" id="1">
18+ <a href="http://estevancarlos.com">estevancarlos</a>
19+ </li>
20+ <li data-lang="en" id="2">
21+ <a href="https://electro.pizza">electro pizza</a>
22+ <a href="https://electro.pizza/twtxt.txt" class="twtxt">twtxt</a>
23+ <a href="https://electro.pizza/feed.xml" class="rss">rss</a>
24+ </li>
25+ <li data-lang="en" id="3">
26+ <a href="https://avanier.now.sh">Arachne</a>
27+ <a href="https://avanier.now.sh/tw.txt" class="twtxt">twtxt</a>
28+ </li>
29+ <li data-lang="en" id="4">
30+ <a href="https://kaemura.com">kaemura</a>
31+ <a href="https://kaemura.com/twttxt.txt" class="twtxt">twtxt</a>
32+ </li>
33+ <li data-lang="en" id="5">
34+ <a href="https://liamcooke.com">liamcooke</a>
35+ <a href="https://liamcooke.com/merveilles/tw.txt" class="twtxt">twtxt</a>
36+ <a href="https://liamcooke.com/feed.xml" class="rss">rss</a>
37+ </li>
38+ <li data-lang="en" id="6">
39+ <a href="https://hraew.autophagy.io">hraew.autophagy</a>
40+ </li>
41+ <li data-lang="en" id="7">
42+ <a href="http://evenunto.net">evenunto.net</a>
43+ </li>
44+ <li data-lang="en" id="8">
45+ <a href="https://anxl.faith">anxl.faith</a>
46+ </li>
47+ <li data-lang="fr" id="9">
48+ <a href="https://xvw.github.io">planet</a>
49+ <a href="https://xvw.github.io/twtxt/hallway.txt" class="twtxt">twtxt</a>
50+ <a href="https://xvw.github.io/atom.xml" class="rss">rss</a>
51+ </li>
52+ <li data-lang="en el" id="10">
53+ <a href="https://heracl.es">heracl.es</a>
54+ </li>
55+ <li data-lang="en" id="11">
56+ <a href="https://turelio.github.io">turelio.github</a>
57+ </li>
58+ <li data-lang="en" id="12">
59+ <a href="https://now.lectronice.com">now.lectronice.com</a>
60+ </li>
61+ <li data-lang="en" id="13">
62+ <a href="https://craze.co.uk">craze.co.uk</a>
63+ </li>
64+ <li data-lang="en" id="14">
65+ <a href="https://shaneckel.com">shaneckel</a>
66+ </li>
67+ <li data-lang="en" id="15">
68+ <a href="https://cblgh.org">cblgh</a>
69+ <a href="https://cblgh.org/twtxt.txt" class="twtxt">twtxt</a>
70+ </li>
71+ <li data-lang="en" id="16">
72+ <a href="https://ellugar.co">ellugar</a>
73+ <a href="http://feeds.ellugar.co/ellugar-logs" class="rss">rss</a>
74+ </li>
75+ <li data-lang="en" id="17">
76+ <a href="http://chigby.org">chigby</a>
77+ </li>
78+ <li data-lang="en" id="18">
79+ <a href="https://longest.voyage">longest.voyage</a>
80+ <a href="https://longest.voyage/index.xml" class="rss">rss</a>
81+ </li>
82+ <li data-lang="en" id="19">
83+ <a href="https://palomakop.tv">palomakop.tv</a>
84+ </li>
85+ <li data-lang="en" id="20">
86+ <a href="https://v-os.ca">v-os.ca</a>
87+ </li>
88+ <li data-lang="en" id="21">
89+ <a href="https://jmandel.xyz">jmandel.xyz</a>
90+ </li>
91+ <li data-lang="en" id="22">
92+ <a href="https://2d4.dev">2d4.dev</a>
93+ <a href="https://2d4.dev/tw.txt" class="twtxt">twtxt</a>
94+ </li>
95+ <li data-lang="en" id="23">
96+ <a href="https://nathanwentworth.co">nathanwentworth</a>
97+ </li>
98+ <li data-lang="en" id="24">
99+ <a href="https://uonai.space">uonai.space</a>
100+ </li>
101+ <li data-lang="en" id="25">
102+ <a href="http://controls.ee">controls.ee</a>
103+ </li>
104+ <li data-lang="en" id="26">
105+ <a href="https://wasin.io">wasin</a>
106+ </li>
107+ <li data-lang="en" id="27">
108+ <a href="https://inns.studio">inns.studio</a>
109+ </li>
110+ <li data-lang="en" id="28">
111+ <a href="http://kokorobot.ca">kokorobot.ca</a>
112+ </li>
113+ <li data-lang="en" id="29">
114+ <a href="https://ameyama.com">ameyama</a>
115+ <a href="https://ameyama.com/blog/rss.xml" class="rss">rss</a>
116+ </li>
117+ <li data-lang="en" id="30">
118+ <a href="https://wake.st">wake.st</a>
119+ <a href="https://wake.st/twtxt.txt" class="twtxt">twtxt</a>
120+ </li>
121+ <li data-lang="en" id="31">
122+ <a href="https://xarene.la">xarene.la</a>
123+ </li>
124+ <li data-lang="en" id="32">
125+ <a href="https://alex.zyzhang.me">alex.zyzhang.me</a>
126+ </li>
127+ <li data-lang="en" id="33">
128+ <a href="http://bildwissenschaft.vortok.info">vortok</a>
129+ </li>
130+ <li data-lang="en" id="34">
131+ <a href="https://jakofranko.github.com">jakofranko.github</a>
132+ </li>
133+ <li data-lang="en" id="35">
134+ <a href="https://aeriform.io">aeriform.io</a>
135+ </li>
136+ <li data-lang="en" id="37">
137+ <a href="http://npisanti.com">npisanti.com</a>
138+ <a href="http://npisanti.com/journal/rss.xml" class="rss">rss</a>
139+ </li>
140+ <li data-lang="en" id="38">
141+ <a href="https://underscorediscovery.ca">underscorediscovery</a>
142+ </li>
143+ <li data-lang="en" id="39">
144+ <a href="https://drisc.io">drisc</a>
145+ <a href="https://drisc.io/hallway/twtxt.txt" class="twtxt">twtxt</a>
146+ </li>
147+ <li data-lang="en" id="40">
148+ <a href="https://ricky.codes">ricky.codes</a>
149+ </li>
150+ <li data-lang="en" id="41">
151+ <a href="https://maxdeviant.com">maxdeviant</a>
152+ </li>
153+ <li data-lang="en" id="42">
154+ <a href="https://tynandebold.com">tynandebold</a>
155+ </li>
156+ <li data-lang="en" id="43">
157+ <a href="http://gytis.co">gytis.co</a>
158+ </li>
159+ <li data-lang="en" id="44">
160+ <a href="https://nomand.co">nomand.co</a>
161+ </li>
162+ <li data-lang="en" id="45">
163+ <a href="http://memoriata.com">memoriata</a>
164+ </li>
165+ <li data-lang="en" id="46">
166+ <a href="https://mmm.s-ol.nu">s-ol.nu</a>
167+ </li>
168+ <li data-lang="en" id="47">
169+ <a href="https://chad.is">chad.is</a>
170+ <a href="https://chad.is/rss.xml" class="rss">rss</a>
171+ </li>
172+ <li data-lang="en" id="48">
173+ <a href="https://smidgeo.com/bots">smidgeo.com/bots</a>
174+ </li>
175+ <li data-lang="en ru" id="49">
176+ <a href="https://iko.soy">iko.soy</a>
177+ </li>
178+ <li data-lang="en" id="50">
179+ <a href="http://atelieroilandsugar.com">atelieroilandsugar</a>
180+ </li>
181+ <li data-lang="en" id="51">
182+ <a href="https://magoz.is">magoz.is</a>
183+ </li>
184+ <li data-lang="en" id="52">
185+ <a href="https://szymonkaliski.com">szymonkaliski</a>
186+ <a href="https://szymonkaliski.com/feed.xml" class="rss">rss</a>
187+ </li>
188+ <li data-lang="en" id="53">
189+ <a href="https://phse.net">phse.net</a>
190+ <a href="https://phse.net/twtxt/merv.txt" class="twtxt">twtxt</a>
191+ <a href="https://phse.net/post/index.xml" class="rss">rss</a>
192+ </li>
193+ <li data-lang="en" id="54">
194+ <a href="https://rosano.ca">rosano.ca</a>
195+ </li>
196+ <li data-lang="en" id="56">
197+ <a href="https://gndclouds.cc">gndclouds.cc</a>
198+ </li>
199+ <li data-lang="en fr" id="57">
200+ <a href="https://xuv.be">xuv.be</a>
201+ </li>
202+ <li data-lang="en zh" id="58">
203+ <a href="https://dsdshcym.github.io">dsdshcym.github.io</a>
204+ </li>
205+ <li data-lang="en" id="60">
206+ <a href="https://boffosocko.com">boffosocko</a>
207+ </li>
208+ <li data-lang="en" id="61">
209+ <a href="https://hex22.org">hex22</a>
210+ <a href="https://t.seed.hex22.org/twtxt.txt" class="twtxt">twtxt</a>
211+ </li>
212+ <li data-lang="en" id="62">
213+ <a href="https://patrikarvidsson.com">patrikarvidsson</a>
214+ </li>
215+ <li data-lang="en" id="63">
216+ <a href="https://sophieleetmaa.com">sophieleetmaa</a>
217+ </li>
218+ <li data-lang="en" id="64">
219+ <a href="https://xinniw.github.io">xinniw.github</a>
220+ </li>
221+ <li data-lang="en" id="65">
222+ <a href="https://mboxed.github.io/sodatsu">sodatsu</a>
223+ <a href="https://mboxed.github.io/sodatsu/tw.txt" class="twtxt">twtxt</a>
224+ </li>
225+ <li data-lang="en" id="66">
226+ <a href="https://letters.vexingworkshop.com">vexingworkshop</a>
227+ </li>
228+ <li data-lang="en" id="67">
229+ <a href="https://tom.org.nz">Tom Hackshaw</a>
230+ <a href="https://a.tom.org.nz/twtxt.txt" class="twtxt">twtxt</a>
231+ </li>
232+ <li data-lang="en" id="68">
233+ <a href="https://teknari.com">Teknari</a>
234+ <a href="https://teknari.com/feed.xml" class="rss">rss</a>
235+ </li>
236+ <li data-lang="es" id="69">
237+ <a href="https://colectivo-de-livecoders.gitlab.io">Colectivo de Livecoders</a>
238+ </li>
239+ <li data-lang="es" id="70">
240+ <a href="https://www.madewithtea.com">madewithtea</a>
241+ </li>
242+ <li data-lang="en" id="71">
243+ <a href="https://amorris.ca">amorris</a>
244+ <a href="https://feed.amorris.ca/hallway.txt" class="twtxt">twtxt</a>
245+ </li>
246+ <li data-lang="en" id="72">
247+ <a href="http://www.miha-co.ca">miha-co</a>
248+ </li>
249+ <li data-lang="en" id="73">
250+ <a href="https://buzzert.net">buzzert.net</a>
251+ </li>
252+ <li data-lang="en" id="74">
253+ <a href="https://notes.stuartpb.com/">notes.stuartpb</a>
254+ <a href="https://twtxt.stuartpb.com/xxiivv.txt" class="twtxt">twtxt</a>
255+ </li>
256+ <li data-lang="en" id="75">
257+ <a href="https://xxiii.co">xxiii</a>
258+ <a href="https://serocell.com/feeds/serocell.xml" class="rss">rss</a>
259+ </li>
260+ <li data-lang="en" id="76">
261+ <a href="https://kor.nz">kor</a>
262+ <a href="https://kor.nz/twtxt.txt" class="twtxt">twtxt</a>
263+ </li>
264+ <li data-lang="en" id="77">
265+ <a href="https://lublin.se">lublin.se</a>
266+ <a href="https://lublin.se/twtxt.txt" class="twtxt">twtxt</a>
267+ </li>
268+ <li data-lang="en" id="78">
269+ <a href="https://zanneth.com">zanneth</a>
270+ </li>
271+ <li data-lang="en" id="79">
272+ <a href="https://eli.li">eli.li</a>
273+ <a href="https://txt.eli.li/twtxt/twtxt.txt" class="twtxt">twtxt</a>
274+ <a href="https://eli.li/feed.rss" class="rss">rss</a>
275+ </li>
276+ <li data-lang="en" id="80">
277+ <a href="https://gueorgui.net">gueorgui.net</a>
278+ <a href="https://gueorgui.net/feed.xml" class="rss">rss</a>
279+ </li>
280+ <li data-lang="en" id="81">
281+ <a href="https://www.tatecarson.com">Tate Carson</a>
282+ </li>
283+ <li data-lang="en" id="82">
284+ <a href="https://azlen.me">azlen.me</a>
285+ <a href="https://azlen.me/twtxt.txt" class="twtxt">twtxt</a>
286+ </li>
287+ <li data-lang="en" id="83">
288+ <a href="https://opinionatedguide.github.io/">OpGuides</a>
289+ <a href="https://opinionatedguide.github.io/twtxt.txt" class="twtxt">twtxt</a>
290+ </li>
291+ <li data-lang="en" id="84">
292+ <a href="https://chrismaughan.com/">CMaughan</a>
293+ <a href="https://chrismaughan.com/twtxt.txt" class="twtxt">twtxt</a>
294+ </li>
295+ <li data-lang="en es" id="85">
296+ <a href="https://oddworlds.org/">oddworlds soliloquy</a>
297+ </li>
298+ <li data-lang="en" id="86">
299+ <a href="https://fundor333.com/">Fundor333</a>
300+ <a href="https://fundor333.com/twtxt.txt" class="twtxt">twtxt</a>
301+ </li>
302+ <li data-lang="en" id="87">
303+ <a href="https://cass.si">cass.si</a>
304+ </li>
305+ <li data-lang="en" id="88">
306+ <a href="https://dotcomboom.somnolescent.net/">somnolescent.net</a>
307+ <a href="https://dotcomboom.somnolescent.net/twtxt.txt" class="twtxt">twtxt</a>
308+ </li>
309+ <li data-lang="en" id="89">
310+ <a href="https://cadmican.neocities.org/">cadmican</a>
311+ </li>
312+ <li data-lang="en" id="90">
313+ <a href="https://resevoir.net">resevoir</a>
314+ <a href="https://resevoir.net/rss.xml" class="rss">rss</a>
315+ </li>
316+ <li data-lang="en" id="91">
317+ <a href="https://sixey.es/">sixey.es</a>
318+ </li>
319+ <li data-lang="en" id="92">
320+ <a href="https://tilde.town/~dustin/">0xdstn</a>
321+ </li>
322+ <li data-lang="en" id="93">
323+ <a href="http://www.jameschip.io">James Chip</a>
324+ <a href="http://www.jameschip.io/index.xml" class="rss">rss</a>
325+ </li>
326+ <li data-lang="en" id="94">
327+ <a href="https://patrick-is.cool">patrick-is.cool</a>
328+ </li>
329+ <li data-lang="en" id="95">
330+ <a href="https://icyphox.sh">icyphox.sh</a>
331+ <a href="https://icyphox.sh/blog/feed.xml" class="rss">rss</a>
332+ </li>
333+ <li data-lang="en" id="96">
334+ <a href="https://royniang.com">roy niang</a>
335+ <a href="https://telecom.royniang.com/updates.txt" class="twtxt">twtxt</a>
336+ </li>
337+ <li data-lang="en" id="97">
338+ <a href="https://www.raul.earth/">raul altosaar</a>
339+ </li>
340+ <li data-lang="en" id="98">
341+ <a href="https://crlf.site">Cr;Lf;</a>
342+ <a href="https://crlf.site/feed.xml" class="rss">rss</a>
343+ </li>
344+ <li data-lang="en" id="99">
345+ <a href="https://www.johannesg.com">Jóhannes G. Þorsteinsson</a>
346+ </li>
347+ <li data-lang="en" id="100">
348+ <a href="https://provokeanalog.com">Provoke Analog</a>
349+ </li>
350+ <li data-lang="en" id="101">
351+ <a href="https://eti.tf">eti.tf</a>
352+ </li>
353+ <li data-lang="en" id="102">
354+ <a href="https://rezmason.net">rezmason.net</a>
355+ </li>
356+ <li data-lang="en cz" id="103">
357+ <a href="https://estfyr.net">estfyr.net</a>
358+ </li>
359+ <li data-lang="en" id="104">
360+ <a href="https://paysonwallach.com">paysonwallach.com</a>
361+ </li>
362+ <li data-lang="en" id="105">
363+ <a href="https://natwelch.com">natwelch</a>
364+ </li>
365+ <li data-lang="en" id="106">
366+ <a href="https://parkimminent.com">Park Imminent</a>
367+ </li>
368+ <li data-lang="en" id="107">
369+ <a href="https://aklsh.github.io">aklsh.github</a>
370+ </li>
371+ <li data-lang="en" id="108">
372+ <a href="https://0xff.nu">Paul Glushak</a>
373+ <a href="https://0xff.nu/feed.xml" class="rss">rss</a>
374+ </li>
375+ <li data-lang="en ita" id="109">
376+ <a href="https://simone.computer">Simone"s Computer</a>
377+ </li>
378+ <li data-lang="en" id="110">
379+ <a href="https://xj9.io">dreamspace</a>
380+ <a href="https://xj9.io/.well-known/webring/tw.txt" class="twtxt">twtxt</a>
381+ <a href="https://xj9.io/rss.xml" class="rss">rss</a>
382+ </li>
383+ <li data-lang="en" id="111">
384+ <a href="https://simply.personal.jenett.org">jenett. simply. personal.</a>
385+ <a href="https://simply.personal.jenett.org/feed" class="rss">rss</a>
386+ </li>
387+ <li data-lang="en" id="112">
388+ <a href="http://q.pfiffer.org/">q.pfiffer.org</a>
389+ <a href="http://q.pfiffer.org/feed.xml" class="rss">rss</a>
390+ </li>
391+ <li data-lang="en" id="113">
392+ <a href="https://ashpex.neocities.org">ashpex</a>
393+ </li>
394+ <li data-lang="en" id="114">
395+ <a href="https://zvava.org">zvava</a>
396+ </li>
397+ <li data-lang="en" id="115">
398+ <a href="https://amorphic.space">amorphic.space</a>
399+ </li>
400+ <li data-lang="en nl" id="116">
401+ <a href="https://www.edwinwenink.xyz">Archive Fever</a>
402+ <a href="https://www.edwinwenink.xyz/index.xml" class="rss">rss</a>
403+ </li>
404+ <li data-lang="en fr" id="117">
405+ <a href="https://www.mentalnodes.com">Mental Nodes</a>
406+ <a href="https://www.mentalnodes.com/sitemap.xml" class="rss">rss</a>
407+ </li>
408+ <li data-lang="es" id="118">
409+ <a href="https://copiona.com">copiona</a>
410+ </li>
411+ <li data-lang="en nl" id="119">
412+ <a href="https://proycon.anaproy.nl">proycon</a>
413+ </li>
414+ <li data-lang="en" id="120">
415+ <a href="https://www.marginchronicles.com">margin chronicles</a>
416+ </li>
417+ <li data-lang="en" id="121">
418+ <a href="https://roytang.net">roytang.net</a>
419+ <a href="https://roytang.net/index.xml" class="rss">rss</a>
420+ </li>
421+ <li data-lang="en" id="122">
422+ <a href="https://materialfuture.net">MaterialFuture</a>
423+ <a href="https://www.materialfuture.net/rss.xml" class="rss">rss</a>
424+ </li>
425+ <li data-lang="en" id="123">
426+ <a href="https://solquemal.com/">solquemal</a>
427+ </li>
428+ <li data-lang="en" id="dampfkraft">
429+ <a href="https://dampfkraft.com">Dampfkraft</a>
430+ <a href="https://dampfkraft.com/index.rss" class="rss">rss</a>
431+ </li>
432+ <li data-lang="en" id="125">
433+ <a href="https://travisshears.com">travisshears</a>
434+ <a href="https://travisshears.com/apps/twtxt/twtxt.txt" class="twtxt">twtxt</a>
435+ <a href="https://travisshears.com/index.xml" class="rss">rss</a>
436+ </li>
437+ <li data-lang="en" id="126">
438+ <a href="https://awalvie.me">awalvie</a>
439+ </li>
440+ <li data-lang="en ru" id="futuristan">
441+ <a href="https://futuristan.io">futuristan.io</a>
442+ </li>
443+ <li data-lang="en" id="romain aubert">
444+ <a href="https://www.romainaubert.com/">romain aubert</a>
445+ <a href="https://www.romainaubert.com/twtxt.txt" class="twtxt">twtxt</a>
446+ <a href="https://www.romainaubert.com/feed.rss" class="rss">rss</a>
447+ </li>
448+ <li data-lang="en" id="ix5">
449+ <a href="https://ix5.org/">Felix Elsner</a>
450+ <a href="https://ix5.org/thoughts/feeds/all.atom.xml" class="rss">rss</a>
451+ </li>
452+ <li data-lang="en" id="128">
453+ <a href="https://www.juliendesrosiers.com/">Julien Desrosiers</a>
454+ <a href="https://www.juliendesrosiers.com/feed.xml" class="rss">rss</a>
455+ </li>
456+ <li data-lang="en" id="129">
457+ <a href="https://nchrs.xyz">nchrs.xyz</a>
458+ <a href="https://nchrs.xyz/rss.xml" class="rss">rss</a>
459+ </li>
460+ <li data-lang="en" id="northerinformation">
461+ <a href="https://nor.the-rn.info">Northern Information</a>
462+ <a href="https://nor.the-rn.info/feed.xml" class="rss">rss</a>
463+ </li>
464+ <li data-lang="en" id="131">
465+ <a href="https://matildepark.ca">Matilde Park</a>
466+ <a href="https://matildepark.ca/feed.xml" class="rss">rss</a>
467+ </li>
468+ </ol>
469+ <footer>
470+ <p class="readme">
471+ This webring is an attempt to inspire artists &amp; developers to build their own website and share traffic among each other. The ring welcomes personalized websites such as <b>diaries, wikis &amp; portfolios</b>.
472+ </p>
473+ <p>
474+ To add yourself to the ring, submit a <a href="https://github.com/XXIIVV/webring#join-the-webring" target="_blank">pull request</a>.<br />
475+ If you found a broken link, please <a href="https://github.com/XXIIVV/webring/issues/new" target="_blank">report it</a>.<br />
476+ Learn <a href="https://github.com/XXIIVV/webring" target="_blank">more</a> | <a href="#twtxt">Show twtxt</a> | <a href="#rss">Show rss</a><span class='hide'> | <a href='#'>Hide Feeds</a></span>
477+ </p>
478+ <img id="icon" src="icon.black.large.svg" alt="icon"/>
479+ </footer>
480+ <style>
481+:root { --color-alpha: white; --color-beta: black; }
482+body { padding: 0; margin: 0 0 0 0; background-color: var(--color-alpha); color: var(--color-beta); font-family: serif; max-width: 900px; }
483+body a { color: var(--color-beta); text-decoration: none; }
484+body a:hover { background-color: var(--color-beta); color: var(--color-alpha); }
485+body a:before { content: '{'; }
486+body a:after { content: '}'; }
487+body > ol { margin: 30px; padding: 0px 30px 30px; column-count: 3; display: block; border-bottom: 2px solid var(--color-beta); }
488+body > ol > li { padding-right: 30px; }
489+body > ol > li:target { background: var(--color-beta); }
490+body > ol > li a.rss, body > ol > li a.twtxt { display: none; }
491+body > ol > li:target a { color: var(--color-alpha); }
492+body > footer { margin: 30px; }
493+body > footer > p { max-width: 600px; }
494+body > footer > p span.hide { display: none; }
495+body > footer > img { display: inline-block; width: 100px; margin-bottom: -5px; margin-bottom: 30px; }
496+body:target > ol li a.twtxt, html:target li a.rss { background: var(--color-beta); color: var(--color-alpha); display: inline; }
497+body:target > footer > p > span.hide, html:target footer > p > span.hide { display: inline; }
498+@media screen and (max-width: 800px) { body > ol { column-count: 2; } }
499+@media screen and (max-width: 600px) { body > ol { column-count: 1; } }
500+@media (prefers-color-scheme: dark) {
501+ :root { --color-alpha: black; --color-beta: white; }
502+ #icon { filter: invert(100%); }
503+}
504+ </style>
505+ </body>
19506</html>
links/fonts.cssdeleted−15
@@ -1,15 +0,0 @@
1−/* Input Mono */
2−
3−@font-face {
4− font-family: 'input_mono_regular';
5− src: url('../media/fonts/input_mono_regular.ttf') format('truetype');
6− font-weight: normal;
7− font-style: normal;
8−}
9−
10−@font-face {
11− font-family: 'input_mono_medium';
12− src: url('../media/fonts/input_mono_medium.ttf') format('truetype');
13− font-weight: normal;
14− font-style: normal;
15−}
links/main.css+14−19
@@ -1,19 +1,14 @@
1−* { margin:0;padding:0;border:0;outline:0;text-decoration:none;font-weight:inherit;font-style:inherit;color:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;list-style:none;border-collapse:collapse;border-spacing:0; -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
2−
3−body { background:#f4f4f4; padding:0px; margin:0px; }
4−body div { display:block; background: #ddd;min-height: calc(100vh - 60px);width: calc(100vw - 60px);margin: 15px;color: #555;padding: 15px;font-family:'input_mono_regular', 'Monospaced','Courier New',courier;font-size:11px; position: relative; border-radius: 2px }
5−body div #icon { display: block;width: 30px;height: 30px;background-image: url(../icon.white.svg);background-size: cover;background-repeat: no-repeat;position: absolute;bottom: 10px;right:10px;background-position: center;padding:0px }
6−body div p { display:block; padding:0px 5px; line-height: 20px}
7−body div p a { color:black; text-decoration: none; text-decoration: underline;}
8−body div p a:hover { text-decoration: underline; }
9−body div p b { font-weight: normal; color:#000; font-family: 'input_mono_medium' }
10−body div p.readme { max-width:500px; }
11−body div ul { display:block; max-width: 800px; columns:3; border-bottom: 2px solid white;padding-bottom: 15px;margin-bottom:15px; overflow: hidden;}
12−body div ul li { width: 22em; display:block; padding-left:5px; overflow: hidden; text-overflow: ellipsis; }
13−body div ul li a { line-height: 20px; display: inline-block; color:#000; padding:0px 5px; text-decoration: none;}
14−body div ul li a:visited { color:#999; text-decoration: none;}
15−body div ul li a:hover { background:#ccc; color:#000; text-decoration: none; border-radius: 2px }
16−
17−@media (max-width: 950px){
18− body div ul { columns: 2 }
19−}
1+body { padding: 0; margin: 0 0 0 0; font-family: serif; max-width: 900px }
2+body a { color: black; text-decoration: none }
3+body a:hover { background-color: black; color: white }
4+body a:before { content:'{' }
5+body a:after { content:'}' }
6+body > ol { margin: 30px; padding: 0px 30px 30px; column-count: 3; display: block; border-bottom:2px solid black }
7+body > ol > li { padding-right: 30px; margin-right:30px }
8+body > ol > li:target { background:black }
9+body > ol > li:target a { color: white }
10+body > footer { margin:30px }
11+body > footer > p { max-width: 600px }
12+body > footer > img { display: inline-block; width:100px; margin-bottom: -5px; margin-bottom:30px; }
13+@media screen and (max-width: 800px) { body > ol { column-count: 2; } }
14+@media screen and (max-width: 600px) { body > ol { column-count: 1; } }
media/fonts/input_mono_medium.ttfdeleted

Binary file not shown.

media/fonts/input_mono_regular.ttfdeleted

Binary file not shown.

media/icon.black.large.svgnew file+13
@@ -0,0 +1,13 @@
1+<svg class="vector" width="300px" height="300px" xmlns="http://www.w3.org/2000/svg" baseProfile="full" version="1.1" style="fill:none;stroke:black;stroke-width:5px;stroke-linecap:square;">
2+ <g transform="translate(0,30)">
3+ <g transform="translate(150,150),rotate(120,0,0)">
4+ <path d="M0,-60 a60,60 0 1,0 0,120 l100,0"></path>
5+ </g>
6+ <g transform="translate(150,150),rotate(240,0,0)">
7+ <path d="M0,-60 a60,60 0 1,0 0,120 l100,0"></path>
8+ </g>
9+ <g transform="translate(150,150),rotate(0,0,0)">
10+ <path d="M0,-60 a60,60 0 1,0 0,120 l100,0"></path>
11+ </g>
12+ </g>
13+</svg>
scripts/portal.jsdeleted−63
@@ -1,63 +0,0 @@
1−'use strict'
2−
3−function Portal (sites) {
4− this.el = document.createElement('div')
5− this.sites = sites
6−
7− // Templates
8−
9− function _readme () {
10− return `<p class='readme'>This webring is an attempt to inspire artists & developers to build their own website and share traffic among each other. The ring welcomes personalized websites such as <b>diaries, wikis & portfolios</b>.</p><p>To add yourself to the ring, submit a <a href='https://github.com/XXIIVV/webring/edit/master/scripts/sites.js' target='_blank'>Pull Request</a>.<br />If you found a broken link, please <a href='https://github.com/XXIIVV/webring/issues/new' target='_blank'>report it</a>.</p>`
11− }
12−
13− function _buttons () {
14− return `<p class='buttons'><a href='#random' onClick="portal.reload('random')">Random</a> | <a href='https://github.com/XXIIVV/webring'>Information</a> <a id='icon' href='#random' onClick="portal.reload('random')"></a></p>`
15− }
16−
17− function _directory (sites) {
18− return `
19− <ul>${sites.reduce((acc, val, id) => { return `${acc}<li>${id}) <a href='${val}'>${val.split('//')[1]}</a></li>` }, '')}</ul>\n${_readme()}${_buttons()}`
20− }
21−
22− function _redirect (target) {
23− return `<p>Redirecting to <b>${target}</b></p><meta http-equiv="refresh" content="3; url=${target}">
24− <p class='buttons'><a href='#' onClick="portal.reload('')">Directory</a> | <a href='#${target}' onClick="portal.reload('random')">Skip</a> | <a href='#random' onClick="portal.reload('random')">Random</a> | <a href='https://github.com/XXIIVV/webring'>Information</a> <a id='icon' href='#random' onClick="portal.reload('random')"></a></p>`
25− }
26−
27− //
28−
29− this.install = function (host) {
30− host.appendChild(this.el)
31− }
32−
33− this.start = function () {
34− this.el.innerHTML = window.location.hash && window.location.hash.length > 4 ? _redirect(this.next()) : _directory(this.sites)
35− }
36−
37− this.reload = function () {
38− setTimeout(() => { window.location.reload() }, 500)
39− }
40−
41− this.navigate = function (target) {
42− setTimeout(() => { window.location.href = target }, 3000)
43− }
44−
45− this.locate = function () {
46− const hash = window.location.hash.replace('#', '').trim()
47−
48− if (hash == 'random') {
49− return Math.floor(Math.random() * this.sites.length)
50− }
51−
52− for (const id in this.sites) {
53− if (this.sites[id].indexOf(hash) > -1) {
54− return parseInt(id)
55− }
56− }
57− return -1
58− }
59−
60− this.next = function (loc = this.locate()) {
61− return loc == this.sites.length - 1 ? this.sites[0] : this.sites[loc + 1]
62− }
63−}
scripts/sites.jsdeleted−70
@@ -1,70 +0,0 @@
1−'use strict';
2−
3−// Don't forget the comma! No trailing slashes
4−// protocole://url.domain.ext
5−
6−const sites = [
7− "https://wiki.xxiivv.com"
8− , "http://estevancarlos.com"
9− , "https://electro.pizza"
10− , "https://monochromatic.co"
11− , "https://joshavanier.github.io"
12− , "http://kaemura.com"
13− , "https://liamcooke.com"
14− , "https://electricgecko.de"
15− , "https://wichniow.ski"
16− , "https://hraew.autophagy.io"
17− , "https://evenunto.net"
18− , "https://anxl.faith"
19− , "https://xvw.github.io"
20− , "https://heracl.es"
21− , "https://felipecortez.net"
22− , "http://luminghao.com"
23− , "https://theiceshelf.com"
24− , "https://turelio.github.io"
25− , "https://spaceshipsin.space"
26− , "http://log.lectronice.com"
27− , "https://craze.co.uk"
28− , "https://shaneckel.com"
29− , "https://cblgh.org"
30− , "https://ellugar.co"
31− , "http://hur.bet"
32− , "http://chigby.org"
33− , "https://longest.voyage"
34− , "https://palomakop.tv"
35− , "https://travisshears.com"
36− , "https://v-os.ca"
37− , "http://secretinternet.club"
38− , "https://jmandel.xyz"
39− , "https://systems.ws"
40− , "https://jamesin.space"
41− , "https://nathanwentworth.co"
42− , "https://eswat.ca"
43− , "https://uonai.space"
44− , "http://controls.ee"
45− , "https://wasin.io"
46− , "https://inns.studio"
47− , "http://kokorobot.ca"
48− , "https://ameyama.com"
49− , "https://wake.st"
50− , "https://xarene.la"
51− , "https://alex.zyzhang.me"
52− , "http://bildwissenschaft.vortok.info"
53− , "https://jakofranko.github.com"
54− , "https://aeriform.io"
55− , "http://blog.lucasdidthis.com"
56− , "http://npisanti.com"
57− , "https://underscorediscovery.ca"
58− , "https://drisc.io"
59− , "https://neufv.website"
60− , "https://simbolo.xyz"
61− , "https://ricky.codes"
62− , "https://maxdeviant.com"
63− , "https://tynandebold.com"
64− , "http://gytis.co"
65− , "https://nomand.co"
66− , "http://memoriata.com"
67− , "https://mmm.s-ol.nu"
68− , "https://chad.is"
69− , "https://smidgeo.com/bots"
70−];