Winter snow!

This commit is contained in:
Bingus_Violet 2023-12-17 21:23:39 -06:00
parent 59c4e0c7a6
commit 0033b9692f
3 changed files with 207 additions and 1 deletions

View file

@ -181,6 +181,56 @@ function pageUpdate() {
html = html.replace("{MASTODON_FEED}", mastoData.HTML) html = html.replace("{MASTODON_FEED}", mastoData.HTML)
var now = new Date()
currentMonth = now.getMonth() + 1
if ([11, 12, 1].includes(currentMonth)) { // The Below HTML is copy and pasted from that one site :>
html = html.replace("{SEASONAL_EFFECT}", `
<div class="snowflakes" aria-hidden="true">
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
<div class="snowflake">
<div class="inner"></div>
</div>
</div>
<br>
<p>I love the winter :></p>
`)
} else {
html = html.replace("{SEASONAL_EFFECT}", "")
}
fs.writeFileSync(path.join(__dirname, 'static/index.html'), html) fs.writeFileSync(path.join(__dirname, 'static/index.html'), html)
} }

View file

@ -21,6 +21,7 @@
<body> <body>
<h1>Welcome to Violet's Purgatory</h1> <h1>Welcome to Violet's Purgatory</h1>
<div class="fadediv"> <div class="fadediv">
<div class="container-fluid row" id="card"> <div class="container-fluid row" id="card">
<h2>Violet</h2> <h2>Violet</h2>
@ -51,5 +52,7 @@
{MASTODON_FEED} {MASTODON_FEED}
</div> </div>
{SEASONAL_EFFECT}
</body> </body>
</html> </html>

View file

@ -50,6 +50,7 @@ a {
} }
.chip { .chip {
z-index: 3;
font-size: 1.3rem; font-size: 1.3rem;
border: 2px gray solid; border: 2px gray solid;
border-radius: 6px; border-radius: 6px;
@ -76,6 +77,8 @@ a {
margin: auto; margin: auto;
padding: 0; padding: 0;
display: flex; display: flex;
position: relative;
z-index: 3;
} }
.activity>p { .activity>p {
@ -134,7 +137,8 @@ hr {
margin: 20px auto; margin: 20px auto;
width: 95%; width: 95%;
max-width: 800px; max-width: 800px;
z-index: 3;
position: relative;
} }
.me { .me {
@ -228,3 +232,152 @@ hr {
transform: none; transform: none;
} }
} }
.snowflake {
color: white;
font-size: 0.5rem;
font-family: Arial, sans-serif;
text-shadow: 0 0 5px #000;
}
.snowflake,
.snowflake .inner {
z-index: 1;
animation-iteration-count: infinite;
animation-play-state: running
}
@keyframes snowflakes-fall {
0% {
transform: translateY(0)
}
100% {
transform: translateY(110vh)
}
}
@keyframes snowflakes-shake {
0%,
100% {
transform: translateX(0)
}
50% {
transform: translateX(80px)
}
}
.snowflake {
position: fixed;
top: -10%;
-webkit-user-select: none;
user-select: none;
cursor: default;
animation-name: snowflakes-shake;
animation-duration: 3s;
animation-timing-function: ease-in-out
}
.snowflake .inner {
animation-duration: 10s;
animation-name: snowflakes-fall;
animation-timing-function: linear
}
.snowflake:nth-of-type(0) {
left: 1%;
animation-delay: 0s
}
.snowflake:nth-of-type(0) .inner {
animation-delay: 0s
}
.snowflake:first-of-type {
left: 10%;
animation-delay: 1s
}
.snowflake:first-of-type .inner,
.snowflake:nth-of-type(8) .inner {
animation-delay: 1s
}
.snowflake:nth-of-type(2) {
left: 20%;
animation-delay: .5s
}
.snowflake:nth-of-type(2) .inner,
.snowflake:nth-of-type(6) .inner {
animation-delay: 6s
}
.snowflake:nth-of-type(3) {
left: 30%;
animation-delay: 2s
}
.snowflake:nth-of-type(11) .inner,
.snowflake:nth-of-type(3) .inner {
animation-delay: 4s
}
.snowflake:nth-of-type(4) {
left: 40%;
animation-delay: 2s
}
.snowflake:nth-of-type(10) .inner,
.snowflake:nth-of-type(4) .inner {
animation-delay: 2s
}
.snowflake:nth-of-type(5) {
left: 50%;
animation-delay: 3s
}
.snowflake:nth-of-type(5) .inner {
animation-delay: 8s
}
.snowflake:nth-of-type(6) {
left: 60%;
animation-delay: 2s
}
.snowflake:nth-of-type(7) {
left: 70%;
animation-delay: 1s
}
.snowflake:nth-of-type(7) .inner {
animation-delay: 2.5s
}
.snowflake:nth-of-type(8) {
left: 80%;
animation-delay: 0s
}
.snowflake:nth-of-type(9) {
left: 90%;
animation-delay: 1.5s
}
.snowflake:nth-of-type(9) .inner {
animation-delay: 3s
}
.snowflake:nth-of-type(10) {
left: 25%;
animation-delay: 0s
}
.snowflake:nth-of-type(11) {
left: 65%;
animation-delay: 2.5s
}