This commit is contained in:
Murphy 2025-02-07 15:35:47 -05:00
parent d2a5b78fe6
commit 39e38a7152
Signed by: freya
GPG key ID: 9FBC6FFD6D2DBF17
89 changed files with 905 additions and 602 deletions

Binary file not shown.

Before

(image error) Size: 594 KiB

Binary file not shown.

Before

(image error) Size: 27 KiB

Binary file not shown.

Before

(image error) Size: 28 KiB

Binary file not shown.

Before

(image error) Size: 76 KiB

Binary file not shown.

Before

(image error) Size: 13 KiB

Binary file not shown.

Before

(image error) Size: 260 KiB

Binary file not shown.

Before

(image error) Size: 174 KiB

Binary file not shown.

Before

(image error) Size: 95 KiB

Binary file not shown.

Before

(image error) Size: 399 KiB

Binary file not shown.

Before

(image error) Size: 48 KiB

Binary file not shown.

Before

(image error) Size: 482 KiB

Binary file not shown.

Before

(image error) Size: 48 KiB

Binary file not shown.

Before

(image error) Size: 304 KiB

Binary file not shown.

Before

(image error) Size: 30 KiB

Binary file not shown.

Before

(image error) Size: 2.1 KiB

Binary file not shown.

Before

(image error) Size: 70 KiB

Binary file not shown.

Before

(image error) Size: 36 KiB

Binary file not shown.

Before

(image error) Size: 28 KiB

Binary file not shown.

Before

(image error) Size: 18 KiB

Binary file not shown.

Before

(image error) Size: 115 KiB

View file

@ -1,152 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>munson</title>
</head>
<body><div><div><div id="mainBod">
<menu class="flashy"></menu>
<p class="title">
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-1.42s">r</span>
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-1.22s">i</span>
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-1.01s">t</span>
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.81s">.</span>
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.61s">w</span>
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.41s">t</span>
<span style="display:inline-block;animation:1s title linear infinite;animation-delay:-0.21s">f</span>
</p>
<table class="top">
<tr>
<td style="animation-delay:-0.61s">
<a href="http://munsonmakesamillion.com/" target="_blank">
💸 Munson Money 💸
</a>
</td>
<td style="animation-delay:0s">
<a href="https://www.rit.edu/news/umbrella-mistaken-as-weapon-campus" target="_blank">
Got an umbrella? ☂️
</a>
</td>
<td style="animation-delay:+0.21s">
<a href="data/gracies.png" target="_blank">
Gracies dinner time theater
</a>
</td>
</tr>
</table>
<marquee behavior="alternate">
<img src="data/awshit.png" loading="lazy"/>
<img src="data/counter.png" loading="lazy"/>
<img src="data/election.png" loading="lazy"/>
<img src="data/girl.png" loading="lazy"/>
<img src="data/pepsi.png" loading="lazy"/>
<img src="data/rats.png" loading="lazy"/>
<img src="data/roo.webp" loading="lazy"/>
<img src="data/bisexual.webp" loading="lazy"/>
<img src="data/onion.webp" loading="lazy"/>
<img src="data/twitter.webp" loading="lazy"/>
<img src="data/silence.webp" loading="lazy" />
<img src="data/recharge.webp" loading="lazy" />
<img src="data/phone.webp" loading="lazy" />
<img src="data/obama.png" loading="lazy" />
<img src="data/bean.webp" loading="lazy" />
</marquee>
<p class="sprinkler">
Call 1-800-1ST-YEAR to get a sprinkler to go off in a dorm near you!
</p>
<div class="center">
<div id="webring">
<p>
The
<a class="spread" href="https://wr.stationery.faith">Stationery</a>
Webring
</p>
<div class="links">
<a href="https://wr.stationery.faith/prev/rit.wtf">&lt; Prev</a>
<a href="https://wr.stationery.faith/random">Random</a>
<a href="https://wr.stationery.faith/next/rit.wtf">Next &gt;</a>
</div>
</div>
</div>
<p id="middle">
important stuff
</p>
<table class="middle">
<tr>
<td>
<a href="http://rochesterapex.com/" target="_blank">
<img src="data/housing.gif"/>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://www.reveddit.com/v/rit/comments/z719e8/theyre_lying_to_us_about_the_females_here_blowing/?utm_source=share&utm_medium=ios_app&utm_name=iossmf" target="_blank">
<img src="data/counting.gif"/>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://www.democratandchronicle.com/story/news/2021/08/31/peter-kiwitt-former-rit-professor-sex-trafficking/5589597001/" target="_blank">
<img src="data/education.gif"/>
</a>
</td>
</tr>
<tr>
<td>
<a href="https://www.rit.edu/fa/diningservices/gracies#1" target="_blank">
<img src="data/food.gif"/>
</a>
</td>
</tr>
</table>
<iframe src="https://john.citrons.xyz/embed?ref=rit.wtf" class="john"></iframe>
<p class=munson>
The munson art gallery
</p>
<div id="munson">
<img src="data/munson/1.jpg" loading="lazy"/>
<img src="data/munson/3.jpg" loading="lazy"/>
<img src="data/munson/4.jpg" loading="lazy"/>
<img src="data/munson/5.jpg" loading="lazy"/>
<img src="data/munson/6.jpg" loading="lazy"/>
<img src="data/munson/7.jpg" loading="lazy"/>
<img src="data/munson/8.jpg" loading="lazy"/>
<img src="data/munson/9.jpg" loading="lazy"/>
<img src="data/munson/10.jpg" loading="lazy"/>
</div>
<div id="batterys">
<p style="--rot: 0deg;">Lithium Ion Battery's</p>
<p style="--rot: 270deg;">Lithium Ion Battery's</p>
</div>
<div id="batterys" style="margin-bottom: 30vw;">
<img style="--rot: 0deg;" src="data/battery.jpg" loading="lazy"/>
<img style="--rot: 270deg;" src="data/battery.jpg" loading="lazy"/>
</div>
<div class="thicc"></div>
<div class="buttons">
<img src="data/apocalypse.gif" loading="lazy" class="clickable" onclick="document.documentElement.classList.toggle('wank')"/>
<img src="data/amd.gif" loading="lazy"/>
<img src="data/dither.gif" loading="lazy" class="clickable" onclick="document.documentElement.classList.toggle('dither')"/>
<a class="clickable" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Frit.wtf" target="_blank">
<img src="data/html.gif" loading="lazy"/>
</a>
<img src="data/ie.gif" loading="lazy" class="clickable" onclick="document.documentElement.classList.toggle('flash')"/>
<img src="data/netscape.gif" loading="lazy"/>
<a class="clickable" href="https://g.freya.cat/freya/rit.wtf" target="_blank">
<img src="data/free.gif" loading="lazy"/>
</a>
</div>
<footer>
<video autoplay muted loop>
<source src="data/raiders.webm" type="video/mp4">
</video>
<video autoplay muted loop>
<source src="data/munson.mp4" type="video/mp4">
</video>
</footer>
</div></div></div></div></body>
</html>

