diff --git a/readme.md b/README.md similarity index 100% rename from readme.md rename to README.md diff --git a/data/awshit.png b/data/awshit.png deleted file mode 100644 index 3076374..0000000 Binary files a/data/awshit.png and /dev/null differ diff --git a/data/bean.webp b/data/bean.webp deleted file mode 100644 index 554b2c5..0000000 Binary files a/data/bean.webp and /dev/null differ diff --git a/data/bisexual.webp b/data/bisexual.webp deleted file mode 100644 index a17a418..0000000 Binary files a/data/bisexual.webp and /dev/null differ diff --git a/data/counter.png b/data/counter.png deleted file mode 100644 index 5bfd2f0..0000000 Binary files a/data/counter.png and /dev/null differ diff --git a/data/cursor.png b/data/cursor.png deleted file mode 100644 index 7dde816..0000000 Binary files a/data/cursor.png and /dev/null differ diff --git a/data/election.png b/data/election.png deleted file mode 100644 index f10ba68..0000000 Binary files a/data/election.png and /dev/null differ diff --git a/data/girl.png b/data/girl.png deleted file mode 100644 index 9a45223..0000000 Binary files a/data/girl.png and /dev/null differ diff --git a/data/gracies.png b/data/gracies.png deleted file mode 100644 index 5c37724..0000000 Binary files a/data/gracies.png and /dev/null differ diff --git a/data/obama.png b/data/obama.png deleted file mode 100644 index 61ceb68..0000000 Binary files a/data/obama.png and /dev/null differ diff --git a/data/onion.webp b/data/onion.webp deleted file mode 100644 index f2e05fc..0000000 Binary files a/data/onion.webp and /dev/null differ diff --git a/data/pepsi.png b/data/pepsi.png deleted file mode 100644 index 9ed6667..0000000 Binary files a/data/pepsi.png and /dev/null differ diff --git a/data/phone.webp b/data/phone.webp deleted file mode 100644 index 8fe9a6a..0000000 Binary files a/data/phone.webp and /dev/null differ diff --git a/data/rats.png b/data/rats.png deleted file mode 100644 index bac5c06..0000000 Binary files a/data/rats.png and /dev/null differ diff --git a/data/recharge.webp b/data/recharge.webp deleted file mode 100644 index ac7cf47..0000000 Binary files a/data/recharge.webp and /dev/null differ diff --git a/data/rit.webp b/data/rit.webp deleted file mode 100644 index b5086c8..0000000 Binary files a/data/rit.webp and /dev/null differ diff --git a/data/roo.webp b/data/roo.webp deleted file mode 100644 index e4c443f..0000000 Binary files a/data/roo.webp and /dev/null differ diff --git a/data/silence.webp b/data/silence.webp deleted file mode 100644 index 614f488..0000000 Binary files a/data/silence.webp and /dev/null differ diff --git a/data/twitter.webp b/data/twitter.webp deleted file mode 100644 index 90e4aa7..0000000 Binary files a/data/twitter.webp and /dev/null differ diff --git a/data/ul.png b/data/ul.png deleted file mode 100644 index 6a4063d..0000000 Binary files a/data/ul.png and /dev/null differ diff --git a/data/umbrella.webp b/data/umbrella.webp deleted file mode 100644 index 1e87b3d..0000000 Binary files a/data/umbrella.webp and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 5aca8f7..0000000 --- a/index.html +++ /dev/null @@ -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">< Prev</a> - <a href="https://wr.stationery.faith/random">Random</a> - <a href="https://wr.stationery.faith/next/rit.wtf">Next ></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> diff --git a/index.php b/index.php new file mode 100644 index 0000000..447b300 --- /dev/null +++ b/index.php @@ -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); +} diff --git a/data/amd.gif b/public/buttons/amd.gif similarity index 100% rename from data/amd.gif rename to public/buttons/amd.gif diff --git a/data/apocalypse.gif b/public/buttons/apocalypse.gif similarity index 100% rename from data/apocalypse.gif rename to public/buttons/apocalypse.gif diff --git a/data/dither.gif b/public/buttons/dither.gif similarity index 100% rename from data/dither.gif rename to public/buttons/dither.gif diff --git a/data/free.gif b/public/buttons/download.gif similarity index 100% rename from data/free.gif rename to public/buttons/download.gif diff --git a/data/html.gif b/public/buttons/html.gif similarity index 100% rename from data/html.gif rename to public/buttons/html.gif diff --git a/data/ie.gif b/public/buttons/ie.gif similarity index 100% rename from data/ie.gif rename to public/buttons/ie.gif diff --git a/data/netscape.gif b/public/buttons/netscape.gif similarity index 100% rename from data/netscape.gif rename to public/buttons/netscape.gif diff --git a/public/css/anim.css b/public/css/anim.css new file mode 100644 index 0000000..d46feb4 --- /dev/null +++ b/public/css/anim.css @@ -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%); + } +} + diff --git a/public/css/error.css b/public/css/error.css new file mode 100644 index 0000000..b43bb65 --- /dev/null +++ b/public/css/error.css @@ -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); + } +} diff --git a/public/css/fire.css b/public/css/fire.css new file mode 100644 index 0000000..ecf5dff --- /dev/null +++ b/public/css/fire.css @@ -0,0 +1,12 @@ + +#fires { + marquee { + margin: 20px auto; + display: block; + + img { + width: fit-content; + height: 400px; + } + } +} diff --git a/public/css/gallery.css b/public/css/gallery.css new file mode 100644 index 0000000..ff64c88 --- /dev/null +++ b/public/css/gallery.css @@ -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%; + } +} diff --git a/public/css/home.css b/public/css/home.css new file mode 100644 index 0000000..1310db1 --- /dev/null +++ b/public/css/home.css @@ -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; + } + } + } +} + diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..c2cba8b --- /dev/null +++ b/public/css/main.css @@ -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; + } +} diff --git a/data/battery.jpg b/public/fires/battery.jpg similarity index 100% rename from data/battery.jpg rename to public/fires/battery.jpg diff --git a/public/fires/gosnell.jpg b/public/fires/gosnell.jpg new file mode 100644 index 0000000..7e737fb Binary files /dev/null and b/public/fires/gosnell.jpg differ diff --git a/public/fires/sol.jpg b/public/fires/sol.jpg new file mode 100644 index 0000000..bc74472 Binary files /dev/null and b/public/fires/sol.jpg differ diff --git a/public/fires/stadium.jpg b/public/fires/stadium.jpg new file mode 100644 index 0000000..4adc767 Binary files /dev/null and b/public/fires/stadium.jpg differ diff --git a/public/images/rit.jpg b/public/images/rit.jpg new file mode 100644 index 0000000..9b1766f Binary files /dev/null and b/public/images/rit.jpg differ diff --git a/data/rotchie.png b/public/images/rotchie.jpg similarity index 57% rename from data/rotchie.png rename to public/images/rotchie.jpg index 31828ed..ba19441 100644 Binary files a/data/rotchie.png and b/public/images/rotchie.jpg differ diff --git a/public/memes/awshit.jpg b/public/memes/awshit.jpg new file mode 100644 index 0000000..6c5f65c Binary files /dev/null and b/public/memes/awshit.jpg differ diff --git a/public/memes/bean.jpg b/public/memes/bean.jpg new file mode 100644 index 0000000..3e1d9ee Binary files /dev/null and b/public/memes/bean.jpg differ diff --git a/public/memes/bisexual.jpg b/public/memes/bisexual.jpg new file mode 100644 index 0000000..1252b7b Binary files /dev/null and b/public/memes/bisexual.jpg differ diff --git a/public/memes/counter.jpg b/public/memes/counter.jpg new file mode 100644 index 0000000..8ba677f Binary files /dev/null and b/public/memes/counter.jpg differ diff --git a/public/memes/election.jpg b/public/memes/election.jpg new file mode 100644 index 0000000..49cff44 Binary files /dev/null and b/public/memes/election.jpg differ diff --git a/public/memes/girl.jpg b/public/memes/girl.jpg new file mode 100644 index 0000000..8f7f8f0 Binary files /dev/null and b/public/memes/girl.jpg differ diff --git a/public/memes/gracies.jpg b/public/memes/gracies.jpg new file mode 100644 index 0000000..4bf6c07 Binary files /dev/null and b/public/memes/gracies.jpg differ diff --git a/public/memes/obama.jpg b/public/memes/obama.jpg new file mode 100644 index 0000000..14c0aa6 Binary files /dev/null and b/public/memes/obama.jpg differ diff --git a/public/memes/onion.jpg b/public/memes/onion.jpg new file mode 100644 index 0000000..a2c7587 Binary files /dev/null and b/public/memes/onion.jpg differ diff --git a/public/memes/pepsi.jpg b/public/memes/pepsi.jpg new file mode 100644 index 0000000..6e3136f Binary files /dev/null and b/public/memes/pepsi.jpg differ diff --git a/public/memes/phone.jpg b/public/memes/phone.jpg new file mode 100644 index 0000000..ab11938 Binary files /dev/null and b/public/memes/phone.jpg differ diff --git a/public/memes/rats.jpg b/public/memes/rats.jpg new file mode 100644 index 0000000..bb34a7d Binary files /dev/null and b/public/memes/rats.jpg differ diff --git a/public/memes/recharge.jpg b/public/memes/recharge.jpg new file mode 100644 index 0000000..1aaf2ea Binary files /dev/null and b/public/memes/recharge.jpg differ diff --git a/public/memes/roo.jpg b/public/memes/roo.jpg new file mode 100644 index 0000000..b6d253c Binary files /dev/null and b/public/memes/roo.jpg differ diff --git a/public/memes/silence.jpg b/public/memes/silence.jpg new file mode 100644 index 0000000..85263d2 Binary files /dev/null and b/public/memes/silence.jpg differ diff --git a/public/memes/twitter.jpg b/public/memes/twitter.jpg new file mode 100644 index 0000000..81228b3 Binary files /dev/null and b/public/memes/twitter.jpg differ diff --git a/public/memes/ul.jpg b/public/memes/ul.jpg new file mode 100644 index 0000000..c9d0d63 Binary files /dev/null and b/public/memes/ul.jpg differ diff --git a/public/memes/umbrella.jpg b/public/memes/umbrella.jpg new file mode 100644 index 0000000..2833327 Binary files /dev/null and b/public/memes/umbrella.jpg differ diff --git a/data/munson/1.jpg b/public/munson/1.jpg similarity index 100% rename from data/munson/1.jpg rename to public/munson/1.jpg diff --git a/data/munson/10.jpg b/public/munson/10.jpg similarity index 100% rename from data/munson/10.jpg rename to public/munson/10.jpg diff --git a/data/munson/3.jpg b/public/munson/3.jpg similarity index 100% rename from data/munson/3.jpg rename to public/munson/3.jpg diff --git a/data/munson/4.jpg b/public/munson/4.jpg similarity index 100% rename from data/munson/4.jpg rename to public/munson/4.jpg diff --git a/data/munson/5.jpg b/public/munson/5.jpg similarity index 100% rename from data/munson/5.jpg rename to public/munson/5.jpg diff --git a/data/munson/6.jpg b/public/munson/6.jpg similarity index 100% rename from data/munson/6.jpg rename to public/munson/6.jpg diff --git a/data/munson/7.jpg b/public/munson/7.jpg similarity index 100% rename from data/munson/7.jpg rename to public/munson/7.jpg diff --git a/data/munson/8.jpg b/public/munson/8.jpg similarity index 100% rename from data/munson/8.jpg rename to public/munson/8.jpg diff --git a/data/munson/9.jpg b/public/munson/9.jpg similarity index 100% rename from data/munson/9.jpg rename to public/munson/9.jpg diff --git a/public/sanders/1.jpg b/public/sanders/1.jpg new file mode 100644 index 0000000..cf06886 Binary files /dev/null and b/public/sanders/1.jpg differ diff --git a/public/sanders/2.jpg b/public/sanders/2.jpg new file mode 100644 index 0000000..e75954f Binary files /dev/null and b/public/sanders/2.jpg differ diff --git a/public/sanders/3.jpg b/public/sanders/3.jpg new file mode 100644 index 0000000..8c76c43 Binary files /dev/null and b/public/sanders/3.jpg differ diff --git a/data/counting.gif b/public/text/counting.gif similarity index 100% rename from data/counting.gif rename to public/text/counting.gif diff --git a/data/education.gif b/public/text/education.gif similarity index 100% rename from data/education.gif rename to public/text/education.gif diff --git a/data/food.gif b/public/text/food.gif similarity index 100% rename from data/food.gif rename to public/text/food.gif diff --git a/data/housing.gif b/public/text/housing.gif similarity index 100% rename from data/housing.gif rename to public/text/housing.gif diff --git a/public/videos/2012 - Rap in Review.mp4 b/public/videos/2012 - Rap in Review.mp4 new file mode 100644 index 0000000..6ebe71f Binary files /dev/null and b/public/videos/2012 - Rap in Review.mp4 differ diff --git a/data/raiders.webm b/public/videos/2015 - The Return of the Holiday Rap: A Jedi's Chant.mp4 similarity index 75% rename from data/raiders.webm rename to public/videos/2015 - The Return of the Holiday Rap: A Jedi's Chant.mp4 index c462adf..c584476 100644 Binary files a/data/raiders.webm and b/public/videos/2015 - The Return of the Holiday Rap: A Jedi's Chant.mp4 differ diff --git a/data/munson.mp4 b/public/videos/2022 - In the Brick of Time.mp4 similarity index 80% rename from data/munson.mp4 rename to public/videos/2022 - In the Brick of Time.mp4 index cc158f5..9de4e8e 100644 Binary files a/data/munson.mp4 and b/public/videos/2022 - In the Brick of Time.mp4 differ diff --git a/public/videos/2023 - Raiders of the Golden Brick.mp4 b/public/videos/2023 - Raiders of the Golden Brick.mp4 new file mode 100644 index 0000000..9a6cd10 Binary files /dev/null and b/public/videos/2023 - Raiders of the Golden Brick.mp4 differ diff --git a/public/videos/2024 - The Wonderful Wizard of RIT.mp4 b/public/videos/2024 - The Wonderful Wizard of RIT.mp4 new file mode 100644 index 0000000..c1197a6 Binary files /dev/null and b/public/videos/2024 - The Wonderful Wizard of RIT.mp4 differ diff --git a/style.css b/style.css deleted file mode 100644 index 19add7a..0000000 --- a/style.css +++ /dev/null @@ -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; - } -} diff --git a/web/error.php b/web/error.php new file mode 100644 index 0000000..f7a2f4e --- /dev/null +++ b/web/error.php @@ -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'); +?> diff --git a/web/fire.php b/web/fire.php new file mode 100644 index 0000000..b40262b --- /dev/null +++ b/web/fire.php @@ -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'); +?> diff --git a/web/gallery.php b/web/gallery.php new file mode 100644 index 0000000..f35634c --- /dev/null +++ b/web/gallery.php @@ -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'); +?> diff --git a/web/home.php b/web/home.php new file mode 100644 index 0000000..3f1083e --- /dev/null +++ b/web/home.php @@ -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'); +?> diff --git a/web/parts/footer.php b/web/parts/footer.php new file mode 100644 index 0000000..88ab860 --- /dev/null +++ b/web/parts/footer.php @@ -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> diff --git a/web/parts/head.php b/web/parts/head.php new file mode 100644 index 0000000..c5d6f78 --- /dev/null +++ b/web/parts/head.php @@ -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> diff --git a/web/parts/header.php b/web/parts/header.php new file mode 100644 index 0000000..801ecfc --- /dev/null +++ b/web/parts/header.php @@ -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>