add projects list + update binkies
All checks were successful
/ build (push) Successful in 23s

This commit is contained in:
Soph :3 2025-10-09 19:36:48 +03:00
parent 97a76f2cad
commit c61c0b2d09
6 changed files with 327 additions and 133 deletions

View file

@ -20,7 +20,11 @@ const sssg = new SSSG({
}); });
const plugins: Plugin[] = []; const plugins: Plugin[] = [];
let gitLog = "{}"; let gitLog = JSON.stringify({
author: "failed-to-load",
date: new Date(),
commit: "failed-to-load",
});
if (process.argv.includes("--dev")) { if (process.argv.includes("--dev")) {
plugins.push(new Dev(sssg)); plugins.push(new Dev(sssg));

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Before After
Before After

View file

@ -1,67 +1,67 @@
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap"); @import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");
body { body {
font-family: "Inter", sans-serif; font-family: "Inter", sans-serif;
font-optical-sizing: auto; font-optical-sizing: auto;
font-style: normal; font-style: normal;
font-variation-settings: "slnt" 0; font-variation-settings: "slnt" 0;
scrollbar-color: #ffffffae #000000a1; scrollbar-color: #ffffffae #000000a1;
scrollbar-width: thin; scrollbar-width: thin;
} }
a { a {
color: white; color: white;
} }
.order { .order {
display: grid; display: grid;
grid-template-areas: grid-template-areas:
"details skills" "details skills"
"details donations" "details donations"
"details commit" "details commit"
"details lastfm" "projects lastfm"
"webrings webrings" "webrings webrings"
"status binkies" "status binkies"
"blog blog"; "blog blog";
grid-gap: 5px; grid-gap: 5px;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
grid-template-rows: repeat(25vh, 6); grid-template-rows: repeat(25vh, 6);
} }
.emoji { .emoji {
font-family: "Noto Emoji", sans-serif; font-family: "Noto Emoji", sans-serif;
font-optical-sizing: auto; font-optical-sizing: auto;
font-style: normal; font-style: normal;
font-variation-settings: "slnt" 0; font-variation-settings: "slnt" 0;
} }
.paper { .paper {
color: white; color: white;
background-color: #000000de; background-color: #000000de;
padding: 15px; padding: 15px;
border: 1px black solid; border: 1px black solid;
border-radius: 5px; border-radius: 5px;
word-wrap: break-word; word-wrap: break-word;
overflow: auto; overflow: auto;
} }
.giscus-outer { .giscus-outer {
max-height: 20vh; max-height: 20vh;
} }
.e-mail { .e-mail {
font-size: small; font-size: small;
} }
/* https://danmarshall.github.io/google-font-to-svg-path/ */ /* https://danmarshall.github.io/google-font-to-svg-path/ */
/* https://yoksel.github.io/url-encoder/ */ /* https://yoksel.github.io/url-encoder/ */
.repeating-bg { .repeating-bg {
background-image: url("data:image/svg+xml,%3Csvg width='99.612' height='99.612' viewBox='0 0 99.612 99.612' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='svgGroup' stroke-linecap='round' fill-rule='evenodd' font-size='9pt' stroke='%23000' stroke-width='0.25mm' fill='%23000' style='stroke:%23000;stroke-width:0.25mm;fill:%23000'%3E%3Cpath d='M 30.47 95.753 A 48.715 48.715 0 0 0 49.806 99.611 Q 60.109 99.611 69.142 95.729 Q 78.175 91.847 85.011 85.011 Q 91.847 78.175 95.729 69.142 Q 99.611 60.109 99.611 49.806 Q 99.611 39.503 95.729 30.47 Q 91.847 21.437 85.011 14.601 Q 78.175 7.765 69.142 3.883 Q 60.109 0.001 49.806 0.001 A 48.715 48.715 0 0 0 30.47 3.859 Q 21.437 7.716 14.576 14.576 Q 7.716 21.437 3.859 30.445 A 46.98 46.98 0 0 0 3.169 32.146 A 48.984 48.984 0 0 0 0.001 49.806 A 48.715 48.715 0 0 0 3.859 69.142 Q 7.716 78.175 14.576 85.035 Q 21.437 91.896 30.47 95.753 Z M 49.806 97.657 A 46.875 46.875 0 0 0 68.409 93.946 Q 77.101 90.236 83.668 83.668 Q 90.236 77.101 93.946 68.409 A 46.875 46.875 0 0 0 97.657 49.806 A 46.875 46.875 0 0 0 93.946 31.202 Q 90.236 22.511 83.668 15.944 Q 77.101 9.376 68.409 5.665 A 46.875 46.875 0 0 0 49.806 1.954 A 46.875 46.875 0 0 0 31.202 5.665 Q 22.511 9.376 15.944 15.944 Q 9.376 22.511 5.665 31.202 A 46.875 46.875 0 0 0 1.954 49.806 A 46.875 46.875 0 0 0 5.665 68.409 Q 9.376 77.101 15.944 83.668 Q 22.511 90.236 31.202 93.946 A 46.875 46.875 0 0 0 49.806 97.657 Z M 25.636 75.441 L 23.976 74.464 Q 26.271 70.314 30.299 67.213 Q 34.327 64.112 39.381 62.355 A 31.511 31.511 0 0 1 49.806 60.597 A 31.511 31.511 0 0 1 60.231 62.355 A 31.668 31.668 0 0 1 69.313 67.237 A 24.816 24.816 0 0 1 74.121 72.115 A 22.347 22.347 0 0 1 75.636 74.464 L 73.976 75.441 A 21.687 21.687 0 0 0 69.296 69.752 A 25.564 25.564 0 0 0 68.043 68.727 A 29.994 29.994 0 0 0 59.547 64.186 Q 54.835 62.55 49.806 62.55 Q 44.777 62.55 40.04 64.186 A 30.049 30.049 0 0 0 32.025 68.342 A 28.374 28.374 0 0 0 31.544 68.702 A 22.453 22.453 0 0 0 26.811 73.573 A 20.69 20.69 0 0 0 25.636 75.441 Z M 29.355 43.927 A 4.755 4.755 0 0 0 32.618 45.216 Q 34.913 45.216 36.549 43.263 A 6.833 6.833 0 0 0 37.75 41.187 A 7.624 7.624 0 0 0 38.185 38.575 A 8.876 8.876 0 0 0 38.177 38.195 A 6.983 6.983 0 0 0 36.549 33.888 A 6.828 6.828 0 0 0 36.126 33.427 A 4.823 4.823 0 0 0 32.618 31.935 A 4.64 4.64 0 0 0 30.025 32.707 A 6.163 6.163 0 0 0 28.712 33.888 Q 27.052 35.841 27.052 38.575 A 8.824 8.824 0 0 0 27.056 38.841 A 6.945 6.945 0 0 0 28.712 43.263 A 6.831 6.831 0 0 0 29.355 43.927 Z M 63.73 43.927 A 4.755 4.755 0 0 0 66.993 45.216 Q 69.288 45.216 70.924 43.263 A 6.833 6.833 0 0 0 72.125 41.187 A 7.624 7.624 0 0 0 72.56 38.575 A 8.876 8.876 0 0 0 72.552 38.195 A 6.983 6.983 0 0 0 70.924 33.888 A 6.828 6.828 0 0 0 70.501 33.427 A 4.823 4.823 0 0 0 66.993 31.935 A 4.64 4.64 0 0 0 64.4 32.707 A 6.163 6.163 0 0 0 63.087 33.888 Q 61.427 35.841 61.427 38.575 A 8.824 8.824 0 0 0 61.431 38.841 A 6.945 6.945 0 0 0 63.087 43.263 A 6.831 6.831 0 0 0 63.73 43.927 Z' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3C/svg%3E"); background-image: url("data:image/svg+xml,%3Csvg width='99.612' height='99.612' viewBox='0 0 99.612 99.612' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='svgGroup' stroke-linecap='round' fill-rule='evenodd' font-size='9pt' stroke='%23000' stroke-width='0.25mm' fill='%23000' style='stroke:%23000;stroke-width:0.25mm;fill:%23000'%3E%3Cpath d='M 30.47 95.753 A 48.715 48.715 0 0 0 49.806 99.611 Q 60.109 99.611 69.142 95.729 Q 78.175 91.847 85.011 85.011 Q 91.847 78.175 95.729 69.142 Q 99.611 60.109 99.611 49.806 Q 99.611 39.503 95.729 30.47 Q 91.847 21.437 85.011 14.601 Q 78.175 7.765 69.142 3.883 Q 60.109 0.001 49.806 0.001 A 48.715 48.715 0 0 0 30.47 3.859 Q 21.437 7.716 14.576 14.576 Q 7.716 21.437 3.859 30.445 A 46.98 46.98 0 0 0 3.169 32.146 A 48.984 48.984 0 0 0 0.001 49.806 A 48.715 48.715 0 0 0 3.859 69.142 Q 7.716 78.175 14.576 85.035 Q 21.437 91.896 30.47 95.753 Z M 49.806 97.657 A 46.875 46.875 0 0 0 68.409 93.946 Q 77.101 90.236 83.668 83.668 Q 90.236 77.101 93.946 68.409 A 46.875 46.875 0 0 0 97.657 49.806 A 46.875 46.875 0 0 0 93.946 31.202 Q 90.236 22.511 83.668 15.944 Q 77.101 9.376 68.409 5.665 A 46.875 46.875 0 0 0 49.806 1.954 A 46.875 46.875 0 0 0 31.202 5.665 Q 22.511 9.376 15.944 15.944 Q 9.376 22.511 5.665 31.202 A 46.875 46.875 0 0 0 1.954 49.806 A 46.875 46.875 0 0 0 5.665 68.409 Q 9.376 77.101 15.944 83.668 Q 22.511 90.236 31.202 93.946 A 46.875 46.875 0 0 0 49.806 97.657 Z M 25.636 75.441 L 23.976 74.464 Q 26.271 70.314 30.299 67.213 Q 34.327 64.112 39.381 62.355 A 31.511 31.511 0 0 1 49.806 60.597 A 31.511 31.511 0 0 1 60.231 62.355 A 31.668 31.668 0 0 1 69.313 67.237 A 24.816 24.816 0 0 1 74.121 72.115 A 22.347 22.347 0 0 1 75.636 74.464 L 73.976 75.441 A 21.687 21.687 0 0 0 69.296 69.752 A 25.564 25.564 0 0 0 68.043 68.727 A 29.994 29.994 0 0 0 59.547 64.186 Q 54.835 62.55 49.806 62.55 Q 44.777 62.55 40.04 64.186 A 30.049 30.049 0 0 0 32.025 68.342 A 28.374 28.374 0 0 0 31.544 68.702 A 22.453 22.453 0 0 0 26.811 73.573 A 20.69 20.69 0 0 0 25.636 75.441 Z M 29.355 43.927 A 4.755 4.755 0 0 0 32.618 45.216 Q 34.913 45.216 36.549 43.263 A 6.833 6.833 0 0 0 37.75 41.187 A 7.624 7.624 0 0 0 38.185 38.575 A 8.876 8.876 0 0 0 38.177 38.195 A 6.983 6.983 0 0 0 36.549 33.888 A 6.828 6.828 0 0 0 36.126 33.427 A 4.823 4.823 0 0 0 32.618 31.935 A 4.64 4.64 0 0 0 30.025 32.707 A 6.163 6.163 0 0 0 28.712 33.888 Q 27.052 35.841 27.052 38.575 A 8.824 8.824 0 0 0 27.056 38.841 A 6.945 6.945 0 0 0 28.712 43.263 A 6.831 6.831 0 0 0 29.355 43.927 Z M 63.73 43.927 A 4.755 4.755 0 0 0 66.993 45.216 Q 69.288 45.216 70.924 43.263 A 6.833 6.833 0 0 0 72.125 41.187 A 7.624 7.624 0 0 0 72.56 38.575 A 8.876 8.876 0 0 0 72.552 38.195 A 6.983 6.983 0 0 0 70.924 33.888 A 6.828 6.828 0 0 0 70.501 33.427 A 4.823 4.823 0 0 0 66.993 31.935 A 4.64 4.64 0 0 0 64.4 32.707 A 6.163 6.163 0 0 0 63.087 33.888 Q 61.427 35.841 61.427 38.575 A 8.824 8.824 0 0 0 61.431 38.841 A 6.945 6.945 0 0 0 63.087 43.263 A 6.831 6.831 0 0 0 63.73 43.927 Z' vector-effect='non-scaling-stroke'/%3E%3C/g%3E%3C/svg%3E");
background-position: 20px 20px; background-position: 20px 20px;
} }
.paper > :nth-child(1) { .paper > :nth-child(1) {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
h1, h1,
@ -70,118 +70,194 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
text-shadow: 0px 0px 4px white; text-shadow: 0px 0px 4px white;
} }
.details { .details {
grid-area: details; grid-area: details;
} }
.donations { .donations {
grid-area: donations; grid-area: donations;
} }
.lastfm { .lastfm {
grid-area: lastfm; grid-area: lastfm;
display: flex; display: flex;
align-items: center; align-items: center;
flex-direction: row; flex-direction: row;
gap: 20px; gap: 20px;
} }
.lastfm > div { .lastfm > div {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
} }
.status { .status {
grid-area: status; grid-area: status;
} }
.skills { .skills {
grid-area: skills; grid-area: skills;
} }
.commit { .commit {
grid-area: commit; grid-area: commit;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
gap: 0px; gap: 0px;
padding: 5px; padding: 5px;
margin: 5px; margin: 5px;
} }
.commit > *, .commit > *,
.commit > * > * { .commit > * > * {
padding: 0; padding: 0;
margin: 0; margin: 0;
} }
.binkies { .binkies {
grid-area: binkies; grid-area: binkies;
display: flex; display: flex;
gap: 5px; gap: 5px;
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.webrings { .webrings {
grid-area: webrings; grid-area: webrings;
}
.projects {
grid-area: projects;
} }
.blog { .blog {
grid-area: blog; grid-area: blog;
min-height: 75vh; min-height: 75vh;
} }
.logo { .logo {
max-width: 80%; max-width: 40%;
max-height: 80%; max-height: 40%;
} }
.projects-list {
display: flex;
flex-direction: column;
gap: 18px;
margin: 0;
padding: 0;
list-style: none;
height: 200px;
}
.project-item {
background: #111a;
border-radius: 6px;
border: 1px solid #222;
padding: 14px 16px;
display: flex;
flex-direction: column;
gap: 6px;
transition: background 0.2s;
}
.project-item:hover {
background: #222c;
}
.project-title {
font-size: 1.2em;
font-weight: 600;
margin: 0;
display: flex;
align-items: center;
gap: 8px;
}
.project-title a {
color: white;
text-decoration: underline;
transition: color 0.2s;
}
.project-desc {
font-size: 1em;
margin: 0;
color: #eee;
}
.project-tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 4px;
}
.project-tag {
background: #222;
color: #fff;
border-radius: 3px;
font-size: 0.85em;
padding: 2px 8px;
border: 1px solid #333;
font-family: "Inter", sans-serif;
opacity: 0.85;
}
webring-container { webring-container {
width: unset !important; width: unset !important;
height: unset !important; height: unset !important;
} }
@media only screen and (max-width: 600px) { @media only screen and (max-width: 600px) {
.order { .order {
grid-template-areas: grid-template-areas:
"details " "details "
"status" "status"
"skills " "skills "
"donations " "donations "
"lastfm" "lastfm"
"commit" "commit"
"webrings" "webrings"
"binkies" "binkies"
"blog " "blog "
"blog "; "blog ";
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
body { body {
scrollbar-width: auto !important; scrollbar-width: auto !important;
} }
.blog { .blog {
max-height: unset; max-height: unset;
} }
.giscus-outer { .giscus-outer {
max-height: unset; max-height: unset;
} }
#oneko { #oneko {
display: none; display: none;
} }
.include88x31 { .include88x31 {
display: none; display: none;
} }
.results { .results {
margin-top: 20px !important; margin-top: 20px !important;
} }
#lastfm > img { #lastfm > img {
width: 50px; width: 50px;
height: 50px; height: 50px;
} }
#lastfm > div > h1 { #lastfm > div > h1 {
font-size: 30px; font-size: 30px;
} }
#lastfm > div > span:nth-child(2) { #lastfm > div > span:nth-child(2) {
font-size: 20px !important; font-size: 20px !important;
} }
#lastfm > div > span:nth-child(3) { #lastfm > div > span:nth-child(3) {
font-size: 17px !important; font-size: 17px !important;
} }
.repeating-bg { .repeating-bg {
background: white; background: white;
} }
.projects-list {
gap: 12px;
}
.project-item {
padding: 10px 8px;
}
.project-title {
font-size: 1em;
}
.project-desc {
font-size: 0.95em;
}
.project-tags {
gap: 4px;
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

View file

@ -55,18 +55,132 @@ __TEMPLATE_HEAD__
</a> </a>
</pre> </pre>
</div> </div>
<div class="results" </div>
style="text-align:center;width: 200px;background-color: #fff;color: #000;display: block;padding: 10px;border: 1px solid;margin: 0 auto;font-family: 'times';font-size: '15pt';"> <div class="paper projects">
<p style="margin: 0">This page is protected by a</p> <ul class="projects-list">
<h1 class="title" style="margin: 0">TAPIR</h1> <li class="project-item">
<img class="image" style="max-width: 160px;border: 1px solid" alt="TAPIR" <div class="project-title">
src="https://i.ibb.co/10FV850/tapir.jpg"> <a href="https://git.sad.ovh/sophie/weed" target="_blank" rel="noopener">weed mod</a>
<p class="description">Tapirs have changed very little over the past 20 million years.</p> </div>
<small> <div class="project-desc">weed mod for minecraft</div>
<a style="color: #000" href="https://hekate.neocities.org">Want your own? Visit <div class="project-tags">
hekate.neocities.org!</a> <span class="project-tag">fabric</span>
</small> <span class="project-tag">minecraft</span>
</div> <span class="project-tag">1.21.8</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://git.sad.ovh/sophie/blitzortung" target="_blank" rel="noopener">blitzortung-rust</a>
</div>
<div class="project-desc">This project connects to the Blitzortung lightning detection network and sends notifications to your devices when lightning strikes are detected near your specified location.</div>
<div class="project-tags">
<span class="project-tag">rust</span>
<span class="project-tag">backend</span>
<span class="project-tag">fun</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://git.sad.ovh/sophie/animalrpfabric" target="_blank" rel="noopener">animalrp</a>
</div>
<div class="project-desc">A mod for furry minecraft servers that mangles your text, adds specific types of animals that have different improvements and more!</div>
<div class="project-tags">
<span class="project-tag">fabric</span>
<span class="project-tag">1.21.1</span>
<span class="project-tag">minecraft</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://git.sad.ovh/sophie/sssg" target="_blank" rel="noopener">sssg</a>
</div>
<div class="project-desc">(S)ophie's (S)tatic (S)ite (G)enerator</div>
<div class="project-tags">
<span class="project-tag">bun</span>
<span class="project-tag">typescript</span>
<span class="project-tag">tool</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/ReconnectedCC/rcc-kromer" target="_blank" rel="noopener">rcc-kromer</a>
</div>
<div class="project-desc">Minecraft mod for the Kromer currency for the ReconnectedCC server.</div>
<div class="project-tags">
<span class="project-tag">fabric</span>
<span class="project-tag">minecraft</span>
<span class="project-tag">currency</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/katelyynn/bleh" target="_blank" rel="noopener">bleh</a>
</div>
<div class="project-desc">Last.fm modification made by Katelynn which I contributed heavily to, makes last.fm actually bearable.</div>
<div class="project-tags">
<span class="project-tag">javascript</span>
<span class="project-tag">frontend</span>
<span class="project-tag">esbuild</span>
<span class="project-tag">fun</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/mppnet/frontend" target="_blank" rel="noopener">mpp-frontend</a>
</div>
<div class="project-desc">Multiplayerpiano's frontend, originally written by Brandon Lockaby back in 2011.</div>
<div class="project-tags">
<span class="project-tag">javascript</span>
<span class="project-tag">frontend</span>
<span class="project-tag">game</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/fucksophie/figuramc" target="_blank" rel="noopener">figuramc</a>
</div>
<div class="project-desc">Clean room reversal of the Figura (MC mod) backend communcation APIs.</div>
<div class="project-tags">
<span class="project-tag">javascript</span>
<span class="project-tag">game</span>
<span class="project-tag">backend</span>
<span class="project-tag">minecraft</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/fucksophie/yourflare" target="_blank" rel="noopener">yourflare</a>
</div>
<div class="project-desc">Unmaintained DNS service, cloudflare-like.</div>
<div class="project-tags">
<span class="project-tag">typescript</span>
<span class="project-tag">coredns</span>
<span class="project-tag">backend</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/fucksophie/Monolith" target="_blank" rel="noopener">mônolith</a>
</div>
<div class="project-desc">Entierly opensource classicube.net backend implementation in Typescript.</div>
<div class="project-tags">
<span class="project-tag">backend</span>
<span class="project-tag">typescript</span>
<span class="project-tag">coredns</span>
</div>
</li>
<li class="project-item">
<div class="project-title">
<a href="https://github.com/fucksophie/SSTVIcecaster" target="_blank" rel="noopener">SSTVIcecaster</a>
</div>
<div class="project-desc">Sends SSTVs or Music to a icecast server. Used for ham radio purposes or just testing your SSTV setup.</div>
<div class="project-tags">
<span class="project-tag">radio</span>
<span class="project-tag">python</span>
</div>
</li>
</ul>
</div> </div>
<div class="paper donations"> <div class="paper donations">
<h1>donations</h1> <h1>donations</h1>