166
index.php Normal file
View file

@ -0,0 +1,166 @@
<?php
/// RIT.WTF --- Daddy munson
/// Copyright © 2024 Freya Murphy <freya@freyacat.org>
// Create global assets object
function __make_assets(): object {
$assets = array(
// 80x33 buttons
'buttons' => array(
'amd' => 'amd.gif',
'apocalypse' => 'apocalypse.gif',
'dither' => 'dither.gif',
'download' => 'download.gif',
'html' => 'html.gif',
'ie' => 'ie.gif',
'netscape' => 'netscape.gif',
),
// css styles
'css' => array(
'main' => 'main.css', // main style
'anim' => 'anim.css', // animations
'home' => 'home.css',
'fire' => 'fire.css',
'gallery' => 'gallery.css',
'error' => 'error.css',
),
// why does rit keep catching on fire!
'fires' => array(
'battery' => 'battery.jpg',
'gosnell' => 'gosnell.jpg',
'sol' => 'sol.jpg',
'stadium' => 'stadium.jpg',
),
// standard imaged images
'images' => array(
'rit' => 'rit.jpg',
'rotchie' => 'rotchie.jpg',
),
// goofy ahh memes
'memes' => array(
'awshit' => 'awshit.jpg',
'bean' => 'bean.jpg',
'bisexual' => 'bisexual.jpg',
'counter' => 'counter.jpg',
'election' => 'election.jpg',
'girl' => 'girl.jpg',
'gracies' => 'gracies.jpg',
'obama' => 'obama.jpg',
'onion' => 'onion.jpg',
'pepsi' => 'pepsi.jpg',
'phone' => 'phone.jpg',
'rats' => 'rats.jpg',
'recharge' => 'recharge.jpg',
'roo' => 'roo.jpg',
'silence' => 'silence.jpg',
'twitter' => 'twitter.jpg',
'ul' => 'ul.jpg',
'umbrella' => 'umbrella.jpg',
),
// munson art gallery
'munson' => array(
'1.jpg',
'3.jpg',
'4.jpg',
'5.jpg',
'6.jpg',
'7.jpg',
'8.jpg',
'9.jpg',
'10.jpg',
),
// sanders art gallery
'sanders' => array(
'1.jpg',
'2.jpg',
'3.jpg',
),
// text gifs
'text' => array(
'counting' => 'counting.gif',
'education' => 'education.gif',
'food' => 'food.gif',
'housing' => 'housing.gif',
),
// feature films
'videos' => array(
'review' => '2012 - Rap in Review.mp4',
'jedi' => '2015 - The Return of the Holiday Rap: A Jedi\'s Chant.mp4',
'brick' => '2022 - In the Brick of Time.mp4',
'raiders' => '2023 - Raiders of the Golden Brick.mp4',
'wizard' => '2024 - The Wonderful Wizard of RIT.mp4',
),
);
function update_paths(&$data, $path) {
foreach ($data as $key => $value) {
if (is_array($value)) {
update_paths($value, "$path/$key");
$data[$key] = $value;
} else {
$data[$key] = "$path/$value?rev=1";
}
}
$data = (object) $data;
}
update_paths($assets, 'public');
return $assets;
}
define('ASSETS', __make_assets());
// Helper functions
// Parse request route
function __get_route() {
$method = $_SERVER['REQUEST_METHOD'];
$uri_str = $_SERVER['REQUEST_URI'];
$uri = parse_url($uri_str);
$path = '/';
if ($uri && array_key_exists('path', $uri))
$path = $uri['path'];
return [$method, $path];
}
define('ROUTE', __get_route());
// Pages
function home() {
$css = ASSETS->css->home;
include('web/home.php');
}
function fire() {
$css = ASSETS->css->fire;
include('web/fire.php');
}
function gallery() {
$css = ASSETS->css->gallery;
include('web/gallery.php');
}
function error($code) {
$css = ASSETS->css->error;
include('web/error.php');
}
// Dispatch
try {
match (ROUTE) {
['GET', '/'] => home(),
['GET', '/fire'] => fire(),
['GET', '/gallery'] => gallery(),
default => error(404)
};
} catch (Throwable $e) {
error(500);
}

