Compare commits

...

7 Commits

Author SHA1 Message Date
af296c7dc1 Merge pull request 'Small fixes to improve memory performance, temporary code deletion and small typo in img file location.' (#7) from development into main
All checks were successful
Website Sync / website-sync (push) Successful in 4s
Reviewed-on: #7
2026-03-16 17:20:28 -03:00
775641dc36 Small fixes to improve memory performance, temporary code deletion and small typo in img file location.
All checks were successful
Website Sync / website-sync (push) Successful in 4s
2026-03-16 17:10:25 -03:00
b679e911d5 Merge pull request 'Forgotten changes made to webring addition' (#6) from development into main
All checks were successful
Website Sync / website-sync (push) Successful in 3s
Reviewed-on: #6
2026-03-15 22:04:31 -03:00
eeefee56ac Forgotten changes made to webring addition
All checks were successful
Website Sync / website-sync (push) Successful in 4s
2026-03-15 22:04:09 -03:00
0a14374f0a Merge pull request 'Merge changes to webrings' (#5) from development into main
All checks were successful
Website Sync / website-sync (push) Successful in 4s
Reviewed-on: #5
2026-03-15 22:02:15 -03:00
75655be103 Preliminary adition to transing the internet webring, and tweaks and optimization to previous code regarding javascript to php rewrite, more concise and legible code functions.
All checks were successful
Website Sync / website-sync (push) Successful in 5s
2026-03-15 21:59:05 -03:00
ccaf930265 (tentative) addition to transfem webring, this includes a write to the original javascript script to php (currently using local information for performance reasons). Have to update ID when properly accepted into the webring!
All checks were successful
Website Sync / website-sync (push) Successful in 5s
2026-03-14 15:17:37 -03:00
30 changed files with 1367 additions and 16 deletions

View File

@@ -17,7 +17,7 @@
<img src="../img/blinkies/dontfeedtheai.gif" alt=""> <img src="../img/blinkies/dontfeedtheai.gif" alt="">
<img src="../img/blinkies/firefox_user.gif" alt=""> <img src="../img/blinkies/firefox_user.gif" alt="">
<img src="../img/blinkies/firefoxget.gif" alt=""> <img src="../img/blinkies/firefoxget.gif" alt="">
<img src="../img/blinkies/html junkie.gif" alt=""> <img src="../img/blinkies/htmljunkie.gif" alt="">
<div class="spacer"></div> <div class="spacer"></div>
</div> </div>
<?php } ?> <?php } ?>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -58,22 +58,28 @@ img { image-rendering: pixelated;}
font-weight: normal; font-weight: normal;
font-style: normal;} font-style: normal;}
@font-face { @font-face {
font-family: 'basiic'; font-family: 'basiic';
src: url('../fonts/basiic.ttf') format('truetype'); src: url('../fonts/basiic.ttf') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'molecule31';
src: url('../fonts/molecule31_font.ttf') format('truetype');
font-weight: normal;
font-style: normal;} font-style: normal;}
@font-face { @font-face {
font-family: 'beefont'; font-family: 'ms pgothic';
src: url('../fonts/beefont.ttf') format('truetype'); src: url('../fonts/ms_pgothic.ttf') format('truetype');
font-weight: normal; font-weight: normal;
font-style: normal;} font-style: normal;}
* { text-align: center; } * { text-align: center; }
body { font-family: 'special elite', honyaji, basiic, monospace, serif, sans-serif; } body { font-family: 'special elite', monospace, serif, sans-serif; }
/* ----------------- Color -------------------- */ /* ----------------- Color -------------------- */

View File

