summaryrefslogtreecommitdiff
path: root/poem
diff options
context:
space:
mode:
authorradiohotline <radiohotline@disroot.org>2026-02-17 14:44:55 +0300
committerradiohotline <radiohotline@disroot.org>2026-02-17 14:44:55 +0300
commit435aeb674198769b61b0ee8d82f85a108bacf49e (patch)
tree2c87322d81130062e62afc04a22ef1e664a4622c /poem
maintainence
Diffstat (limited to 'poem')
-rw-r--r--poem/angel.html12
-rw-r--r--poem/dissociated.css210
-rw-r--r--poem/dissociated.html183
-rw-r--r--poem/font/DejaVuSerif-Bold.ttfbin0 -> 345364 bytes
-rw-r--r--poem/font/DejaVuSerif-Italic.ttfbin0 -> 343388 bytes
-rw-r--r--poem/font/DejaVuSerif.ttfbin0 -> 367260 bytes
-rw-r--r--poem/rainy.css52
-rw-r--r--poem/rainy.html98
8 files changed, 555 insertions, 0 deletions
diff --git a/poem/angel.html b/poem/angel.html
new file mode 100644
index 0000000..9175830
--- /dev/null
+++ b/poem/angel.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>The vision of teethinvitro</title>
+ <link href="style.css" rel="stylesheet" type="text/css" media="all">
+ </head>
+ <body>
+
+ </body>
+</html>
diff --git a/poem/dissociated.css b/poem/dissociated.css
new file mode 100644
index 0000000..ff01e64
--- /dev/null
+++ b/poem/dissociated.css
@@ -0,0 +1,210 @@
+body {
+ background-color: black;
+ color: white;
+ font-family: DejaVu;
+ user-select: none;
+}
+
+@font-face {
+ font-family: DejaVu;
+ src: url('font/DejaVuSerif.ttf');
+}
+
+@font-face {
+ font-family: DejaVu;
+ src: url('font/DejaVuSerif-Bold.ttf');
+ font-weight: bold;
+}
+
+@font-face {
+ font-family: DejaVu;
+ src: url('font/DejaVuSerif-Italic.ttf');
+ font-style: italic;
+}
+
+.poem {
+ font-size: 70px;
+ cursor: pointer;
+}
+
+#nav {
+ padding: 5px;
+ margin-bottom: 2%;
+ background-color: black;
+ color: white;
+ font-size: 20px;
+ text-align: center;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0
+}
+
+a {
+ color: white;
+ text-decoration: none;
+}
+
+
+/*crt*/
+@keyframes flicker {
+ 0% {
+ opacity: 0.27861;
+ }
+ 5% {
+ opacity: 0.34769;
+ }
+ 10% {
+ opacity: 0.23604;
+ }
+ 15% {
+ opacity: 0.90626;
+ }
+ 20% {
+ opacity: 0.18128;
+ }
+ 25% {
+ opacity: 0.83891;
+ }
+ 30% {
+ opacity: 0.65583;
+ }
+ 35% {
+ opacity: 0.67807;
+ }
+ 40% {
+ opacity: 0.26559;
+ }
+ 45% {
+ opacity: 0.84693;
+ }
+ 50% {
+ opacity: 0.96019;
+ }
+ 55% {
+ opacity: 0.08594;
+ }
+ 60% {
+ opacity: 0.20313;
+ }
+ 65% {
+ opacity: 0.71988;
+ }
+ 70% {
+ opacity: 0.53455;
+ }
+ 75% {
+ opacity: 0.37288;
+ }
+ 80% {
+ opacity: 0.71428;
+ }
+ 85% {
+ opacity: 0.70419;
+ }
+ 90% {
+ opacity: 0.7003;
+ }
+ 95% {
+ opacity: 0.36108;
+ }
+ 100% {
+ opacity: 0.24387;
+ }
+}
+@keyframes textShadow {
+ 0% {
+ text-shadow: 0.4389924193300864px 0 1px rgba(0,30,255,0.5), -0.4389924193300864px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 5% {
+ text-shadow: 2.7928974010788217px 0 1px rgba(0,30,255,0.5), -2.7928974010788217px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 10% {
+ text-shadow: 0.02956275843481219px 0 1px rgba(0,30,255,0.5), -0.02956275843481219px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 15% {
+ text-shadow: 0.40218538552878136px 0 1px rgba(0,30,255,0.5), -0.40218538552878136px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 20% {
+ text-shadow: 3.4794037899852017px 0 1px rgba(0,30,255,0.5), -3.4794037899852017px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 25% {
+ text-shadow: 1.6125630401149584px 0 1px rgba(0,30,255,0.5), -1.6125630401149584px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 30% {
+ text-shadow: 0.7015590085143956px 0 1px rgba(0,30,255,0.5), -0.7015590085143956px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 35% {
+ text-shadow: 3.896914047650351px 0 1px rgba(0,30,255,0.5), -3.896914047650351px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 40% {
+ text-shadow: 3.870905614848819px 0 1px rgba(0,30,255,0.5), -3.870905614848819px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 45% {
+ text-shadow: 2.231056963361899px 0 1px rgba(0,30,255,0.5), -2.231056963361899px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 50% {
+ text-shadow: 0.08084290417898504px 0 1px rgba(0,30,255,0.5), -0.08084290417898504px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 55% {
+ text-shadow: 2.3758461067427543px 0 1px rgba(0,30,255,0.5), -2.3758461067427543px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 60% {
+ text-shadow: 2.202193051050636px 0 1px rgba(0,30,255,0.5), -2.202193051050636px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 65% {
+ text-shadow: 2.8638780614874975px 0 1px rgba(0,30,255,0.5), -2.8638780614874975px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 70% {
+ text-shadow: 0.48874025155497314px 0 1px rgba(0,30,255,0.5), -0.48874025155497314px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 75% {
+ text-shadow: 1.8948491305757957px 0 1px rgba(0,30,255,0.5), -1.8948491305757957px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 80% {
+ text-shadow: 0.0833037308038857px 0 1px rgba(0,30,255,0.5), -0.0833037308038857px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 85% {
+ text-shadow: 0.09769827255241735px 0 1px rgba(0,30,255,0.5), -0.09769827255241735px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 90% {
+ text-shadow: 3.443339761481782px 0 1px rgba(0,30,255,0.5), -3.443339761481782px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 95% {
+ text-shadow: 2.1841838852799786px 0 1px rgba(0,30,255,0.5), -2.1841838852799786px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+ 100% {
+ text-shadow: 2.6208764473832513px 0 1px rgba(0,30,255,0.5), -2.6208764473832513px 0 1px rgba(255,0,80,0.3), 0 0 3px;
+ }
+}
+.crt::after {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ background: rgba(18, 16, 16, 0.1);
+ opacity: 0;
+ z-index: 2;
+ pointer-events: none;
+ animation: flicker 0.15s infinite;
+}
+.crt::before {
+ content: " ";
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
+ z-index: 2;
+ background-size: 100% 2px, 3px 100%;
+ pointer-events: none;
+}
+.crt {
+ animation: textShadow 1.6s infinite;
+}
+
diff --git a/poem/dissociated.html b/poem/dissociated.html
new file mode 100644
index 0000000..31ff3c4
--- /dev/null
+++ b/poem/dissociated.html
@@ -0,0 +1,183 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>a state only the texture of a painting could capture</title>
+ <link href="dissociated.css" rel="stylesheet" type="text/css" media="all">
+ </head>
+ <body class="crt">
+ <div id="text" class="poem" onclick="change()" style="text-align: center; padding-top: 20%; padding-bottom: 15%;"><i style="font-size: 90%;">a state only the texture of a painting could capture</i><br><i style="font-size: medium; ">(Feburary 2022, free-verse)</i></div>
+
+ <div id="nav" style="font-size: 20px; text-align: center;"><a href="../home.html">go home&nbsp;</a><a href="rainy.html">&nbsp;next poem</a></div>
+
+ <script>
+ /*If this JS scares you, good. You should be. Don't worry. I'll do the next poem in a sane manner. There's nothing wrong with experimenting. I'm aware of the flaws of this code.*/
+
+ var value = 0;
+ function change() {
+ console.log(value)
+ if(value == "0") {
+ document.getElementById('text').innerHTML = "hazy memory and clouded emotion";
+ }
+
+ if(value == "1") {
+ document.getElementById('text').innerHTML = "blurred vision and blurred sense of self";
+ }
+
+ if(value == "2") {
+ document.getElementById('text').innerHTML = "<p>disconnected,</p>";
+ document.getElementById('text').style["text-align"] = "left";
+ document.getElementById('text').style["padding-left"] = "10%";
+ document.getElementById('text').style["padding-top"] = "75px";
+ document.getElementById('text').style["padding-bottom"] = "0%";
+ }
+
+ if(value == "3") {
+ document.getElementById('text').innerHTML = "<p>disorganized,</p>";
+ document.getElementById('text').style["text-align"] = "center";
+ document.getElementById('text').style["padding-left"] = "0%";
+ document.getElementById('text').style["padding-top"] = "17%";
+ document.getElementById('text').style["padding-bottom"] = "0%";
+ }
+
+ if(value == "4") {
+ document.getElementById('text').innerHTML = "dissociated";
+ document.getElementById('text').style["text-align"] = "right";
+ document.getElementById('text').style["padding-right"] = "10%";
+ document.getElementById('text').style["padding-bottom"] = "40px";
+ document.getElementById('text').style["margin-top"] = "350px";
+ }
+
+ if(value == "5") {
+ document.getElementById('text').innerHTML = "my circadian rhythm is the opposite of yours";
+ document.getElementById('text').style["text-align"] = "right";
+ document.getElementById('text').style["padding-top"] = "20%";
+ document.getElementById('text').style["padding-bottom"] = "15%";
+ document.getElementById('text').style["margin-top"] = "0px";
+ document.getElementById('text').style["padding-right"] = "3%";
+ }
+
+ if(value == "6") {
+ document.getElementById('text').innerHTML = "ritualistic patterns i fail to comply with";
+ }
+
+ if(value == "7") {
+ document.getElementById('text').innerHTML = "when i can't sleep but can't wake up either,";
+ }
+
+ if(value == "8") {
+ document.getElementById('text').innerHTML = "i indulge in misplaced fantasy";
+ }
+
+ if(value == "9") {
+ document.getElementById('text').innerHTML = "and in the failed attempt to recollect<br>fragmented ideas";
+ }
+
+ if(value == "10") {
+ document.getElementById('text').innerHTML = "that scurry away like squirrels";
+ }
+
+ if(value == "11") {
+ document.getElementById('text').innerHTML = '"what is your bona fides?"';
+ document.getElementById('text').style["text-align"] = "center";
+ document.getElementById('text').style["padding-left"] = "0%";
+ document.getElementById('text').style["padding-right"] = "0%";
+ document.getElementById('text').style["padding-top"] = "20%";
+ document.getElementById('text').style["padding-bottom"] = "15%";
+ }
+
+ if(value == "12") {
+ document.getElementById('text').innerHTML = '"was your breakfast fried eggs with toast?"';
+ }
+
+ if(value == "13") {
+ document.getElementById('text').innerHTML = '"would you throw up at the sight of intestines strung out like a necklace?"';
+ document.getElementById('text').style["padding-left"] = "10%";
+ document.getElementById('text').style["padding-right"] = "10%";
+ }
+
+ if(value == "14") {
+ document.getElementById('text').innerHTML = "communication with myself<br>is beyond esoteric";
+ document.getElementById('text').style["text-align"] = "left";
+ document.getElementById('text').style["padding-left"] = "3%";
+ document.getElementById('text').style["padding-right"] = "5%";
+ document.getElementById('text').style["padding-top"] = "20%";
+ }
+
+ if(value == "15") {
+ document.getElementById('text').innerHTML = "communication with others<br>is incompetent and impulsive";
+ }
+
+ if(value == "16") {
+ document.getElementById('text').innerHTML = "communication through music<br>is chaotic and raw";
+ }
+
+ if(value == "17") {
+ document.getElementById('text').innerHTML = "communication through art<br>is insufficient";
+ }
+
+ if(value == "18") {
+ document.getElementById('text').innerHTML = "like reading a note that your brain left for you";
+ document.getElementById('text').style["padding-top"] = "20%";
+ }
+
+ if(value == "19") {
+ document.getElementById('text').innerHTML = "that is smudged beyond legibility";
+ }
+
+ if(value == "20") {
+ document.getElementById('text').innerHTML = "i am not in my childhood photos";
+ document.getElementById('text').style["text-align"] = "right";
+ }
+
+ if(value == "21") {
+ document.getElementById('text').innerHTML = "i am not in my mind";
+ }
+
+ if(value == "22") {
+ document.getElementById('text').innerHTML = "i am not in mirrors";
+ }
+
+ if(value == "23") {
+ document.getElementById('text').innerHTML = "i may be in others";
+ }
+
+ if(value == "24") {
+ document.getElementById('text').innerHTML = "mismatched, misbound, mistranslated";
+ }
+
+ if(value == "25") {
+ document.getElementById('text').innerHTML = "it will rain down again, after all,";
+ document.getElementById('text').style["text-align"] = "center";
+ }
+
+ if(value == "26") {
+ document.getElementById('text').innerHTML = "shimmering like sequin,<br>slipping away like falling pages";
+ }
+
+ if(value == "27") {
+ document.getElementById('text').innerHTML = '"hello, can we talk?"';
+ }
+
+ value++;
+ }
+
+ /*
+ window.onload = fadeIn;
+
+ function fadeIn() {
+ var fade = document.getElementById("body");
+ var opacity = 0;
+ var intervalID = setInterval(function() {
+ if (opacity < 1) {
+ opacity = opacity + 0.1
+
+ } else {
+ clearInterval(intervalID);
+ }
+ }, 200);
+ }*/
+ </script>
+ </body>
+</html> \ No newline at end of file
diff --git a/poem/font/DejaVuSerif-Bold.ttf b/poem/font/DejaVuSerif-Bold.ttf
new file mode 100644
index 0000000..3fffea6
--- /dev/null
+++ b/poem/font/DejaVuSerif-Bold.ttf
Binary files differ
diff --git a/poem/font/DejaVuSerif-Italic.ttf b/poem/font/DejaVuSerif-Italic.ttf
new file mode 100644
index 0000000..46a718e
--- /dev/null
+++ b/poem/font/DejaVuSerif-Italic.ttf
Binary files differ
diff --git a/poem/font/DejaVuSerif.ttf b/poem/font/DejaVuSerif.ttf
new file mode 100644
index 0000000..712a59b
--- /dev/null
+++ b/poem/font/DejaVuSerif.ttf
Binary files differ
diff --git a/poem/rainy.css b/poem/rainy.css
new file mode 100644
index 0000000..3153f24
--- /dev/null
+++ b/poem/rainy.css
@@ -0,0 +1,52 @@
+body {
+ background-color: white;
+ color: black;
+ margin: 20px;
+ font-family: DejaVu;
+ user-select: none;
+}
+
+div {
+ font-size: 70px;
+ cursor: pointer;
+ text-align: left;
+}
+
+a {
+ text-decoration: none;
+ color: black;
+}
+
+#nav {
+ padding: 5px;
+ margin-bottom: 2%;
+ font-size: 20px;
+ text-align: center;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ right: 0
+}
+
+.poem {
+ margin-top: 22%;
+ margin-left: 25px;
+ font-size: 60px;
+}
+
+@font-face {
+ font-family: DejaVu;
+ src: url('font/DejaVuSerif.ttf');
+}
+
+@font-face {
+ font-family: DejaVu;
+ src: url('font/DejaVuSerif-Bold.ttf');
+ font-weight: bold;
+}
+
+@font-face {
+ font-family: DejaVu;
+ src: url('font/DejaVuSerif-Italic.ttf');
+ font-style: italic;
+} \ No newline at end of file
diff --git a/poem/rainy.html b/poem/rainy.html
new file mode 100644
index 0000000..587f52b
--- /dev/null
+++ b/poem/rainy.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>of an exchange between two on a rainy night</title>
+ <link href="rainy.css" rel="stylesheet" type="text/css" media="all">
+ </head>
+ <body>
+ <div id="text" onclick="change()">
+
+ <div style="text-align: center; padding-top: 20%; padding-bottom: 15%; margin: auto;">
+ <i style="font-size: 90%;">of an exchange between two on a rainy night</i><br><i style="font-size: medium; ">(Feburary 2022, free-verse)</i>
+ </div>
+
+ </div>
+
+ <div id="nav" style="font-size: 20px; text-align: center;">
+ <a href="dissociated.html">prev poem&nbsp;</a>
+ <a onclick="minus();">prev line&nbsp;</a>
+ <a onclick="plus();">next line&nbsp;</a>
+ <a href="rainy.html">next poem</a>
+ </div>
+
+ <script>
+ var value = 0;
+ const lines = [
+ 'Throw away your soggy cigarette and ask me about my day.',
+ 'Take a seat and smear with your finger the fuzz',
+ 'of the meniscus of cold broth in a bowl.',
+
+ '<span style="color: white">textexttetxtextettxe</span>',
+
+ 'Magnetise your bi-polar heart and show me where it points.',
+ 'Guide me to the sea and explain',
+ "what you'll first fend off against:",
+ 'the salt or the seaweed.',
+
+ '<span style="color: white">textexttetxtextettxe</span>',
+
+ 'Where would you go',
+ 'if you were to leave a trail of footsteps in the snow,',
+ "and weren't sure whether you'd come back the same or different?",
+
+ '<span style="color: white">textexttetxtextettxe</span>',
+
+ 'I want to dissect your mind and study your thoughts.',
+ 'I will determine whether your spirit is as fragile as',
+ 'a rose in vitro,',
+ 'as a naïve heart,',
+ 'as the truth,',
+ 'or if it is as sturdy as',
+ 'history,',
+ 'as a violin string,',
+ 'as glass—',
+
+ '<span style="color: white">textexttetxtextettxe</span>',
+
+ '<a style="color: black" href="rainy.html">Next poem?</a><br><a style="color: black; font-size: 70%" href="../home.html">go home.</a>',
+ ]
+
+ const text = document.getElementById('text');
+ function change() {
+ console.log(value)
+ document.getElementById("text").classList.add('poem');
+ text.innerHTML = lines[value];
+
+ if(value < 23) {
+ value++;
+ } else {
+ document.getElementById('text').style["margin-top"] = "20%";
+ }
+ }
+
+ function plus() {
+ document.getElementById("text").classList.add('poem');
+ text.innerHTML = lines[value];
+ if(value < 23) {
+ value++;
+ } else {
+ document.getElementById('text').style["margin-top"] = "20%";
+ value = 23;
+ }
+ }
+
+ function minus() {
+ document.getElementById("text").classList.add('poem');
+ if(value == 0) {
+ text.innerHTML = '<div style="text-align: center; margin: 0%; padding: 0%"><i style="font-size: 90%;">of an exchange between two on a rainy night</i><br><i style="font-size: medium;">(Feburary 2022, free-verse)</i></div>';
+ value = 0;
+ } else {
+ value--;
+ text.innerHTML = lines[value];
+ }
+ }
+ </script>
+ </body>
+</html> \ No newline at end of file