View file

Before

(image error) Size: 3.2 KiB

After

(image error) Size: 3.2 KiB

View file

Before

(image error) Size: 1.3 KiB

After

(image error) Size: 1.3 KiB

View file

Before

(image error) Size: 18 KiB

After

(image error) Size: 18 KiB

View file

Before

(image error) Size: 5 KiB

After

(image error) Size: 5 KiB

View file

Before

(image error) Size: 1.3 KiB

After

(image error) Size: 1.3 KiB

View file

Before

(image error) Size: 16 KiB

After

(image error) Size: 16 KiB

View file

Before

(image error) Size: 8.7 KiB

After

(image error) Size: 8.7 KiB

115
public/css/anim.css Normal file
View file

@ -0,0 +1,115 @@
/* used for background */
@keyframes diag {
from {
background-position: 0 0;
}
to {
background-position: 10% 10%;
}
}
/* used for title */
@keyframes bounce {
0%,
100% {
transform:translateY(-25%);
animation-timing-function:cubic-bezier(.8,0,1,1)
}
50% {
transform:none;
animation-timing-function:cubic-bezier(0,0,.2,1)
}
}
/* used in footer videos */
@keyframes flip {
0%, 100% {
transform: rotateY(0deg) rotateX(0deg);
}
50% {
transform: rotateY(3000deg) rotateX(3000deg);
}
}
/* used in ie button */
@keyframes strobe {
0%, 100% {
background-color: rgba(255,0,0,.4);
}
20% {
background-color: rgba(255,255,0,.4);
}
40% {
background-color: rgba(0,255,0,.4);
}
60% {
background-color: rgba(0,255,255,.4);
}
80% {
background-color: rgba(0,0,255,.4);
}
}
/* LITHIUM ION BATTERIES!!! */
@keyframes cube {
from {
transform: translateX(-50%) rotateY(var(--rot)) translateZ(calc(var(--width)/2));
}
to {
transform: translateX(-50%) rotateY(calc(var(--rot) + 90deg)) translateZ(calc(var(--width)/2));
}
}
/* used in motd */
@keyframes flash {
50% {
opacity: 0;
}
}
@keyframes colorflash {
0%, 100%, 49% {
border: 5px solid orange;
background-color: black;
color: orange;
}
50%, 99% {
border: 5px solid black;
background-color: orange;
color: black;
}
}
@keyframes border {
0%,
100% {
border: 2px solid rgb(255, 0, 0);
}
33% {
border: 2px solid rgb(0, 255, 0);
}
66% {
border: 2px solid rgb(0, 0, 255);
}
}
@keyframes across {
0%,
100% {
transform: translateX(0%);
}
50% {
transform: translateX(calc(80vw - 100%));
}
}
@keyframes scale {
from {
transform: scale3d(100%, 100%, 100%);
}
to {
transform: scale3d(120%, 120%, 120%);
}
}

36
public/css/error.css Normal file
View file

@ -0,0 +1,36 @@
#error {
color: white;
margin: 100px 0;
* {
display: block;
width: fit-content;
margin: 0 auto;
}
.code {
color: yellow;
font-size: 80px;
text-shadow: 0px 0px 0 rgb(240,248,0),
1px 1px 0 rgb(234,242,0),
2px 2px 0 rgb(227,235,0),
3px 3px 0 rgb(221,229,0),
4px 4px 0 rgb(214,222,0),
5px 5px 0 rgb(208,216,0),
6px 6px 0 rgb(201,209,0),
7px 7px 0 rgb(194,202,0),
8px 8px 0 rgb(188,196,0),
9px 9px 0 rgb(181,189,0),
10px 10px 0 rgb(175,183,0),
11px 11px 0 rgb(168,176,0),
12px 12px 0 rgb(161,169,0),
13px 13px 0 rgb(155,163,0),
14px 14px 0 rgb(148,156,0),
15px 15px 0 rgb(142,150,0),
16px 16px 0 rgb(135,143,0),
17px 17px 0 rgb(129,137,0),
18px 18px 0 rgb(122,130,0),
19px 19px 0 rgb(115,123,0),
20px 20px 0 rgb(109,117,0);
}
}

12
public/css/fire.css Normal file
View file

@ -0,0 +1,12 @@
#fires {
marquee {
margin: 20px auto;
display: block;
img {
width: fit-content;
height: 400px;
}
}
}

41
public/css/gallery.css Normal file
View file

@ -0,0 +1,41 @@
.title {
text-align: center;
width: 80%;
font-size: 5vh;
padding: 0;
margin: 0;
margin-bottom: 1em;
animation: colorflash 1s linear infinite;
margin-left: 10%;
}
#munson {
margin-top: 40px;
.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
img {
height: 20vh;
width: 100%;
&:hover {
animation: scale 0.3s linear;
animation-fill-mode: forwards;
}
}
}
}
#films, #raps {
margin-top: 40px;
video {
display: block;
margin: 0 auto;
padding: 10px;
max-width: 900px;
width: 80%;
}
}

108
public/css/home.css Normal file
View file