@@ -81,15 +81,24 @@
align-content: center;} align-content: center;}
.webrings .auto-scroll { .webrings .auto-scroll {
height: 65%;
width: fit-content;
flex-direction: row; flex-direction: row;
animation-name: scroll-webring-mobile;} animation-name: scroll-webring-mobile;}
.webrings .scroll_one, .webrings .scroll_two { .webrings .scroll_one, .webrings .scroll_two {
gap: 2em;
flex-direction: row;} flex-direction: row;}
.webrings .scroll_one > div , .webrings .scroll_two > div {
flex-shrink: 0;
height: 100%;
width: fit-content;
}
.webrings .auto-scroll > * > div img { .webrings .auto-scroll > * > div img {
height: 60px; height: 100%;
width: auto;} width: auto;}
.scroll_below-clip-box { .scroll_below-clip-box {
position: absolute; position: absolute;
@@ -127,6 +136,10 @@
from {transform: translateX(calc(-50%));} from {transform: translateX(calc(-50%));}
to {transform: translateX(0%);}} to {transform: translateX(0%);}}
.webrings .auto-scroll {
animation-duration: 25s;
}
/* Vertical scroll text */ /* Vertical scroll text */
.verticalscroll .auto-scroll { .verticalscroll .auto-scroll {
animation-name: scroll-vertical; animation-name: scroll-vertical;

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 919 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

View File

@@ -0,0 +1,45 @@
<?php
// Gets a file given an array with sources
function getFile(array $source){
$selected_source = $source["sources"][$source["selected_source"]];
if ($selected_source["source"] === "local") {
$file = file_get_contents(__DIR__ . $selected_source["url"]);
} else if ($selected_source["source"] === "internet") {
$curl = curl_init($selected_source["url"]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$file = curl_exec($curl);
if ($file === false) {
echo "Error: " . curl_error($curl);
exit;
}
curl_close($curl);
}
unset($selected_source,$curl);
return $file;
}
// Returns the given sub-string given a initial search pattern, and a final end pattern.
function extractString(string $string,string $start_pattern, string $end_pattern) {
$start_pos = strpos($string,$start_pattern,strlen($start_pattern));
$end_pos = strpos($string,$end_pattern, $start_pos);
$extracted_string = substr($string, $start_pos, $end_pos - $start_pos);
unset($start_pos,$end_pos);
return $extracted_string;
}
// Self-explanatory
function scrapeWebsiteSites(array $source,string $start_pattern, string $end_pattern) {
$script = getFile($source);
$websites = extractString($script,$start_pattern,$end_pattern);
unset($script);
return $websites;
}

View File

@@ -0,0 +1,9 @@
<?php
declare(strict_types=1);
require_once("common_webrings.inc.php");
require_once('transfemwebring_contr.inc.php');
require_once('transfemwebring_view.inc.php');
FEMRINGrender();

View File

@@ -0,0 +1,73 @@
// based again off https://transring.neocities.org/ring.js :)
// which is based off https://juneish.neocities.org/resources/webstring/
{
const VALID_WIDGET_TYPES = ["transgender", "nonbinary"]
let transfemring = {
// sitelist (oldest to newest)
// strip the protocol off
sites: [{"id":1,"description":"You're here!","site_link":"fem.nz","author":"me","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:10:09.659Z","updated_at":"2025-10-07T08:10:09.659Z"},{"id":2,"description":"transfem webdev :p","site_link":"skyler.lol","author":"Skyler!","in_the_ring":false,"notes":"","created_at":"2025-10-07T08:10:35.275Z","updated_at":"2025-10-07T08:10:35.275Z"},{"id":3,"description":"just a personal site for music, musings, and blog posts! ran by a transfem enby :)","site_link":"transferns.neocities.org","author":"Andie/Fern","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:10:57.429Z","updated_at":"2025-12-11T02:14:39.833Z"},{"id":4,"description":"the most evil and repulsive website on planet earth","site_link":"cresentri.com","author":"cresentri","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:11:30.742Z","updated_at":"2025-10-07T08:11:30.883Z"},{"id":5,"description":"i'm messing around with trying to learn how to use html for somewhat interesting things i guess","site_link":"iseel.neocities.org","author":"IseeL","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:12:18.126Z","updated_at":"2025-10-07T08:29:03.148Z"},{"id":6,"description":"Just a place for me to share info about my projects and talk about things i enjoy \u003c3","site_link":"vivslakes.moe","author":"Viv","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:13:05.476Z","updated_at":"2025-10-07T08:13:05.567Z"},{"id":7,"description":"all kinds of things!","site_link":"fionaruthbo.neocities.org","author":"Fiona Ruthbo","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:14:16.412Z","updated_at":"2025-10-07T08:14:16.428Z"},{"id":8,"description":"Poetry, halftones, and Twitchy.","site_link":"klara.nz","author":"me!","in_the_ring":true,"notes":"","created_at":"2025-10-07T08:39:07.132Z","updated_at":"2025-10-07T08:57:26.399Z"},{"id":9,"description":"a little birdie on the internet :)","site_link":"kestrel.pet","author":"Kestrel","in_the_ring":true,"notes":"","created_at":"2025-11-15T06:57:16.625Z","updated_at":"2025-11-15T06:57:26.268Z"},{"id":10,"description":"autistic artist musician webdev dragon(girl?)thing; very gay; rawr","site_link":"ytd.wtf","author":"Yuri the Dragon","in_the_ring":true,"notes":"","created_at":"2025-12-30T09:57:00.232Z","updated_at":"2025-12-30T11:19:58.022Z"},{"id":11,"description":"This website runs on my living room heater","site_link":"izzy.kiwi","author":"Just Izzy","in_the_ring":false,"notes":"","created_at":"2025-12-30T11:19:12.953Z","updated_at":"2026-01-01T02:54:57.059Z"},{"id":12,"description":"a dump for all of my projects and adhd thoughts","site_link":"ikelene.dev","author":"Ikelene","in_the_ring":true,"notes":"","created_at":"2026-01-23T01:52:44.443Z","updated_at":"2026-01-23T01:52:44.463Z"},{"id":13,"description":"contains my mind space, which includes gaming, references, easter eggs, art, programming, etc!","site_link":"theabsoluterealm.com","author":"ezra","in_the_ring":true,"notes":"","created_at":"2026-01-23T01:54:27.672Z","updated_at":"2026-01-23T01:56:27.520Z"},{"id":14,"description":"Just a trans girl that likes radios, computers, creative freedom, art, etc not much more to it!","site_link":"cafepots.neocities.org","author":"Cafe_Pots","in_the_ring":true,"notes":"","created_at":"2026-01-30T08:36:39.133Z","updated_at":"2026-01-30T08:36:51.946Z"},{"id":15,"description":"Extension of my cute, sparkley, sprinkle filled transfem brain! ദ്ദി◝ ⩊ ◜)","site_link":"winzpir.neocities.org","author":"Winzpir/Angel","in_the_ring":true,"notes":"","created_at":"2026-02-20T01:31:47.843Z","updated_at":"2026-02-20T01:31:47.843Z"}],
root: "https://fem.nz"
}
console.log(transfemring)
transfemring.index = location.href.startsWith("file://") ? 0 : transfemring.sites.findIndex((entry) => location.href.includes("://" + entry.site_link));
let widget = document.currentScript.dataset.widget ?? "transgender";
function urlWithWidget(path) {
return `${transfemring.root}/ring/${widget}/${path}`
}
if (!VALID_WIDGET_TYPES.includes(widget)) {
console.log("To web admin: transfem webring widget should have data-widget set to one of the following if configured (attribute will default to 'transgender'):", VALID_WIDGET_TYPES)
console.log(`data-widget currently set to: ${widget}`)
widget = "transgender"
}
if (transfemring.index === -1) {
document.currentScript.outerHTML = `
<div>
<div class="transfem-ring" style="display: flex; justify-content: center; align-items: center; gap: 3.278%; max-width: 244px; image-rendering: pixelated">
<a href="${transfemring.root}" target="_top"><img width="168" height="61" src="${urlWithWidget("banner.png")}"></a>
</div>
(not yet, but maybe soon!)
</div>
`;
} else {
function nextActive() {
let currentIndex = transfemring.index + 1
while (!location.href.includes(transfemring.sites[currentIndex % transfemring.sites.length].site_link)) {
if (transfemring.sites[currentIndex % transfemring.sites.length].in_the_ring) {
return transfemring.sites[currentIndex % transfemring.sites.length]
}
currentIndex++
}
return transfemring.sites[currentIndex % transfemring.sites.length]
}
function previousActive() {
let currentIndex = transfemring.index - 1
while (!location.href.includes(transfemring.sites.at(currentIndex).site_link)) {
if (transfemring.sites.at(currentIndex).in_the_ring) {
return transfemring.sites.at(currentIndex)
}
currentIndex--
}
return transfemring.sites[currentIndex % transfemring.sites.length]
}
let next = "https://" + nextActive().site_link
let prev = "https://" + previousActive().site_link;
document.currentScript.outerHTML = `
<div class="transfem-ring" style="display: flex; justify-content: center; align-items: center; gap: 3.278%; max-width: 244px; image-rendering: pixelated">
<a href="${prev}" target="_top" style="width: 12.295%">
<img width="30" height="32" src="${urlWithWidget("arrow.png")}" alt="previous site">
</a>
<a href="${transfemring.root}" target="_top" style="width: 68.852%">
<img width="168" height="61" src="${urlWithWidget("banner.png")}" alt="transfem webring">
</a>
<a href="${next}" target="_top" style="width: 12.295%">
<img width="30" height="32" src="${urlWithWidget("arrow.png")}" alt="next site" style="transform: scaleX(-1);">
</a>
</div>
`;
}
}

View File

@@ -0,0 +1,117 @@
<?php
declare(strict_types=1);
// File sources, images & scripts
$TRANSFEMRING_FILES = [
"nonbinary" => [
"arrow_path" => "../../../img/webrings/transfem_enby_arrow.png",
"banner_path" => "../../../img/webrings/transfem_enby_banner.png"
],
"transgender" => [
"arrow_path" => "../../../img/webrings/transfem_trans_arrow.png",
"banner_path" => "../../../img/webrings/transfem_trans_banner.png"
]
];
$TRANSFEMRING_SCRIPT_SOURCE = [
"selected_source" => 1,
"sources" =>
[["url" => "https://fem.nz/ring/transfemring.js",
"source" => "internet"],
["url" => "/transfemwebring.js",
"source" => "local"]]
];
// Specific variables for script
$TRANSFEMRING_ROOT = "https://fem.nz";
$TRANSFEMRING_VALID_WIDGET_TYPES = ["transgender", "nonbinary"];
// Personal identifiers/choices
$TRANSFEMRING_WIDGET_TYPE = $TRANSFEMRING_VALID_WIDGET_TYPES[1];
$TRANSFEMRING_ID = 8;
// Functions
function primarySplit(string $array) {
$i = 0;
while (strlen($array) !== 0) {
// Strip coma if found
if (str_starts_with($array,',')) {
$array = substr($array,1);
}
// Get substring position and length
$start_pos = 1;
$end_pos = strpos($array,"}",1);
$item_len = $end_pos - $start_pos;
// Save website into array, and strip array
$return_array[$i] = substr($array,$start_pos,$item_len);
$array = substr($array,$item_len+2); // +2 from { and }
$i++;
}
unset($array,$start_pos,$end_pos,$item_len,$array);
return $return_array;
}
function secondarySplit(string $sub_array) {
while (strlen($sub_array) !== 0){
if (str_starts_with($sub_array,',')) {
$sub_array = substr($sub_array,1);
}
$key_start_pos = 1;
$key_end_pos = strpos($sub_array,"\"",1);
$key_len = $key_end_pos - $key_start_pos;
$key = substr($sub_array,$key_start_pos,$key_len);
$value_start_pos = $key_len + 3; // +3 from " , " and :
// Check if key is quoted
if (strpos($sub_array,"\"",$value_start_pos) != $value_start_pos) {
$keyhasQuotes = FALSE;
$value_end_pos = strpos($sub_array,",");
} else {
$value_start_pos++; // +1 from "
$value_end_pos = strpos($sub_array,"\"",$value_start_pos);
$keyhasQuotes = TRUE;
}
$value_len = $value_end_pos - $value_start_pos;
$value = substr($sub_array,$value_start_pos,$value_len);
$return_sub_array[$key] = $value;
$sub_sub_array_len = $key_len + $value_len + 3; // +3 from " , " and :
if ($keyhasQuotes) {
$sub_sub_array_len = $sub_sub_array_len + 2; // +2 from " and "
}
$sub_array = substr($sub_array,$sub_sub_array_len);
}
unset($sub_array, $value, $value_len, $value_start_pos, $value_end_pos, $key, $key_len, $key_start_pos, $key_end_pos, $keyhasQuotes, $sub_sub_array_len);
return $return_sub_array;
}
$transfemring_sites = scrapeWebsiteSites($TRANSFEMRING_SCRIPT_SOURCE,'sites: [',']');
$transfemring_sites = primarySplit($transfemring_sites);
for ($i = 0; $i < sizeof($transfemring_sites); $i++) {
$depured_transfemring_sites[$i] = secondarySplit($transfemring_sites[$i]);
}
$transfemring_sites = $depured_transfemring_sites;
unset($depured_transfemring_sites);
for ($i = 1; $i < count($transfemring_sites); $i++){
if ($transfemring_sites[$i]['id'] == $TRANSFEMRING_ID) {
$transfem_prev = 'https://' . $transfemring_sites[($i-1)]["site_link"];
$transfem_current = 'https://' . $transfemring_sites[($i)]["site_link"];
$transfem_next = 'https://' . $transfemring_sites[($i+1)]["site_link"];
$found = TRUE;
}
}
if (!isset($found)) {
echo ("ERROR ID NOT FOUND");
}

View File

@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
function FEMRINGrender(){
global $TRANSFEMRING_ROOT, $TRANSFEMRING_FILES, $TRANSFEMRING_WIDGET_TYPE, $transfem_prev, $transfem_next;
?>
<div class="transfem-ring" style="display: flex; justify-content: center; align-items: center; image-rendering: pixelated;">
<a href="<?php echo $transfem_prev ?>" target="_top" style="height: 100%; width: 15.574%;">
<img src="<?php echo $TRANSFEMRING_FILES[$TRANSFEMRING_WIDGET_TYPE]["arrow_path"]; ?>" alt="previous site" style="vertical-align: middle; height: 100%;">
</a>
<a href="<?php echo $TRANSFEMRING_ROOT ?>" target="_top" style="height: 100%; width: 68.852%;">
<img src="<?php echo $TRANSFEMRING_FILES[$TRANSFEMRING_WIDGET_TYPE]["banner_path"]; ?>" alt="transfem webring" style="vertical-align: middle; height: 100%;">
</a>
<a href="<?php echo $transfem_next ?>" target="_top" style="height: 100%; width: 15.574%;">
<img src="<?php echo $TRANSFEMRING_FILES[$TRANSFEMRING_WIDGET_TYPE]["arrow_path"]; ?>" alt="next site" style="transform: scaleX(-1); vertical-align: middle; height: 100%;">
</a>
</div>
<?php
}

View File

@@ -0,0 +1,9 @@
<?php
declare(strict_types=1);
require_once("common_webrings.inc.php");
require_once('transingtheinternet_contr.inc.php');
require_once('transingtheinternet_view.inc.php');
TRANSINGrender();

View File

@@ -0,0 +1,926 @@
// webstring by june @ juneish.neocities.org
{
let webring = {
// sites in the ring
// remove the https://
sites: [
//"elijahposttrash.neocities.org",
"napkinonline.nekoweb.org",
"cossechan.nekoweb.org",
"rainfrog.nekoweb.org",
"lotusmoonstart.neocities.org",
"foxlore.neocities.org",
"butterfly3000.neocities.org",
"zimawtf.neocities.org",
"princesschainsaw.neocities.org",
"homopile.neocities.org",
"ruitherga.neocities.org",
"tudorcottage.neocities.org",
"jorse.neocities.org",
"the-ivesofmarch.neocities.org",
"pombogay.neocities.org",
"ries.neocities.org",
"coffeeplant.neocities.org",
"eviltmasccatboypili.neocities.org",
"kiwiandoesthings.place",
"liquid-sunshine.neocities.org",
"winchuckster.neocities.org",
"marlena.app",
"clare.nekoweb.org",
"lexthesilly.neocities.org",
"giantmolecular.cloud",
"caterpillarangel.neocities.org",
"quinnbozon.nekoweb.org",
"endy-boi.neocities.org",
"thelostsignal.neocities.org",
"tesseractcube.neocities.org",
"americanachronism.neocities.org",
"attissillies.neocities.org",
"chirpylaura.neocities.org",
"xenon-starz.neocities.org",
"yoyle.city",
"julians-art.neocities.org",
"djsng.neocities.org",
"maehat.neocities.org",
"plaguecore.neocities.org",
"enteragoodnamehere.neocities.org",
"brooklynights.nekoweb.org",
"5k1n3473r.neocities.org",
"loserlost.neocities.org",
"knife-in-the-coffee.neocities.org",
"wheel-of-fortune.neocities.org",
"starboystation.neocities.org",
"lemonsprout.neocities.org",
"bloodbathspite.neocities.org",
"stargazing.nekoweb.org",
"b1temark.neocities.org",
"vinventolin.neocities.org",
"mfdook.neocities.org",
"conners1corner.neocities.org",
"backtick.nekoweb.org",
"odriscoll.neocities.org",
"fireye.coffee",
"iso-bel.computer",
"xpvm.net",
"jaennymorton.neocities.org",
"flimsknoght.neocities.org",
"www.honeyteaaa.art",
"androbohij.cc",
"nickyturner.neocities.org",
"colgator.neocities.org",
"vabu.nekoweb.org",
"the-disorganized-mind-palace.neocities.org",
"clementinesyumehaven.neocities.org",
"shittymeat999.neocities.org",
"starfield.nekoweb.org",
"weban3e1.neocities.org",
"kaidoesartzz.nekoweb.org",
"natsfixations.neocities.org",
"bensect.space",
"wackysworld.neocities.org",
"webgutter.neocities.org",
"iseel.neocities.org",
"samsolarsystem.neocities.org",
"thestrangeemporium.neocities.org",
"chromix.nekoweb.org",
"eonsadrift.nekoweb.org",
"juliesqueaks.neocities.org",
"danzig.nekoweb.org",
"barkode.neocities.org",
"mustymixtape.neocities.org",
"charmiesworld.neocities.org",
"kadyjerry.neocities.org",
"notes-from-michaels-desk.neocities.org",
"sleeping-satan.neocities.org",
"integratedvoices.neocities.org",
"ephesusmoon.neocities.org",
"aglovale.nekoweb.org",
"friendshapedplant.neocities.org",
"animalgirlssanctuary.neocities.org",
"cynderthekitsune.nekoweb.org",
"spaceblog.neocities.org",
"skyllrk.neocities.org",
"femtanyl03.neocities.org",
"jennie-archives.neocities.org",
"mcdougmuffin.neocities.org",
"bunnyboyblog.neocities.org",
"wizardhell.neocities.org",
"mightbemod.neocities.org",
"esiacannotforget.neocities.org",
"skyler.lol",
"pokeymanatee4.xyz",
"hereafterlaughter.neocities.org",
"fresh1219.neocities.org",
"letsgoleelee.neocities.org",
"rue04.neocities.org",
"cubething.dev",
"mostsilliest.nekoweb.org",
"mavisdeluna.art",
"somebit.neocities.org",
"themarshe.neocities.org",
"cryotato.github.io",
"girlboybird.hotglue.me",
"crowguinisonline.neocities.org",
"daisybells.neocities.org",
"crypticamanita.neocities.org",
"orbitt.sbs",
"0ldw3bl0v3r.neocities.org",
"socsie.space",
"exclave.city",
"michoislost.nekoweb.org",
"kero.net",
"musicalmatchalatte.gay",
"somewhere-city.neocities.org",
"bellpepperfan.neocities.org",
"ancientangel333.neocities.org",
"thealleyway.neocities.org",
"maycithegal.nekoweb.org",
"ikelene.nekoweb.org",
"jackpurrin.me",
"angelnetcast.com",
"ourfriendsplace.neocities.org",
"ceefax.nekoweb.org",
"mrwrzr.neocities.org",
"darxori.neocities.org",
"sugarsamu.neocities.org",
"leonie.lgbt",
"april.nekoweb.org",
"computersoda.neocities.org",
"neonspiral.neocities.org",
"werewiire.neocities.org",
"ollie-okay.neocities.org",
"csarhere.nekoweb.org",
"mezbezls.neocities.org",
"playoffs-nem.neocities.org",
"peppers-wasteland.neocities.org",
"wlodekm.nekoweb.org",
"barkingdead.neocities.org",
"myepicsite424.neocities.org",
"ridvenge.neocities.org",
"digitaldoggi.com",
"goodgirl.dev",
"mossyscorner.neocities.org",
"dospuntostr.es",
"rakii0zuu.neocities.org",
"the-icarus-archive.neocities.org",
"kaiswonderland.nekoweb.org",
"crowpunk.co",
"gl1tz1.monster",
"itztheo.neocities.org",
"deadvenge.neocities.org",
"thoushallkill.neocities.org",
"gwurb.neocities.org",
"starsforthelivinganddead.neocities.org",
"livvy94.neocities.org",
"mocha8686.neocities.org",
"ancientcrypt.neocities.org",
"jaspertheepic.neocities.org",
"crazed4sallymanders.neocities.org",
"summer-slushpups-hut.neocities.org",
"applejuicey.neocities.org",
"guzu2squared.neocities.org",
"martin-is-a-real-person.neocities.org",
"cosm-os.neocities.org",
"decomdiatom.neocities.org",
"mistakemp4.neocities.org",
"pogmom.me",
"masterluuc.neocities.org",
"cyntheticgal.neocities.org",
"moths-clubhouse.neocities.org",
"smoothscallywag.neocities.org",
"cwd.moe",
"korumeow.dev",
"cascaria.neocities.org",
"roguepebble.neocities.org",
"lizzardencounter.neocities.org",
"jamie.monster",
"natthecat.net",
"laprogrammatriceverde.crabdance.com",
"nathanntan.neocities.org",
"softfuzzycedar.neocities.org",
"didelphidae.neocities.org",
"darkxwolf17.nekoweb.org",
"wateringfruits.neocities.org",
"boredhobo.neocities.org",
"furbycoven.neocities.org",
"darkmomokocore.neocities.org",
"lilys-place.nekoweb.org",
"calzonie.neocities.org",
"jesterknight.neocities.org",
"lorekeeping.neocities.org",
"yokosplace.xyz",
"kris-scapes.neocities.org",
"digitalvenus.neocities.org",
"mewardgay.neocities.org",
"candyteeth.neocities.org",
"futch.nekoweb.org",
"okaynana.neocities.org",
"artielas.neocities.org",
"pucha1985.neocities.org",
"alienspaceinvader.neocities.org",
"smugwolf.neocities.org",
"nilistisk.neocities.org",
"dyingsignals.love",
"bananasplit.nekoweb.org",
"twinkpad.neocities.org",
"deadon.rip",
"icarusdean.neocities.org",
"estivalbloom.neocities.org",
"nightmarefish.neocities.org",
"planthouse.neocities.org",
"emo-mruczek.pet",
"mechagic.party",
"yuros-nest.neocities.org",
"carrick-pre.github.io",
"orlandoscoffee.neocities.org",
"bonesdale.neocities.org",
"elu-isa.neocities.org",
"cult.ist",
"killanova.neocities.org",
"usahanaa.neocities.org",
"necrodancing.neocities.org",
"enderwebs.neocities.org",
"p1xieparadis3.neocities.org",
"wyrppad.neocities.org",
"sluglife.neocities.org",
"elixirical.nekoweb.org",
"ghostingpen.neocities.org",
"cindyblossom.neocities.org",
"www.bearadactyl.net",
"lerariemann.nekoweb.org",
"mayonmnnaise.nekoweb.org",
"defoko-mp3.neocities.org",
"dipschitt.neocities.org",
"wanwanworld.neocities.org",
"chrysallis.neocities.org",
"plushcowz.neocities.org",
"sugarangel.neocities.org",
"toonilumi.neocities.org",
"tohellwithit.nekoweb.org",
"paulsworld.neocities.org",
"teddys-grove.neocities.org",
"simplyjason.neocities.org",
"cadapra.neocities.org",
"avaforward.neocities.org",
"toribytez.neocities.org",
"sudo.pink",
"jello01000101.neocities.org",
"rollergirlz.nekoweb.org",
"voidway.nekoweb.org",
"vanillachai42.neocities.org",
"snailburger.neocities.org",
"angelchime.neocities.org",
"verzephobe.neocities.org",
"happigreencactus.neocities.org",
"kaijukity.moe",
"dexterdaybreaker.neocities.org",
"celest3.neocities.org",
"branchlines.neocities.org",
"musubi.nekoweb.org",
"cutsfrombrokenglass.neocities.org",
"cherryangel.neocities.org",
"kid-koda.neocities.org",
"basophie.neocities.org",
"maddisonstoff.neocities.org",
"justpattie.neocities.org",
"toothspit.neocities.org",
"winteryear.neocities.org",
"neurasun.neocities.org",
"https://jackpurrin.me/",
"victrix.neocities.org",
"autostereogrammusic.com",
"ananotsocute.neocities.org",
"honeyedcharlatan.neocities.org",
"fleasonrats.neocities.org",
"oozy.neocities.org",
"dustbunnybedroom.neocities.org",
"siffarooni.neocities.org",
"blanche.nekoweb.org",
"follyfox.neocities.org",
"mothpup.pet",
"thicccatz.neocities.org",
"lucky-goose.neocities.org",
"betty-plays-bass.neocities.org",
"karchah.neocities.org",
"psyclone.nekoweb.org",
"gojidragon.com",
"atomicgothic.neocities.org",
"morocerasus.neocities.org",
"otto-the-coolest.neocities.org",
"citadark.neocities.org",
"fish.golf",
"glyph555.neocities.org",
"cmbcoldspot.neocities.org",
"feelingmachine.moe",
"dollblooms.neocities.org",
"max-iwtaco.neocities.org",
"roxsquires.gay",
"natural-stupidity.neocities.org",
"mothinary.neocities.org",
"invadergvim.neocities.org",
"pastel-skies.nekoweb.org",
"zaytnzcity.neocities.org",
"aria.coffee",
"melody-is.gay",
"gatorboi.neocities.org",
"disctwo.net",
"xduskashesreal.neocities.org",
"toasty.place",
"loserr-blog.neocities.org",
"puka-muriska.neocities.org",
"dynazenta.neocities.org",
"sea-angel-blu.neocities.org",
"form-and-thearchive.neocities.org",
"ann-html.neocities.org",
"lamebrain.neocities.org",
"calicocamcorders.neocities.org",
"mammifereaile.nekoweb.org",
"deyx.neocities.org",
"witchesbrew.nekoweb.org",
"possiblyaxolotl.com",
"onemoredoughnut.neocities.org",
"pudo.neocities.org",
"wizardzz.neocities.org",
"parkerspixels.neocities.org",
"coffeeknife.nekoweb.org",
"bearsjunkjournal.neocities.org",
"benitengu.neocities.org",
"mjdxp.neocities.org",
"floraltriptych.nekoweb.org",
"upsidedownhourglass.neocities.org",
"hello-m00n.github.io/personal_website",
"chanteryuutai.neocities.org",
"blobii.neocities.org",
"sillygirlclub.neocities.org",
"heyitsrksmith.com",
"skyla.moe",
"l0bst3rf4c3.neocities.org",
"flowergarden-cafe.neocities.org",
"byteemily.nekoweb.org",
"chrysalis.nehulus-vagus.com",
"ruby-makes-bad-games.neocities.org",
"dreamvalley.nekoweb.org",
"axelotl3001.neocities.org",
"www.callistoashley.dev",
"minonii.neocities.org",
"elfwyn.neocities.org",
"jessieisironicallym3.neocities.org",
"quaggos.neocities.org",
"centipederot.neocities.org",
"blinkie-net.neocities.org",
"rainbowgirl.neocities.org",
"skelenby.neocities.org",
"crowycawcaw.neocities.org",
"marcypink.neocities.org",
"kickaha.neocities.org",
"cyberfangz.site",
"deadraccoon.neocities.org",
"auroradynia.com",
"rubisdubis.nekoweb.org",
"moonflyxspace.neocities.org",
"luka-the-normal-boy.neocities.org",
"cobwebears.neocities.org",
"sophiebites.me",
"kimn.neocities.org",
"jupy.wtf",
"nerdforeternity.neocities.org",
"liliancipher.neocities.org",
"luvrksknskyejourney.org",
"starry622.neocities.org",
"sapphic-cafe.net",
"orcassiea.nekoweb.org",
"possumlark.org",
"captainicarus.neocities.org",
"mossmurder.neocities.org",
"dreamsofvinushka.neocities.org",
"r1xstixx420.neocities.org",
"aevuslabyrinth.neocities.org",
"smyrlok.neocities.org",
"thejay-ester.neocities.org",
"femboy.art",
"computerguts.gay",
"hench4life.neocities.org",
"hexate.neocities.org",
"oyasumihologram.nekoweb.org",
"voltdrake.neocities.org",
"insqueeration.neocities.org",
"stylrtechnologies.com",
"fruitycircus.com",
"nepetaquest.nekoweb.org",
"adilene.net",
"ivycryptid.nekoweb.org",
"bride2be.neocities.org",
"e10.neocities.org",
"alcatrazisland.neocities.org",
"aetherie-99.neocities.org",
"eringrimalkin.neocities.org",
"mortland.neocities.org",
"mintchipdotcom.neocities.org",
"cake.moe",
"sillyhearts.neocities.org",
"bscit.dev",
"ultrakill.nekoweb.org",
"chimerathing.neocities.org",
"catatonia.neocities.org",
"b1ttersw33t.neocities.org",
"stars-sys.neocities.org",
"remnantmaru.neocities.org",
"rainmirage.art",
"mettatons-fan-corner.neocities.org",
"postalbutch.neocities.org",
"illomen.neocities.org",
"rainparade.nekoweb.org",
"bramblingaround.neocities.org",
"columbiasthoughts.neocities.org",
"sunnishinez.neocities.org",
"alyxia.dev",
"sugrstrz.com",
"acidicalchemist.nekoweb.org",
"weatherchannel.neocities.org",
"electro-magnets.neocities.org",
"leamsiwl.nekoweb.org",
"asterhalloween.neocities.org",
"analoguecatalogue.neocities.org",
"sorrowshowers.neocities.org",
"stelfield.neocities.org",
"sepharia.neocities.org",
"sleepycircus.neocities.org",
"aestuarium.me",
"asmodeusvulcan.neocities.org",
"ender-the-phantom.neocities.org",
"multicolor-anarchist.neocities.org",
"beaus-silly-folder.nekoweb.org",
"ivyswell-tavern.neocities.org",
"tilde-os.neocities.org",
"din0r4wr.neocities.org",
"astracelestine.nekoweb.org",
"rockseize.neocities.org",
"breaker-one.neocities.org",
"oceansandy02.nekoweb.org",
"rawrware.neocities.org",
"octopen.neocities.org",
"lupinus.neocities.org",
"terrorbabs.neocities.org",
"zenithtrajectory.neocities.org",
"usprisoner.neocities.org",
"pentumbra.neocities.org",
"twitch.cymru",
"scenemime.neocities.org",
"chromaeleon.neocities.org",
"mossypawprints.neocities.org",
"columbidaes.neocities.org",
"hammerheader.neocities.org",
"simpolomeo.neocities.org",
"p1n4.neocities.org",
"felixtheghost.neocities.org",
"bushdoctor.neocities.org",
"cresentri.com",
"wallgof.neocities.org",
"kitnomaly.neocities.org",
"sunkissed-feathers.neocities.org",
"t-hates-you.neocities.org",
"iodatalog.neocities.org",
"disasterpiece.neocities.org",
"therianava.li",
"dragonworld.neocities.org",
"cosyivy.xyz",
"traversetown.neocities.org",
"wriorango.neocities.org",
"gh0sted.neocities.org",
"dqs114.neocities.org",
"serasworld.neocities.org",
"starhaven.neocities.org",
"nickolox.com",
"fawn.nekoweb.org",
"liondrakes.neocities.org",
"crowsite.neocities.org",
"euclids-exception.neocities.org",
"wrldrevolving.neocities.org",
"strawberryysnow.neocities.org",
"thecatingrey.neocities.org",
"novaverie.nekoweb.org",
"june-is-scared.nekoweb.org",
"skyedarkclaw.neocities.org",
"toriii.neocities.org",
"ephemeralstar.neocities.org",
"cybr.gay",
"ghostsalt.neocities.org",
"thievery.neocities.org",
"kasperspace.nekoweb.org",
"pastaaa1.neocities.org",
"kaymartz.neocities.org",
"mothwiingz.neocities.org",
"v1v1sect1on.nekoweb.org",
"amethystweb.nekoweb.org",
"rachelowens.co.uk",
"cicadastatic.neocities.org",
"pysgodyn3.neocities.org",
"ques-nook.neocities.org",
"vampfag.top",
"candybaroque.neocities.org",
"quesadillawizard.neocities.org",
"silas-hw.github.io",
"firefairy.neocities.org",
"noisecorvid.neocities.org",
"digitaldaydreams.neocities.org",
"cassiecandles.net",
"mxbo.neocities.org",
"virtually-isolated.neocities.org",
"anomalous.monster",
"bonbon-ufo.neocities.org",
"ibbofazblog.neocities.org",
"miniwildpanda.neocities.org",
"tvkid.online",
"koyanthrope.neocities.org",
"livormortis.neocities.org",
"zelltronic.neocities.org",
"goosetank.neocities.org",
"butchboothill.neocities.org",
"lopster.neocities.org",
"angelwood.xyz",
"spycicl.neocities.org",
"shuriee.neocities.org",
"sticktrix.neocities.org",
"mannequin.fun",
"blue-miaou.neocities.org",
"transferns.neocities.org",
"germpills.neocities.org",
"atarax.neocities.org",
"lifelesscold.neocities.org",
"raum.neocities.org",
"goleihm.neocities.org",
"fuzzybabycrow.neocities.org",
"kidwiththechemicalz.neocities.org",
"testtubesterone.nekoweb.org",
"cayway.neocities.org",
"www.fluffpumpkin.net",
"westwinddogs.cc",
"ikuda.eu",
"home.illuc.xyz",
"kakotheris.nekoweb.org",
"shadowfae.neocities.org",
"starlitseas.neocities.org",
"wolfdeer.neocities.org",
"fromthebog.neocities.org",
"bohwoah.neocities.org",
"pixelatedpeachjuice.neocities.org",
"atomixe.neocities.org",
"slushiecafe.neocities.org",
"sea-of-colors.neocities.org",
"cyrussoleil.neocities.org",
"zombi.neocities.org",
"confetticake.neocities.org",
"falin.moe",
"onetimeoccam.com",
"anon1mity.neocities.org",
"lesrallizes.neocities.org",
"robynnesnest.click",
"freakygabry.neocities.org",
"alphacentauri.neocities.org",
"haetae.pages.gay",
"mooface.nekoweb.org",
"msx.gay",
"draggianuniverse.neocities.org",
"sepulchredsacrament.neocities.org",
"spacemadness.neocities.org",
"datoxicwaltz.neocities.org",
"canine-anarchy.neocities.org",
"cannibalpilled.neocities.org",
"bloodthirstymasquerade.neocities.org",
"pawpyrus.nekoweb.org",
"muffinzhouze.neocities.org",
"realismomagico.nekoweb.org",
"themightyloser.nekoweb.org",
"sealzie.neocities.org",
"sillywilly22.neocities.org",
"basi.nya.pub",
"daisywhisp.neocities.org",
"ray0fsunsh1ne.neocities.org",
"st4rguy.neocities.org",
"subterraneanhomesickalien.neocities.org",
"sunny-cities.neocities.org",
"suprsaturatd.neocities.org",
"lucienzeal.neocities.org",
"interstellarsystem.neocities.org",
"sociallyhazardous.neocities.org",
"lunya.nekoweb.org",
"thespaceshanty.neocities.org",
"mermora.neocities.org",
"leyy.neocities.org",
"disuko.neocities.org",
"whit.moe",
"im-disco-baby.neocities.org",
"digital-goddess.nekoweb.org",
"raven-files.neocities.org",
"bugkisser.neocities.org",
"chimeramanticore.neocities.org",
"mism4tchedsocks.neocities.org",
"jackandthearics.neocities.org",
"kepler-16b.neocities.org",
"treefungusxx.neocities.org",
"prunusavium.neocities.org",
"selkiehimbo.neocities.org",
"norisowl.neocities.org",
"mametzwood.neocities.org",
"dupersuperholly.neocities.org",
"ashtonsivibing.neocities.org",
"turbuggy.neocities.org",
"magicaldoll.neocities.org",
"boatemhq.neocities.org",
"olliveen.neocities.org",
"glamourbeast.neocities.org",
"digitalcat.neocities.org",
"caesthoffe.neocities.org",
"deletys.neocities.org",
"unsungstorywiki.neocities.org",
"granolaria.neocities.org",
"wumsley.neocities.org",
"madeinv.love",
"moonlightmyopia.neocities.org",
"gammagoop.neocities.org",
"koy.fish",
"halcybutton.neocities.org",
"betazz.neocities.org",
"infinitebearr.neocities.org",
"all-seeing-bunny.neocities.org",
"halcantdothat.neocities.org",
"zoneoffun.neocities.org",
"melancholic-entrails.neocities.org",
"lilithdev.neocities.org",
"wolfsite.neocities.org",
"alienyuri.neocities.org",
"unit00.neocities.org",
"voxel.gay",
"catgirlcassie.neocities.org",
"atari404.neocities.org",
"rosrets.neocities.org",
"miastonished.github.io",
"lilly.nekoweb.org",
"cupcakesthebulldog.neocities.org",
"joolianjay.neocities.org",
"clowdywings.neocities.org",
"muttthecowcat.neocities.org",
"xxfizzybloodxx.neocities.org",
"slysable.neocities.org",
"theevergreengardens.neocities.org",
// "achromatic-azurevizor.neocities.org",
"syrupnx.space",
"revived.neocities.org",
"sammylux.neocities.org",
"lambbones.neocities.org",
"hymnforascarecrow.neocities.org",
"fem.nz",
"subspaceember.neocities.org",
"shattered-glass.neocities.org",
"sugarfantasies.neocities.org",
"melxncholyman.neocities.org",
"pastellerie.neocities.org",
"magooka.neocities.org",
"celli.neocities.org",
"squidcrusher.neocities.org",
"sabrin.party",
"priro.pro",
"1dkreally.neocities.org",
"oliscrabwife.neocities.org",
"harvest-home.neocities.org",
"droptherapy.neocities.org",
"spiderlily.neocities.org",
"fukounaglr.neocities.org",
"coffinthusiast.neocities.org",
"riddler.nekoweb.org",
"www.cryptie.dev",
"thekirbysphere.neocities.org",
"leskowitz.neocities.org",
"milkyway.moe",
"zj.neocities.org",
"tehuan.neocities.org",
"murderscene.neocities.org",
"prophetesque.gay",
"kyoofyardale.neocities.org",
"bundleofstyx.neocities.org",
"lavender-cowboy.neocities.org",
"dog-brain.neocities.org",
"pixelglade.net.au",
"jettsecret.neocities.org",
"caitsith.neocities.org",
"moonsidedreams.neocities.org",
"mspaintdemon.neocities.org",
"codecreature.neocities.org",
"thesomnus.neocities.org",
// "funnyorangecat-dotcom.neocities.org",
"girlfailure.neocities.org",
"sunmiflowers.com",
"trashcannt.neocities.org",
"themby.neocities.org",
"garudyne.neocities.org",
"doumeli.neocities.org",
"siph.neocities.org",
"bubshub.neocities.org",
"quinnnnn.neocities.org",
"phoebe.digital",
"ciliaris.neocities.org",
"gaycomputerdog.neocities.org",
"frognet.neocities.org",
// "nonkiru.art",
"finn-all-uh.org",
"florpzgalaxy.neocities.org",
"wonderscape.neocities.org",
"www.lexiqqq.com",
"dulcesilly.neocities.org",
"chocolaterevel.neocities.org",
"savior-god.neocities.org",
"infini.neocities.org",
"manyface.neocities.org",
"plourples.com",
"this.squirrel.rocks",
"lucard.neocities.org",
"s1nez.nekoweb.org",
"monsterboy.neocities.org",
// "sizztuna.neocities.org",
"aceynk.neocities.org",
"mordecaialba.com",
"canadiancoded.neocities.org",
"morethanyoubelieve.neocities.org",
"foggybear42.neocities.org",
"117.zone",
"scottisite.neocities.org",
"minozomi.neocities.org",
"digibun.neocities.org",
"butch-barks.neocities.org",
"nerucom.neocities.org",
"smellybead.neocities.org",
"preservedfigs.uk",
"anchorgutz.neocities.org",
"foxthing.neocities.org",
"klomfel.neocities.org",
"wrender.neocities.org",
// "milosinternetdiary.neocities.org",
"cherylcherylcheryl.neocities.org",
"shenaniganery.neocities.org",
"jens-world-of-hyperfixation.neocities.org",
"aribluejeans.neocities.org",
"www.write-on.org",
"asralore.neocities.org",
"snowyfin.neocities.org",
"tertiaryapocalypse.neocities.org",
"killing-machine.neocities.org",
"spacemonkeyz.neocities.org",
"freaksaint.neocities.org",
"ghost-game.neocities.org",
"colortraks.net",
"screamingegg.neocities.org",
"jayspace.neocities.org",
"phantomrats.neocities.org",
"mercydreams.neocities.org",
"sech1p.ovh",
"wappydog.neocities.org",
"leizy8499.neocities.org",
"fearofmusic.neocities.org",
"serenegecko.neocities.org",
"slasherboy.neocities.org",
"bisexualmale04.net",
"f3r4l-c4tg1rl.neocities.org",
"asteromorph.neocities.org",
"realgaudin.uk",
// "s1llyguy.neocities.org",
"itpuddle.com",
// "neotrinity.xyz",
// "zonks27.neocities.org",
"cadeion.neocities.org",
"corvidae.digital",
"catboo.neocities.org",
"ttaxyy.neocities.org",
// "gyrobreaka.neocities.org",
"zinesbylennon.neocities.org",
"poetofu.neocities.org",
"ilovebeingtrans.neocities.org",
"spettri.neocities.org",
"whirlwind.neocities.org",
"stric9l0l.neocities.org",
"swiftyshq.neocities.org",
"crystal.tilde.institute",
"isactuallyabear.neocities.org",
"statusq.cc",
"astralvrz.github.io",
"dogspit.nekoweb.org",
"flower-killer.neocities.org",
"phrogee.neocities.org",
"burialcloth.neocities.org",
"maxxywaxxy.neocities.org",
"orion-overdrive.neocities.org",
"fangzzz.neocities.org",
"aryllsappreciations.neocities.org",
"twansgendew.net",
"jubiland.neocities.org",
"cyberdemon.neocities.org",
"space-bar.neocities.org",
// "bunnieforie.neocities.org",
// "hadalzone.neocities.org",
"pinkvampyr.leprd.space",
"thecorvidking.neocities.org",
"confettiguts.gay",
"callmecannibal.neocities.org",
// "nasunikki.neocities.org",
"shinyexe.neocities.org",
"smokoswebzone.gay",
"kelpeater.neocities.org",
"deviltown.neocities.org",
"r-temisia.neocities.org",
"crashtestdummy.neocities.org",
"punkwasp.leprd.space",
"nyacat.moe",
"theabsoluterealm.com",
// "layercake.neocities.org",
// "juicemachine.neocities.org",
"predictable1993.neocities.org",
"item64.neocities.org",
"cvnnbl.neocities.org",
// "squeezeoats.neocities.org",
"icosahedr.online",
"theaio.neocities.org",
"qso404.neocities.org",
"nimravidae.neocities.org",
"mizuki.world",
// "milestailsprower.neocities.org",
"foolsparadise.neocities.org",
"redrevelry.neocities.org",
"drakonic.zone",
"onlywonder.net",
// "heck.computer",
// "diluculo.neocities.org",
"glassyhouse.neocities.org",
"purplehello98.neocities.org",
"causeistayedaway.neocities.org",
// "rockinroller.neocities.org",
// "cranknet.com",
"p3p.neocities.org",
"hunipyon.neocities.org",
"beebfreeb.neocities.org",
"laikacore.neocities.org",
"the-bat-house.neocities.org",
// "least-mouse.github.io",
"faeriebottled97.neocities.org",
"worldsaddress.neocities.org",
"thoughts-and-collections.neocities.org",
"shiroganes.neocities.org",
"out.neocities.org",
"mysweetpiano.neocities.org",
"mikaorangeart.neocities.org",
"galactixstar.neocities.org",
"cyberneticdryad.neocities.org",
// "bajablasphemy.neocities.org",
"blagi.neocities.org",
"sanguinariacanadensis.neocities.org",
// "mincerafter42.github.io",
"transrats.neocities.org",
"friday-girl.neocities.org",
"flutteristhebest.neocities.org",
"sunnyday.neocities.org",
"sleepy-sage.neocities.org",
"wolf-on-the-web.neocities.org",
"alan460.is-hella.gay",
"therift.neocities.org",
// "keysklubhouse.com",
"ballonlea.net",
"compulsivecomputer.net",
"scourgescloset.neocities.org",
"lambchapel.neocities.org",
"troy-sucks.neocities.org",
"transring.neocities.org",
],
// widget html
// PREV and NEXT are replaced with neighbors' urls
widgets: {
default: `
<div id="transring" style="display: flex; align-items: center; gap: 3.278%; max-width: 244px; image-rendering: pixelated">
<a href="PREV" target="_top" style="width: 12.295%"><img width="100%" src="https://transring.neocities.org/widget/trans/left.png" alt="previous site"></a>
<a href="https://transring.neocities.org" target="_top" style="width: 68.852%"><img width="100%" src="https://transring.neocities.org/widget/trans/button.png" alt="transing the internet"></a>
<a href="NEXT" target="_top" style="width: 12.295%"><img width="100%" src="https://transring.neocities.org/widget/trans/right.png" alt="next site"></a>
</div>
`,
nb: `
<div id="transring" style="display: flex; align-items: center; gap: 3.278%; max-width: 244px; image-rendering: pixelated">
<a href="PREV" target="_top" style="width: 12.295%"><img width="100%" src="https://transring.neocities.org/widget/nb/left.png" alt="previous site"></a>
<a href="https://transring.neocities.org" target="_top" style="width: 68.852%"><img width="100%" src="https://transring.neocities.org/widget/nb/button.png" alt="transing the internet"></a>
<a href="NEXT" target="_top" style="width: 12.295%"><img width="100%" src="https://transring.neocities.org/widget/nb/right.png" alt="next site"></a>
</div>
`,
cloud: `<div id="transring" style="display: flex; justify-content: center; align-items: center; gap: 4px; image-rendering: pixelated">
<a href="PREV" target="_top"><img src="https://transring.neocities.org/widget/cloud/left.png" alt="previous site"></a>
<a href="https://transring.neocities.org" target="_top"><img src="https://transring.neocities.org/widget/cloud/button.png" alt="transing the internet"></a>
<a href="NEXT" target="_top"><img src="https://transring.neocities.org/widget/cloud/right.png" alt="next site"></a>
</div>`,
error: `<div>
<a href="https://transring.neocities.org" target="_top"><img src="https://transring.neocities.org/widget/trans/button.png"></a>
<div style="font-size: 0.75em; text-align: center">(this site isn't part of the webring... yet!)</div>
</div>`,
},
};
// code
webring.idx = webring.sites.findIndex(site => location.href.startsWith(site, 8));
document.currentScript.outerHTML = webring.idx === -1 ? webring.widgets.error :
(webring.widgets[document.currentScript.dataset.widget] ?? webring.widgets.default)
.replace("PREV", "https://" + webring.sites.at(webring.idx - 1))
.replace("NEXT", "https://" + webring.sites[(webring.idx + 1) % webring.sites.length]);
}

View File

@@ -0,0 +1,107 @@
<?php
declare(strict_types=1);
// File sources, images & scripts
$TRANSING_FILES = [
"enby" => [
"left_arrow" => "../../../img/webrings/transfem_enby_left_arrow.png",
"button" => "../../../img/webrings/transfem_enby_button.png",
"right_arrow" => "../../../img/webrings/transfem_enby_right_arrow.png"
],
"trans" => [
"left_arrow" => "../../../img/webrings/transfem_trans_left_arrow.png",
"button" => "../../../img/webrings/transfem_trans_button.png",
"right_arrow" => "../../../img/webrings/transfem_trans_right_arrow.png"
],
"cloud" => [
"left_arrow" => "../../../img/webrings/transfem_cloud_left_arrow.png",
"button" => "../../../img/webrings/transfem_cloud_button.png",
"right_arrow" => "../../../img/webrings/transfem_cloud_right_arrow.png"
]
];
$TRANSING_SCRIPT_SOURCE = [
"selected_source" => 1,
"sources" =>
[["url" => "https://transring.neocities.org/ring.js",
"source" => "internet"],
["url" => "/transingtheinternet.js",
"source" => "local"]]
];
// Specific variables for script
$TRANSING_ROOT = "https://transring.neocities.org";
$TRANSING_VALID_WIDGET_TYPES = ["cloud", "enby", "trans","error"];
// Personal identifiers/choices
$TRANSING_WIDGET_TYPE = $TRANSING_VALID_WIDGET_TYPES[1];
$TRANSING_ID = 1;
// Functions
function transingSplit(string $array) {
$array = preg_replace('/\s+/', '', $array);
$i = 0;
while (strlen($array) !== 0) {
// Strip coma if found
if (str_starts_with($array,',')) {
$array = substr($array,1);
}
if (str_starts_with(strrev($array),',')) {
$array = substr($array,0,-1);
}
if (strpos($array,'/',1) > 1 or strpos($array,'/',1) == FALSE) {
$commented=FALSE;
} else {
$commented=TRUE;
}
if (str_starts_with($array,',')) {
$array = substr($array,1);
}
// Get substring position and length
$commented ? $start_pos=3 : $start_pos=1;
$end_pos = strpos($array,"\"",$start_pos);
$item_len = $end_pos - $start_pos;
if (!$commented){
$return_array[$i] = substr($array,$start_pos,$item_len);
} else {
$return_array[$i] = '';
}
// Save website into array, and strip array
if (!$commented) {
$item_len = $item_len +2; // +2 from " and "
} else {
$item_len = $item_len +4; // +4 from ", ", / and /
}
$array = substr($array,$item_len);
$i++;
}
unset($array, $commented, $start_pos, $end_pos, $item_len);
return $return_array;
}
$transing_sites = scrapeWebsiteSites($TRANSING_SCRIPT_SOURCE,'sites :[',']');
$transing_sites = transingSplit($transing_sites);
for ($i = 0; $i < count($transing_sites); $i++){
if ($i == $TRANSING_ID) {
$transing_prev = 'https://' . $transing_sites[($i-1)];
$transing_current = 'https://' . $transing_sites[($i)];
$transing_next = 'https://' . $transing_sites[($i+1)];
$found = TRUE;
}
}
if (!isset($found)) {
echo ("ERROR ID NOT FOUND");
}

View File

@@ -0,0 +1,24 @@
<?php
declare(strict_types=1);
function TRANSINGrender(){
global $TRANSING_ROOT, $TRANSING_FILES, $TRANSING_WIDGET_TYPE, $transing_prev, $transing_next;
$TRANSING_FILES["selected"] = $TRANSING_FILES[$TRANSING_WIDGET_TYPE];
if ($TRANSING_WIDGET_TYPE === 'error') {
?>
<a href="<?php echo($TRANSING_ROOT); ?>" target="_top" style="width: 68.852%"><img src="<?php echo($TRANSING_FILES["selected"]["button"]); ?>" alt="transing the internet"></a>
<div style="font-size: 0.75em; text-align: center">(this site isn't part of the webring... yet!)</div>
<?php
} else {
?>
<div id="transring" style="display: flex; justify-content: center; align-items: center; image-rendering: pixelated; height:100%;">
<a href="<?php echo($transing_prev); ?>" target="_top" style="width: 15.574%; height:100%;"><img src="<?php echo($TRANSING_FILES["selected"]["left_arrow"]); ?>" alt="previous site"></a>
<a href="<?php echo($TRANSING_ROOT); ?>" target="_top" style="width: 68.852%; height:100%;"><img src="<?php echo($TRANSING_FILES["selected"]["button"]); ?>" alt="transing the internet"></a>
<a href="<?php echo($transing_next); ?>" target="_top" style="width: 15.574%; height:100%;"><img src="<?php echo($TRANSING_FILES["selected"]["right_arrow"]); ?>" alt="next site"></a>
</div>
<?php
}
}

View File

@@ -140,15 +140,17 @@
<div class="clip-box"> <div class="clip-box">
<div class="auto-scroll"> <div class="auto-scroll">
<!-- Have to replace this logic, maybe by having another way to modify behaviour of marquee --> <!-- Have to replace this logic, maybe by having another way to modify behaviour of marquee -->
<?php for ($i = 0; $i <= 1; $i++) { <?php for ($k = 0; $k <= 1; $k++) {
if ($i === 0) { if ($k === 0) {
?><div class="scroll_one"><?php ?><div class="scroll_one"><?php
} else if ($i === 1) { } else if ($k === 1) {
?><div class="scroll_two"><?php ?><div class="scroll_two"><?php
} }
?> ?>
<?php for ($j = 0; $j <= 2; $j++) {?> <?php for ($l = 0; $l <= 2; $l++) {?>
<div class="noaiwebring"> <?php include "includes/transingtheinternet.inc.php";?>
<?php include "includes/transfemwebring.inc.php";?>
<div class="noaiwebring">
<a href="https://baccyflap.com/noai" target="_blank" alt="no ai webring" title="no ai webring"><div class="home"></div></a> <a href="https://baccyflap.com/noai" target="_blank" alt="no ai webring" title="no ai webring"><div class="home"></div></a>
<a href="https://baccyflap.com/noai/?prv&amp;s=msv" target="_top" alt="previous" title="previous"><div class="prv"></div></a> <a href="https://baccyflap.com/noai/?prv&amp;s=msv" target="_top" alt="previous" title="previous"><div class="prv"></div></a>
<a href="https://baccyflap.com/noai/?rnd" target="_top" alt="random" title="random"><div class="rnd"></div></a> <a href="https://baccyflap.com/noai/?rnd" target="_top" alt="random" title="random"><div class="rnd"></div></a>