@ -0,0 +1,108 @@
#memes {
margin-top: 40px;
img {
height: 200px;
}
}
#motd {
margin-top: 40px;
text-align: center;
font-size: 30px;
font-weight: 1000;
color: aqua;
animation: flash 1s linear infinite;
background-color: black;
}
#links {
.title {
width: fit-content;
background-color: black;
color: orange;
font-size: 30px;
margin-left: 10%;
margin-bottom: 10px;
animation: across 2s linear infinite;
}
.btn {
width: 600px;
margin: 0 auto;
img {
display: block;
margin: 0 auto;
}
}
}
#battery {
margin: 0 auto;
width: fit-content;
margin-top: 40px;
perspective: infinite;
* {
--width: 500px;
width: var(--width);
}
.title, .battery {
position: relative;
>* {
position: absolute;
left: 50%;
animation: cube 2.5s linear infinite;
}
}
.title {
height: 95px;
>* {
background-color: #232323;
color: #fff;
font-size: 40px;
text-align: center;
text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #49ff18, 0 0 30px #49ff18, 0 0 40px #49ff18, 0 0 55px #49ff18, 0 0 75px #49ff18;
}
}
.battery {
height: 280px;
}
}
#sanders {
margin-top: 40px;
.title {
text-align: center;
width: 80%;
font-size: 5vh;
padding: 0;
margin: 0;
margin-bottom: 1em;
animation: colorflash 1s linear infinite;
margin-left: 10%;
}
.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
img {
height: 20vh;
width: 100%;
&:hover {
animation: scale 0.3s linear;
animation-fill-mode: forwards;
}
}
}
}

177
public/css/main.css Normal file
View file

@ -0,0 +1,177 @@
/* elements */
html {
overflow: auto;
}
body {
margin: 0;
min-width: 800px;
min-height: 100vh;
position: relative;
font-family: "Comic Sans", "Comic Sans MS", sans-serif;
cursor: url("../images/rotchie.jpg"), auto;
background-image: url("../images/rit.jpg");
animation: diag 1s linear infinite alternate;
}
a {
color: yellow;
}
a:hover, [onclick]:hover {
cursor: url("../images/cursor.png"), pointer !important;
}
.btn {
background: black;
color: yellow;
padding: 5px;
margin: 5px auto;
border: 3px solid yellow;
width: fit-content;
&:hover {
background: orange;
color: black;
border-color: black;
}
}
/* header */
header#header {
/* goofy bouncy title :3 */
div#title {
margin-top: 40px;
width: 100%;
text-align: center;
font-size: 75px;
color: #f7ff07;
font-family: Courier New;
text-shadow: 0px 0px 0 rgb(240,248,0),
1px 1px 0 rgb(234,242,0),
2px 2px 0 rgb(227,235,0),
3px 3px 0 rgb(221,229,0),
4px 4px 0 rgb(214,222,0),
5px 5px 0 rgb(208,216,0),
6px 6px 0 rgb(201,209,0),
7px 7px 0 rgb(194,202,0),
8px 8px 0 rgb(188,196,0),
9px 9px 0 rgb(181,189,0),
10px 10px 0 rgb(175,183,0),
11px 11px 0 rgb(168,176,0),
12px 12px 0 rgb(161,169,0),
13px 13px 0 rgb(155,163,0),
14px 14px 0 rgb(148,156,0),
15px 15px 0 rgb(142,150,0),
16px 16px 0 rgb(135,143,0),
17px 17px 0 rgb(129,137,0),
18px 18px 0 rgb(122,130,0),
19px 19px 0 rgb(115,123,0),
20px 20px 0 rgb(109,117,0),
21px 21px 0 rgb(102,110,0),
22px 22px 0 rgb(96,104,0),
23px 23px 0 rgb(89,97,0),
24px 24px 0 rgb(83,91,0),
25px 25px 0 rgb(76,84,0),
26px 26px 0 rgb(69,77,0),
27px 27px 0 rgb(63,71,0),
28px 28px 0 rgb(56,64,0),
29px 29px 0 rgb(50,58,0),
30px 30px 0 rgb(43,51,0),
31px 31px 0 rgb(36,44,0),
32px 32px 0 rgb(30,38,0),
33px 33px 0 rgb(23,31,0),
34px 34px 0 rgb(17,25,0),
35px 35px 0 rgb(10,18,0),
36px 36px 0 rgb(4,12,0),
37px 37px 0 rgb(-3,5,0),
38px 38px 0 rgb(-10,-2,0),
39px 39px 38px rgba(255,0,0,1),
39px 39px 1px rgba(255,0,0,0.5),
0px 0px 38px rgba(255,0,0,.2);
span {
display: inline-block;
animation: 1s bounce linear infinite;
}
}
/* nav bar */
nav#nav {
margin-top: 40px;
margin-left: auto;
margin-right: auto;
width: fit-content;
}
}
/* footer */
footer#footer {
margin-top: 40px;
#buttons {
display: block;
margin: 0 auto;
width: fit-content;
img {
height: 33px;
}
}
#john {
display: block;
margin: 0 auto;
max-width: 732px;
height: 94px;
width: 100%;
border: none;
background: white;
}
}
/* dither */
html.dither {
#ditherMask {
background: url("data:image/webp;base64,UklGRjAAAABXRUJQVlA4TCQAAAAvA8AAAIVS27ahb3uzOUmSJoqqrOq6P47of8DQdcprYdP8/VY=");
filter: contrast(2000);
image-rendering: crisp-edges;
}
#ditherFilter {
filter: initial;
mix-blend-mode: soft-light;
isolation: isolate;
image-rendering: initial;
}
}
/* flip */
html.flip {
transform: rotateZ(180deg);
}
/* strobe */
#strobe {
pointer-events: none;
position: sticky;
top: 0;
left: 0;
height: 100%;
width: 100vw;
}
html.strobe {
#strobe {
animation: strobe .25s linear infinite;
}
}

View file

Before

(image error) Size: 99 KiB

After

(image error) Size: 99 KiB

BIN
public/fires/gosnell.jpg Normal file

Binary file not shown.

After

(image error) Size: 140 KiB

BIN
public/fires/sol.jpg Normal file

Binary file not shown.

After

(image error) Size: 140 KiB

BIN
public/fires/stadium.jpg Normal file

Binary file not shown.

After

(image error) Size: 126 KiB

BIN
public/images/rit.jpg Normal file

Binary file not shown.

After

(image error) Size: 3.7 KiB

Binary file not shown.

Before

(image error) Size: 7.7 KiB

After

(image error) Size: 6.1 KiB

BIN
public/memes/awshit.jpg Normal file

Binary file not shown.

After

(image error) Size: 129 KiB

BIN
public/memes/bean.jpg Normal file

Binary file not shown.

After

(image error) Size: 64 KiB

BIN
public/memes/bisexual.jpg Normal file

Binary file not shown.

After

(image error) Size: 62 KiB

BIN
public/memes/counter.jpg Normal file

Binary file not shown.

After

(image error) Size: 26 KiB

BIN
public/memes/election.jpg Normal file

Binary file not shown.

After

(image error) Size: 76 KiB

BIN
public/memes/girl.jpg Normal file

Binary file not shown.

After

(image error) Size: 62 KiB

BIN
public/memes/gracies.jpg Normal file

Binary file not shown.

After

(image error) Size: 82 KiB

BIN
public/memes/obama.jpg Normal file

Binary file not shown.

After

(image error) Size: 158 KiB

BIN
public/memes/onion.jpg Normal file

Binary file not shown.

After

(image error) Size: 110 KiB

BIN
public/memes/pepsi.jpg Normal file

Binary file not shown.

After

(image error) Size: 133 KiB

BIN
public/memes/phone.jpg Normal file

Binary file not shown.

After

(image error) Size: 75 KiB

BIN
public/memes/rats.jpg Normal file

Binary file not shown.

After

(image error) Size: 79 KiB

BIN
public/memes/recharge.jpg Normal file

Binary file not shown.

After

(image error) Size: 87 KiB

BIN
public/memes/roo.jpg Normal file

Binary file not shown.

After

(image error) Size: 484 KiB

BIN
public/memes/silence.jpg Normal file

Binary file not shown.

After

(image error) Size: 86 KiB

BIN
public/memes/twitter.jpg Normal file

Binary file not shown.

After

(image error) Size: 59 KiB

BIN
public/memes/ul.jpg Normal file

Binary file not shown.

After

(image error) Size: 4.9 KiB

BIN
public/memes/umbrella.jpg Normal file

Binary file not shown.

After

(image error) Size: 212 KiB

View file

Before

(image error) Size: 295 KiB

After

(image error) Size: 295 KiB

View file

Before

(image error) Size: 30 KiB

After

(image error) Size: 30 KiB

View file

Before

(image error) Size: 41 KiB

After

(image error) Size: 41 KiB

View file

Before

(image error) Size: 41 KiB

After

(image error) Size: 41 KiB

View file

Before

(image error) Size: 187 KiB

After

(image error) Size: 187 KiB

View file

Before

(image error) Size: 177 KiB

After

(image error) Size: 177 KiB

View file

Before

(image error) Size: 32 KiB

After

(image error) Size: 32 KiB

View file

Before

(image error) Size: 8.7 KiB

After

(image error) Size: 8.7 KiB

View file

Before

(image error) Size: 39 KiB

After

(image error) Size: 39 KiB

BIN
public/sanders/1.jpg Normal file

Binary file not shown.

After

(image error) Size: 23 KiB

BIN
public/sanders/2.jpg Normal file

Binary file not shown.

After

(image error) Size: 223 KiB

BIN
public/sanders/3.jpg Normal file

Binary file not shown.

After

(image error) Size: 237 KiB

View file

Before

(image error) Size: 52 KiB

After

(image error) Size: 52 KiB

View file

Before

(image error) Size: 60 KiB

After

(image error) Size: 60 KiB

View file

Before

(image error) Size: 32 KiB

After

(image error) Size: 32 KiB

View file

Before

(image error) Size: 49 KiB

After

(image error) Size: 49 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

450
style.css
View file

@ -1,450 +0,0 @@
html, body, #mainBod {
margin: 0;
padding: 0;
}
#mainBod {
cursor: url("data/rotchie.png"), auto;
top: 0; bottom: 0;
left: 0; right: 0;
overflow: auto;
background-image: url("data/rit.webp");
width: 100vw;
min-height: 100vh;
height: 100vh;
animation: bg 1s linear infinite alternate;
display: flex;
flex-direction: column;
font-family: "Comic Sans", "Comic Sans MS", "Chalkboard", "ChalkboardSE-Regular", sans-serif;
}
.wank {
transform: rotateZ(180deg);
}
.thicc {
flex: 1;
}
.top {
width: 50%;
background-color: black;
color: white;
align-self: center;
text-align: center;
}
#middle {
font-size: 2em;
width: fit-content;
background-color: black;
color: orange;
animation: across 2s linear infinite;
margin-left: 10%;
}
a {
cursor: url("data/cursor.png"), pointer !important;
}
td a {
color: yellow;
}
.clickable:hover {
cursor: url("data/cursor.png"), pointer !important;
}
td:hover {
background-color: orange;
}
td:hover a {
color: black;
}
.top td {
animation: border 1s linear infinite alternate;
}
.middle {
width: 75%;
align-self: center;
text-align: center;
background-color: black;
margin-bottom: 2em;
}
.middle td {
border: .25vw solid orange;
height: 5vw;
}
.middle td:hover {
border: 2px solid black;
background-color: orange;
}
footer {
background-size: cover;
position: sticky;
display: flex;
flex-direction: column;
bottom: 0;
height: 20%;
min-height: 20%;
margin: 0;
overflow: auto;
}
.buttons {
position: sticky;
bottom: 20%;
align-self: center;
margin: 0;
margin-top: 1em;
}
.buttons img {
height: 2em;
}
footer video {
width: 100%;
height: 100%;
object-fit: fill;
margin: 0;
animation: spin 10s linear infinite;
}
marquee {
margin-top: 2em;
display: block;
height: 12em;
flex-shrink: 0;
}
marquee img {
height: 12em;
}
.title {
width: 100%;
text-align: center;
font-size: 75px;
margin: 0.75em 0em;
color: #f7ff07;
font-family: Courier New;
text-shadow: 0px 0px 0 rgb(240,248,0),
1px 1px 0 rgb(234,242,0),
2px 2px 0 rgb(227,235,0),
3px 3px 0 rgb(221,229,0),
4px 4px 0 rgb(214,222,0),
5px 5px 0 rgb(208,216,0),
6px 6px 0 rgb(201,209,0),
7px 7px 0 rgb(194,202,0),
8px 8px 0 rgb(188,196,0),
9px 9px 0 rgb(181,189,0),
10px 10px 0 rgb(175,183,0),
11px 11px 0 rgb(168,176,0),
12px 12px 0 rgb(161,169,0),
13px 13px 0 rgb(155,163,0),
14px 14px 0 rgb(148,156,0),
15px 15px 0 rgb(142,150,0),
16px 16px 0 rgb(135,143,0),
17px 17px 0 rgb(129,137,0),
18px 18px 0 rgb(122,130,0),
19px 19px 0 rgb(115,123,0),
20px 20px 0 rgb(109,117,0),
21px 21px 0 rgb(102,110,0),
22px 22px 0 rgb(96,104,0),
23px 23px 0 rgb(89,97,0),
24px 24px 0 rgb(83,91,0),
25px 25px 0 rgb(76,84,0),
26px 26px 0 rgb(69,77,0),
27px 27px 0 rgb(63,71,0),
28px 28px 0 rgb(56,64,0),
29px 29px 0 rgb(50,58,0),
30px 30px 0 rgb(43,51,0),
31px 31px 0 rgb(36,44,0),
32px 32px 0 rgb(30,38,0),
33px 33px 0 rgb(23,31,0),
34px 34px 0 rgb(17,25,0),
35px 35px 0 rgb(10,18,0),
36px 36px 0 rgb(4,12,0),
37px 37px 0 rgb(-3,5,0),
38px 38px 0 rgb(-10,-2,0),
39px 39px 38px rgba(255,0,0,1),
39px 39px 1px rgba(255,0,0,0.5),
0px 0px 38px rgba(255,0,0,.2);
}
html.dither>body>div{
background: url("data:image/webp;base64,UklGRjAAAABXRUJQVlA4TCQAAAAvA8AAAIVS27ahb3uzOUmSJoqqrOq6P47of8DQdcprYdP8/VY=");
filter: contrast(2000);
image-rendering: crisp-edges;
}
html.dither>body>div>div{
filter: initial;
mix-blend-mode: soft-light;
isolation: isolate;
image-rendering: initial;
}
.sprinkler {
margin-top: 2.5em;
text-align: center;
font-size: 2.5em;
font-weight: 1000;
color: aqua;
animation: flash 0.3s linear infinite;
}
.munson {
text-align: center;
width: 80%;
font-size: 5vh;
padding: 0;
margin: 0;
margin-bottom: 1em;
animation: colorflash 1s linear infinite;
margin-left: 10%;
}
#munson {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
#munson img {
height: 20vh;
width: 100%;
}
#munson img:hover {
animation: scale 0.3s linear;
animation-fill-mode: forwards;
}
.john {
margin-left: auto;
display: block;
margin-right: auto;
max-width: 732px;
width: 100%;
height: 94px;
border: none;
margin-bottom: 2em;
}
#batterys {
perspective: infinite;
position: relative;
height: 2em;
width: 100%;
overflow-x: visible;
margin-bottom: 13vw;
}
#batterys p {
text-align: center;
font-size: 4vw;
color: #fff;
width: 50.1vw;
background-color: #232323;
text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #49ff18, 0 0 30px #49ff18, 0 0 40px #49ff18, 0 0 55px #49ff18, 0 0 75px #49ff18;
display: inline-block;
position: absolute;
left: 50%;
animation: spincube 2.5s linear infinite;
}
#batterys img {
display: inline-block;
text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #fff, 0 0 20px #49ff18, 0 0 30px #49ff18, 0 0 40px #49ff18, 0 0 55px #49ff18, 0 0 75px #49ff18;
display: inline-block;
position: absolute;
left: 50%;
width: 48.1vw;
border: black 1vw solid;
animation: spincube 2.5s linear infinite;
}
@keyframes spincube {
from {
transform: translateX(-50%) rotateY(var(--rot)) translateZ(25vw);
}
to {
transform: translateX(-50%) rotateY(calc(var(--rot) + 90deg)) translateZ(25vw);
}
}
@keyframes bg {
from {
background-position: 0 0;
}
to {
background-position: 10% 10%;
}
}
@keyframes spin {
0%, 100% {
transform: rotateY(0deg) rotateX(0deg);
}
50% {
transform: rotateY(3000deg) rotateX(3000deg);
}
}
@keyframes title {
0%,
100% {
transform:translateY(-25%);
animation-timing-function:cubic-bezier(.8,0,1,1)
}
50% {
transform:none;
animation-timing-function:cubic-bezier(0,0,.2,1)
}
}
@keyframes flash {
50% {
opacity: 0;
}
}
@keyframes colorflash {
0%, 100%, 49% {
border: 5px solid orange;
background-color: black;
color: orange;
}
50%, 99% {
border: 5px solid black;
background-color: orange;
color: black;
}
}
@keyframes border {
0%,
100% {
border: 2px solid rgb(255, 0, 0);
}
33% {
border: 2px solid rgb(0, 255, 0);
}
66% {
border: 2px solid rgb(0, 0, 255);
}
}
@keyframes across {
0%,
100% {
transform: translateX(0%);
}
50% {
transform: translateX(calc(80vw - 100%));
}
}
@keyframes scale {
from {
transform: scale3d(100%, 100%, 100%);
}
to {
transform: scale3d(120%, 120%, 120%);
}
}
html.flash>body>div>div>div>menu {
animation: epilepsy .25s linear infinite;
}
.flashy {
margin: 0;
padding: 0;
list-style:none;
position: absolute;
width: 100%;
height: 100%;
z-index: 10;
overflow: scroll;
pointer-events: none;
}
@keyframes epilepsy {
0%, 100% {
background-color: rgba(255,0,0,.4);
}
20% {
background-color: rgba(255,255,0,.4);
}
40% {
background-color: rgba(0,255,0,.4);
}
60% {
background-color: rgba(0,255,255,.4);
}
80% {
background-color: rgba(0,0,255,.4);
}
}
.center {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
#webring {
min-width: 25%;
padding: .5rem;
border: solid 5px orange;
background-color: black;
color: white;
display: flex;
flex-direction: row;
}
#webring .links {
display: flex;
flex-direction: row;
justify-content: space-between;
min-width: 30%;
padding: 0 .5rem;
}
#webring .links a {
margin: 0;
height: auto;
margin-left: .25rem;
}
#webring p {
margin: 0;
flex: 1;
}
.spread {
animation: 3s infinite ease-in-out alternate kurn;
font-style: italic;
text-decoration: underline;
}
@keyframes kurn {
from {
letter-spacing: .05rem;
}
to {
letter-spacing: .25rem;
}
}

14
web/error.php Normal file
View file

@ -0,0 +1,14 @@
<?php
// home page of rit.wtf
$title = "rit.wtf - $code";
include('parts/head.php');
include('parts/header.php');
?>
<div id="error">
<p class="code"><?=$code?></p>
</div>
<?php
include('parts/footer.php');
?>

22
web/fire.php Normal file
View file

@ -0,0 +1,22 @@
<?php
// home page of rit.wtf
$title = "rit.wtf - 🔥🔥🔥";
include('parts/head.php');
include('parts/header.php');
?>
<? /* fires */ ?>
<div id="fires">
<?php
$rev = FALSE;
foreach (ASSETS->fires as $_key => $link) {
$dir = ($rev) ? "left" : "right";
echo "<marquee truespeed scrolldelay=\"10\" direction=\"{$dir}\"><img src=\"{$link}\" loading=\"lazy\"></marquee>";
$rev = !$rev;
}
?>
</div>
<?php
include('parts/footer.php');
?>

57
web/gallery.php Normal file
View file

@ -0,0 +1,57 @@
<?php
// home page of rit.wtf
$title = "rit.wtf - RIP Munson";
include('parts/head.php');
include('parts/header.php');
?>
<? /* munson */ ?>
<div id="munson"?>
<div class="title"?>
<span>The munson art gallery</span>
</div>
<div class="gallery">
<?php
foreach (ASSETS->munson as $_key => $link) {
echo "<img src=\"{$link}\" loading=\"lazy\"/>";
}
?>
</div>
</div>
<? /* films */ ?>
<div id="films"?>
<div class="title"?>
<span>Munson's sick films!</span>
</div>
<div class="films">
<video autoplay muted loop>
<source src="<?=ASSETS->videos->wizard?>" type="video/mp4">
</video>
<video autoplay muted loop>
<source src="<?=ASSETS->videos->raiders?>" type="video/mp4">
</video>
<video autoplay muted loop>
<source src="<?=ASSETS->videos->brick?>" type="video/mp4">
</video>
</div>
</div>
<? /* raps */ ?>
<div id="raps"?>
<div class="title"?>
<span>Munson's sick raps!</span>
</div>
<div class="raps">
<video autoplay muted loop>
<source src="<?=ASSETS->videos->review?>" type="video/mp4">
</video>
<video autoplay muted loop>
<source src="<?=ASSETS->videos->jedi?>" type="video/mp4">
</video>
</div>
</div>
<?php
include('parts/footer.php');
?>

86
web/home.php Normal file
View file

@ -0,0 +1,86 @@
<?php
// home page of rit.wtf
$title = 'rit.wtf - home';
include('parts/head.php');
include('parts/header.php');
?>
<? /* memes */ ?>
<marquee id="memes" behavior="alternate">
<?php
$memes = (array) ASSETS->memes;
shuffle($memes);
foreach ($memes as $_key => $link) {
echo "<img src=\"{$link}\" loading=\"lazy\"/>";
}
?>
</marquee>
<? /* motd */ ?>
<div id="motd">
<p><?php
$messages = [
"Call 1-800-1ST-YEAR to get a sprinkler to go off in a dorm near you!",
"#1 in Lithium-ion battery fires!",
"Welcome daddy Sanders",
"Make sure to not be seen by the counter",
"Disfunctionally operating since 1829",
];
echo $messages[array_rand($messages)];
?></p>
</div>
<? /* links */ ?>
<div id="links">
<div class="title">
<span>important stuff</span>
</div>
<div class="btn">
<a href="http://rochesterapex.com/" target="_blank">
<img src="<?=ASSETS->text->housing?>"/>
</a>
</div>
<div class="btn">
<a href="https://www.democratandchronicle.com/story/news/2021/08/31/peter-kiwitt-former-rit-professor-sex-trafficking/5589597001/" target="_blank">
<img src="<?=ASSETS->text->education?>"/>
</a>
</div>
<div class="btn">
<a href="https://www.rit.edu/fa/diningservices/gracies#1" target="_blank">
<img src="<?=ASSETS->text->food?>"/>
</a>
</div>
</div>
<? /* battery */ ?>
<div id="battery">
<div class="title">
<p style="--rot: 0deg;">Lithium Ion Battery's</p>
<p style="--rot: 270deg;">Lithium Ion Battery's</p>
</div>
<div class="battery">
<img style="--rot: 0deg;" src="<?=ASSETS->fires->battery?>" loading="lazy"/>
<img style="--rot: 270deg;" src="<?=ASSETS->fires->battery?>" loading="lazy"/>
</div>
</div>
<div class="btn">
<a href="fire">See more 🔥</a>
</div>
<? /*sanders */ ?>
<div id="sanders">
<div class="title"?>
<span>Welcome our new president!</span>
</div>
<div class="gallery">
<?php
foreach (ASSETS->sanders as $_key => $link) {
echo "<img src=\"{$link}\" loading=\"lazy\"/>";
}
?>
</div>
</div>
<?php
include('parts/footer.php');
?>

22
web/parts/footer.php Normal file
View file

@ -0,0 +1,22 @@
<footer id="footer">
<div id="buttons">
<img src="<?=ASSETS->buttons->apocalypse?>" loading="lazy" onclick="document.documentElement.classList.toggle('flip')"/>
<img src="<?=ASSETS->buttons->amd?>" loading="lazy"/>
<img src="<?=ASSETS->buttons->dither?>" loading="lazy" onclick="document.documentElement.classList.toggle('dither')"/>
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Frit.wtf" target="_blank">
<img src="<?=ASSETS->buttons->html?>" loading="lazy"/>
</a>
<img src="<?=ASSETS->buttons->ie?>" loading="lazy" onclick="document.documentElement.classList.toggle('strobe')"/>
<img src="<?=ASSETS->buttons->netscape?>" loading="lazy"/>
<a href="https://g.freya.cat/freya/rit.wtf" target="_blank">
<img src="<?=ASSETS->buttons->download?>" loading="lazy"/>
</a>
</div>
<iframe
height="94"
id="john"
<? /* hack to disable firefox cookie warning*/?>
sandbox="allow-scripts"
src="https://john.citrons.xyz/embed?ref=rit.wtf"
></iframe>
</footer>

14
web/parts/head.php Normal file
View file

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<base target="_blank" />
<link rel="stylesheet" href="<?=ASSETS->css->main?>">
<link rel="stylesheet" href="<?=ASSETS->css->anim?>">
<?php if(isset($css)): ?>
<link rel="stylesheet" href="<?=$css?>">
<?php endif; ?>
<title><?=$title?></title>
</head>
<body>

35
web/parts/header.php Normal file
View file

@ -0,0 +1,35 @@
<? /* needed for screen dither */ ?>
<div id="ditherMask">
<div id="ditherFilter">
<? /* needed for screen strobe */ ?>
<menu id="strobe"></menu>
<header id="header">
<? /* rit.wtf title */?>
<div id="title">
<span style="animation-delay:-1.42s">r</span>
<span style="animation-delay:-1.22s">i</span>
<span style="animation-delay:-1.01s">t</span>
<span style="animation-delay:-0.81s">.</span>
<span style="animation-delay:-0.61s">w</span>
<span style="animation-delay:-0.41s">t</span>
<span style="animation-delay:-0.21s">f</span>
</div>
<? /* nav bar */ ?>
<nav id="nav">
<a href="/" class="btn">
rit.wtf Home 🐯
</a>
<a href="/gallery" class="btn">
Munson Memorial 💀
</a>
<a href="http://munsonmakesamillion.com/" target="_blank" class="btn">
Munson Money 💸
</a>
</nav>
</header>