it's cube time babey

This commit is contained in:
Rhiannon Morris 2024-09-04 15:31:06 +02:00
parent 18bcac9c64
commit 25b3261079
89 changed files with 1437 additions and 1575 deletions

1
.gitignore vendored
View file

@ -11,3 +11,4 @@ fonts/**/*.woff2
_build _build
_tmp _tmp
.directory .directory
*~

View file

@ -1,106 +0,0 @@
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<link rel=me href=https://chitter.xyz/@niss>
<link rel=me href=https://cohost.org/niss>
<link rel=icon href=media/icon.svg>
<link rel=stylesheet href=style/ANGELF~1.CSS>
<title>🦎 the gec zone 🦎</title>
<main>
<header>
<h1>so basically? <b>im gecs</b></h1>
<div id=mlem>
<div id=mlemtext>
<p class='mlem-text niss'>“mlem”</p>
<p class='mlem-text nisse'>“mlem also”</p>
</div>
<a href=https://gallery.niss.website/main/niss/2020-06-20-mlem>
<picture>
<source srcset=media/mlem_static.png media='(prefers-reduced-motion)'>
<img src=media/mlem.gif alt='— the gecs'>
</picture>
</a>
</div>
<p>
a <b>big one</b> (niss (she/her))
and a <b>little one</b> (nisse (he/him))
</header>
<hr>
<section>
<h2>stats</h2>
<table>
<tr>
<th> how to say
<td>
<a id=soundlink>/nIs/, /nIs@/</a>
<audio id=miku>
<source src=media/niss-nisse.mp3 type=audio/mpeg>
<source src=media/niss-nisse.ogg type=audio/ogg>
(<a href=media/niss-nisse.mp3>listen</a>)
</audio>
<noscript>
(<a href=media/niss-nisse.mp3>listen</a>)
</noscript>
<tr><th> prons <td title='she for niss, he for nisse'> she or they
<tr><th> quantity <td> 2
<tr><th> consistency <td> soft
<tr><th> limbs <td> many
<tr><th> energy <td> <img src=NEWFOL~1/LOWBATT.GIF alt=low>
</table>
</section>
</main>
<ul id=links>
<li>
<a href=https://gallery.niss.website>
<img src=NEWFOL~1/PBRUSH.GIF>
<span>art</span>
</a>
<li>
<a href=https://git.rhiannon.website/rhi>
<img src=NEWFOL~1/PROGRAM.GIF>
<span>code</span>
</a>
<li>
<a href=https://lang.niss.website>
<img src=NEWFOL~1/QUESTION.GIF>
<span>conlangs</span>
</a>
<li>
<a href=where.html>
<img src=NEWFOL~1/MAIL.GIF>
<span>contact</span>
</a>
</ul>
<script>
window.addEventListener('load', function() {
let link = document.getElementById('soundlink');
let miku = document.getElementById('miku');
function play(e) {
e.preventDefault();
miku.play();
}
// attempt to ensure at least one of the sources is recognised
// (and that <audio> is supported)
if (!isNaN(miku.duration)) {
link.href = '#listen';
link.addEventListener('click', play);
}
});
</script>
<!--
- miku recorded by @derFisch
-->

View file

@ -1,15 +1,12 @@
CSS = $(shell find style -type f) CSS = $(wildcard *.css) $(shell find fonts -type f)
PAGES = index.html where.html pubkey.txt id.html links.html PAGES = index.html pubkey.txt
MEDIA = $(patsubst %,media/%, \ MEDIA = \
bg.png bg_2x.png bg_dim.png bg_2x_dim.png kesi.png quoxtrans.png \ $(wildcard media/*.png) $(wildcard media/*.svg) $(wildcard media/*.webp) \
mlem.gif mlem_static.png chitter.png butterfly.png lockpen.png \ $(wildcard media/flags/*) $(wildcard media/buttons/*) \
quobl.png quobl2.png \
) \
$(wildcard media/*.svg) $(wildcard media/flags/*) \
$(wildcard media/buttons/*) \
8831.png 8831-quox.png 8831.png 8831-quox.png
SCRIPTS = $(patsubst %.ts,%.js,$(wildcard *.ts))
MISC = $(shell find .well-known -type f) MISC = $(shell find .well-known -type f)
ALL = $(CSS) $(PAGES) $(MEDIA) $(MISC) ALL = $(CSS) $(PAGES) $(MEDIA) $(SCRIPTS) $(MISC)
BUILDDIR ?= _build BUILDDIR ?= _build
TMPDIR ?= _tmp TMPDIR ?= _tmp
@ -17,7 +14,7 @@ TMPDIR ?= _tmp
HOST ?= yummy.cricket HOST ?= yummy.cricket
REMOTE_USER ?= www-data REMOTE_USER ?= www-data
IDFILE ?= ~/.ssh/xyz IDFILE ?= ~/.ssh/xyz
REMOTE_DIR ?= yummy REMOTE_DIR ?= yummy/test
all: build all: build
@ -61,6 +58,12 @@ $(BUILDDIR)/%.GIF: %.ICO
@mkdir -p $(dir $@) @mkdir -p $(dir $@)
@convert '$<[0]' $@ @convert '$<[0]' $@
$(BUILDDIR)/%.js: %.ts
tsc --strict --noUncheckedIndexedAccess --noEmitOnError \
--lib dom,es2021 --target es2015 \
--outDir $(dir $@) $^
clean: clean:
$(RM) -r $(TMPDIR) $(BUILDDIR) $(RM) -r $(TMPDIR) $(BUILDDIR)

View file

@ -1,259 +0,0 @@
GIMP Palette
Name: 256
Columns: 8
0 0 0 color 0
0 0 85 color 1
0 0 170 color 2
0 0 255 color 3
0 36 0 color 4
0 36 85 color 5
0 36 170 color 6
0 36 255 color 7
0 72 0 color 8
0 72 85 color 9
0 72 170 color 10
0 72 255 color 11
0 109 0 color 12
0 109 85 color 13
0 109 170 color 14
0 109 255 color 15
0 145 0 color 16
0 145 85 color 17
0 145 170 color 18
0 145 255 color 19
0 182 0 color 20
0 182 85 color 21
0 182 170 color 22
0 182 255 color 23
0 218 0 color 24
0 218 85 color 25
0 218 170 color 26
0 218 255 color 27
0 255 0 color 28
0 255 85 color 29
0 255 170 color 30
0 255 255 color 31
36 0 0 color 32
36 0 85 color 33
36 0 170 color 34
36 0 255 color 35
36 36 0 color 36
36 36 85 color 37
36 36 170 color 38
36 36 255 color 39
36 72 0 color 40
36 72 85 color 41
36 72 170 color 42
36 72 255 color 43
36 109 0 color 44
36 109 85 color 45
36 109 170 color 46
36 109 255 color 47
36 145 0 color 48
36 145 85 color 49
36 145 170 color 50
36 145 255 color 51
36 182 0 color 52
36 182 85 color 53
36 182 170 color 54
36 182 255 color 55
36 218 0 color 56
36 218 85 color 57
36 218 170 color 58
36 218 255 color 59
36 255 0 color 60
36 255 85 color 61
36 255 170 color 62
36 255 255 color 63
72 0 0 color 64
72 0 85 color 65
72 0 170 color 66
72 0 255 color 67
72 36 0 color 68
72 36 85 color 69
72 36 170 color 70
72 36 255 color 71
72 72 0 color 72
72 72 85 color 73
72 72 170 color 74
72 72 255 color 75
72 109 0 color 76
72 109 85 color 77
72 109 170 color 78
72 109 255 color 79
72 145 0 color 80
72 145 85 color 81
72 145 170 color 82
72 145 255 color 83
72 182 0 color 84
72 182 85 color 85
72 182 170 color 86
72 182 255 color 87
72 218 0 color 88
72 218 85 color 89
72 218 170 color 90
72 218 255 color 91
72 255 0 color 92
72 255 85 color 93
72 255 170 color 94
72 255 255 color 95
109 0 0 color 96
109 0 85 color 97
109 0 170 color 98
109 0 255 color 99
109 36 0 color 100
109 36 85 color 101
109 36 170 color 102
109 36 255 color 103
109 72 0 color 104
109 72 85 color 105
109 72 170 color 106
109 72 255 color 107
109 109 0 color 108
109 109 85 color 109
109 109 170 color 110
109 109 255 color 111
109 145 0 color 112
109 145 85 color 113
109 145 170 color 114
109 145 255 color 115
109 182 0 color 116
109 182 85 color 117
109 182 170 color 118
109 182 255 color 119
109 218 0 color 120
109 218 85 color 121
109 218 170 color 122
109 218 255 color 123
109 255 0 color 124
109 255 85 color 125
109 255 170 color 126
109 255 255 color 127
145 0 0 color 128
145 0 85 color 129
145 0 170 color 130
145 0 255 color 131
145 36 0 color 132
145 36 85 color 133
145 36 170 color 134
145 36 255 color 135
145 72 0 color 136
145 72 85 color 137
145 72 170 color 138
145 72 255 color 139
145 109 0 color 140
145 109 85 color 141
145 109 170 color 142
145 109 255 color 143
145 145 0 color 144
145 145 85 color 145
145 145 170 color 146
145 145 255 color 147
145 182 0 color 148
145 182 85 color 149
145 182 170 color 150
145 182 255 color 151
145 218 0 color 152
145 218 85 color 153
145 218 170 color 154
145 218 255 color 155
145 255 0 color 156
145 255 85 color 157
145 255 170 color 158
145 255 255 color 159
182 0 0 color 160
182 0 85 color 161
182 0 170 color 162
182 0 255 color 163
182 36 0 color 164
182 36 85 color 165
182 36 170 color 166
182 36 255 color 167
182 72 0 color 168
182 72 85 color 169
182 72 170 color 170
182 72 255 color 171
182 109 0 color 172
182 109 85 color 173
182 109 170 color 174
182 109 255 color 175
182 145 0 color 176
182 145 85 color 177
182 145 170 color 178
182 145 255 color 179
182 182 0 color 180
182 182 85 color 181
182 182 170 color 182
182 182 255 color 183
182 218 0 color 184
182 218 85 color 185
182 218 170 color 186
182 218 255 color 187
182 255 0 color 188
182 255 85 color 189
182 255 170 color 190
182 255 255 color 191
218 0 0 color 192
218 0 85 color 193
218 0 170 color 194
218 0 255 color 195
218 36 0 color 196
218 36 85 color 197
218 36 170 color 198
218 36 255 color 199
218 72 0 color 200
218 72 85 color 201
218 72 170 color 202
218 72 255 color 203
218 109 0 color 204
218 109 85 color 205
218 109 170 color 206
218 109 255 color 207
218 145 0 color 208
218 145 85 color 209
218 145 170 color 210
218 145 255 color 211
218 182 0 color 212
218 182 85 color 213
218 182 170 color 214
218 182 255 color 215
218 218 0 color 216
218 218 85 color 217
218 218 170 color 218
218 218 255 color 219
218 255 0 color 220
218 255 85 color 221
218 255 170 color 222
218 255 255 color 223
255 0 0 color 224
255 0 85 color 225
255 0 170 color 226
255 0 255 color 227
255 36 0 color 228
255 36 85 color 229
255 36 170 color 230
255 36 255 color 231
255 72 0 color 232
255 72 85 color 233
255 72 170 color 234
255 72 255 color 235
255 109 0 color 236
255 109 85 color 237
255 109 170 color 238
255 109 255 color 239
255 145 0 color 240
255 145 85 color 241
255 145 170 color 242
255 145 255 color 243
255 182 0 color 244
255 182 85 color 245
255 182 170 color 246
255 182 255 color 247
255 218 0 color 248
255 218 85 color 249
255 218 170 color 250
255 218 255 color 251
255 255 0 color 252
255 255 85 color 253
255 255 170 color 254
255 255 255 color 255

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

504
base.css Normal file
View file

@ -0,0 +1,504 @@
@import url(fonts/muller/muller.css);
/* OUTER */
* { box-sizing: border-box; }
html, body {
min-height: 100vh;
scrollbar-gutter: stable;
}
html {
font-family: Muller, sans-serif;
font-size: large;
font-weight: 500;
background: var(--gradient);
color: black;
--gradient:
linear-gradient(120deg, #fae58f, #fab6ba, #d1aeff, #89d6ff, #43f3ae);
}
body { margin: 0; }
@media (prefers-color-scheme: dark) {
html {
--gradient:
linear-gradient(20deg,
hsl(300deg 30% 20%),
hsl(220deg 30% 20%),
hsl(150deg 30% 20%),
hsl(30deg 30% 20%),
hsl(350deg 30% 20%));
color: #ffd;
}
}
/* TOP MENU */
#face-menu { place-self: center; }
.menu input, .menu label {
cursor: pointer;
}
.menu {
display: flex;
place-content: center;
place-items: center;
margin: auto;
padding: 0;
font-size: 125%;
font-weight: 500;
background: hsl(var(--menu-bg-hsl) / 50%);
border: 2px solid hsl(var(--menu-bg-hsl));
box-shadow: 0 0 10px 5px hsl(var(--menu-bg-hsl) / 30%);
--menu-bg-hsl: 60deg 100% 96%;
}
@media (prefers-color-scheme: dark) {
.menu { --menu-bg-hsl: 260deg 100% 8%; }
}
.hide-boxes input {
appearance: none;
width: 0;
margin: 0;
padding: 0;
}
.menu li {
display: flex;
list-style: none;
}
.menu label {
padding: .25em 1.25em;
}
.menu :checked + label {
font-weight: 700;
}
.menu label { position: relative; }
.menu label::after {
content: ' ';
z-index: -1;
position: absolute;
inset: 0 0 100% 0;
background: hsl(var(--menu-bg-hsl));
transition: inset .15s linear;
}
.menu :checked + label::after {
bottom: 0;
}
/* BASE FACE STYLES */
#cube > section {
--base-background:
repeating-linear-gradient(var(--bg-angle),
transparent, transparent 0.8em,
#fff8 0.8em, #fff8 1em),
linear-gradient(150deg,
hsl(var(--hue) 86% 94%),
hsl(var(--hue) 66% 82%)
);
background: var(--base-background);
border: 10px solid white;
padding: 2em;
color: hsl(var(--hue) 40% 10%);
--text-shadow-color: white;
text-shadow:
1px 1px 1px var(--text-shadow-color),
-1px 1px 1px var(--text-shadow-color),
-1px -1px 1px var(--text-shadow-color),
1px -1px 1px var(--text-shadow-color);
scrollbar-color:
hsl(calc(var(--hue) + 180deg) 90% 60%)
hsl(var(--hue) 50% 95%);
}
#cube a {
color: hsl(calc(var(--hue) + 180deg) 90% 20%);
font-weight: 600;
text-decoration: none;
}
#cube a:hover {
text-decoration: underline;
text-decoration-style: dotted;
text-decoration-color: currentcolor;
text-decoration-thickness: 2px;
}
h2 { margin-top: 0; }
h3 {
text-align: center;
margin-bottom: 0.25em;
}
strong { font-weight: 700; }
#cube section ::selection {
color: white;
background: hsl(calc(var(--hue) + 180deg), 50%, 30%);
text-shadow: none;
}
@media (prefers-color-scheme: dark) {
#cube > section {
--base-background:
repeating-linear-gradient(var(--bg-angle),
transparent, transparent 0.8em,
#0014 0.8em, #0014 1em),
linear-gradient(150deg,
hsl(var(--hue) 40% 30%),
hsl(var(--hue) 40% 15%)
);
border-color: hsl(var(--hue) 40% 10%);
color: hsl(var(--hue) 40% 90%);
--text-shadow-color: black;
}
#cube a {
color: hsl(calc(var(--hue) + 180deg) 100% 85%);
}
}
/* SPECIFIC FACE STYLES */
/* the separate "#whatever ::selection" selector is because in
* chrome, ::selection doesn't inherit variables */
#hello, #hello ::selection {
--hue: 310deg;
--bg-angle: 135deg;
}
/* extra #cube selector for specificity */
#cube #hello {
--bg-image: url(media/wave.png);
background:
var(--bg-image) bottom right / auto 60% no-repeat,
var(--base-background);
}
@media (prefers-color-scheme: dark) {
#cube #hello { --bg-image: url(media/wave-neon.png); }
}
#id, #id ::selection, #flags img {
--hue: 10deg;
--bg-angle: 45deg;
}
#id dl {
display: grid;
grid-template-columns: min-content auto;
gap: 1em 2em;
}
#id dt { font-weight: 600; }
#id dd { margin: 0; }
#id dd a { font-weight: 700; }
#id dl ul {
padding-left: 1em;
list-style: '❧ ';
}
#flags {
display: flex;
flex-flow: wrap;
justify-content: center;
gap: 1em;
margin-top: 3em;
}
#flags img {
height: 2em;
border: 2px solid hsl(var(--hue) 30% 5% / 60%);
}
#activities, #activities ::selection {
--hue: 70deg;
--bg-angle: -60deg;
}
#cube #activities {
/* height of quobl.png is 58% of width */
--bg-image: url(media/quobl.png);
background:
var(--bg-image) bottom left 2ex / 50% auto no-repeat local,
var(--base-background);
padding-bottom: 29%;
}
@media (prefers-color-scheme: dark) {
#cube #activities {
--bg-image: url(media/quobl-neon.png);
}
}
#links, #links ::selection {
--hue: 130deg;
--bg-angle: 210deg;
}
#links ul {
padding: 0;
width: 100%;
display: flex;
flex-wrap: wrap;
gap: 4px;
}
#links li {
flex: 1 0 10em;
list-style: none;
--icon-bg: var(--fg);
}
#links a {
height: 3em;
padding-left: calc(3em + 1ex);
display: flex;
align-items: center;
border: 2px solid black;
background:
linear-gradient(to right, transparent 3em, var(--bg) 3em),
var(--icon) calc(1.5em - 16px) center / 32px auto no-repeat,
var(--icon-bg);
color: var(--fg);
text-shadow: none;
}
#links a:hover { text-decoration: none; }
#links #gallery {
--icon: url(media/niss-icon.png);
--fg: hsl(280deg 38% 43%);
--bg: hsl(100deg 99% 81%);
image-rendering: pixelated;
}
#links #code {
--icon: url(media/forgejo.svg);
--fg: white;
--icon-bg: #171e26;
--bg: #c2410c;
}
#links #blog {
--icon: url(media/blog.png);
--fg: #ffeebb;
--bg: #332255;
/* image-rendering: pixelated; */
}
#links #blog a {
background-position: center, left calc(1.5em - 51px) center, center;
background-size: contain;
}
#links #itaku {
--icon: url(media/itaku.svg);
--fg: #ffeb3b;
--bg: #303030;
}
#links #weasyl {
--icon: url(media/weasyl.svg);
--fg: white;
--bg: #970000;
}
#links #fa {
--icon: url(media/furaffinity.png);
--icon-bg: #20242a;
--bg: #353b45;
--fg: white;
}
#links #da {
--icon: url(media/deviantart.png);
--icon-bg: #000608;
--bg: #314537;
--fg: #e7ede4;
}
#links #kofi {
--icon: url(media/ko-fi.webp);
--icon-bg: #def3ff;
--bg: white;
--fg: #ff5966;
}
#links #artfight {
--icon: url(media/artfight.png);
--icon-bg: #222222;
--bg: #a65178;
--fg: white;
}
#links #chitter {
--icon: url(media/chitter.png);
--bg: #582c58;
--icon-bg: #2c162c;
--fg: white;
}
#links #cohost {
--icon: url(media/cohost.svg);
--bg: #ffab5c;
--icon-bg: #83254f;
--fg: black;
}
#links #bluesky {
--icon: url(media/bluesky.svg);
--bg: #161e27;
--fg: white;
}
@media (prefers-color-scheme: dark) {
/* most link colours are fine in both modes. except: */
#links #gallery {
--icon-bg: hsl(280deg 42% 30%);
--bg: hsl(280deg 38% 43%);
--fg: hsl(100deg 99% 81%);
}
#links #weasyl {
--icon-bg: #252d32;
}
#links #kofi {
--icon-bg: #2b3a44;
--bg: #192025;
--fg: #dce7eb;
}
#links #bluesky {
--bg: #161e27;
--icon-bg: #1e2936;
--fg: white;
}
}
#friends, #friends ::selection {
--hue: 190deg;
--bg-angle: 300deg;
}
#cube #friends {
display: grid;
grid: "hdr" min-content
"links1" auto
"links2" auto
"buttons" auto;
}
#friends img { image-rendering: pixelated; }
#friendlinks, #otherlinks { align-self: start; }
#friendlinks ul, #otherlinks ul {
list-style: none;
padding: 0;
display: flex;
width: 80%;
margin: 0 auto;
align-items: start;
gap: 4px;
justify-content: center;
flex-wrap: wrap;
}
#friendlinks img, #otherlinks img {
width: 88px;
height: 31px;
object-fit: none;
}
#friends .txt {
display: inline-block;
width: 88px;
height: 31px;
border: 3px outset currentcolor;
text-align: center;
line-height: 28px;
font-size: 18px;
font-weight: 600;
text-shadow: none;
}
#friends a:hover { text-decoration: none; }
#friends #khr a { background: #ffab71; color: #71153e; }
#friends #dusty a { background: #fbd265; color: #805c2d; }
#friends #ionchy a { background: #feca2f; color: #1b1505; }
#friends #tenna a { background: #6095da; color: #243224; }
#friends #river a { background: #98d8e7; color: #d67d28; }
#friends #spiral a { background: #ef4d5a; color: #1f1f1f; }
#friends #codl a { background: #87261f; color: #edb970; }
#friends #violet a { background: #8c2bd8; color: #dddddd; }
#friends #abyss a { background: #1e2e5f; color: #f8e1c2; }
#nissbuttons {
align-self: end;
display: flex;
align-items: center;
justify-content: center;
gap: 1em;
}
#nissbuttons * { margin: 0; }
#six, #six ::selection {
--hue: 250deg;
--bg-angle: 130deg;
}
#cube #six {
--bg-image: url(media/kesi.png);
background:
var(--bg-image) bottom right / 100% auto no-repeat,
var(--base-background);
}
@media (prefers-color-scheme: dark) {
#cube #six {
--bg-image: url(media/kesi-neon.png);
}
}
.zoom * { transition: all 0.25s ease-in; }
.zoom > :hover {
scale: 125%;
filter: drop-shadow(4px 4px 5px rgb(0 0 0 / 60%));
}
.zoom > :hover:nth-child(5n) { rotate: 17deg; }
.zoom > :hover:nth-child(5n+1) { rotate: -12deg; }
.zoom > :hover:nth-child(5n+2) { rotate: 8deg; }
.zoom > :hover:nth-child(5n+3) { rotate: -23deg; }
.zoom > :hover:nth-child(10n+4) { rotate: 26deg; }
.zoom > :hover:nth-child(10n+9) { rotate: -6deg; }

60
cube.css Normal file
View file

@ -0,0 +1,60 @@
body {
display: grid;
grid-template-rows: 5em 1fr 5em;
perspective: 440vw;
perspective-origin: 50% 120%;
}
/* CUBE ASSEMBLY */
/* the rest is in cube.ts */
html {
--side: min(65vh, 70vw);
--half: calc(var(--side) * .5);
--nhalf: calc(0em - var(--half));
--breathe: calc(var(--side) * .1);
}
/* cube shadow */
html {
background:
radial-gradient(circle, hsl(330deg 40% 40% / 70%), transparent 58%),
var(--gradient);
background-blend-mode: multiply;
}
#outer {
--transform-origin: 50% 50% calc(var(--nhalf) - min(6vh, 6vw));
}
#outer, #cube {
transform-style: preserve-3d;
transform-origin: var(--transform-origin);
width: calc(var(--side) + 10vw);
height: calc(var(--side) + 10vh);
margin: auto;
}
#cube {
position: relative;
}
#cube > section {
position: absolute;
inset: 5vh 5vw;
overflow: auto;
transform-origin: var(--transform-origin);
transform: var(--base-transform);
overscroll-behavior: contain;
}
@supports (scrollbar-color: pink orange) { /* safari detector */
#cube:not([data-moving]) > section {
animation: breathe 9s infinite ease-in-out;
}
}
@keyframes breathe {
35% { transform: translateZ(var(--breathe)) var(--base-transform); }
}

257
cube.ts Normal file
View file

@ -0,0 +1,257 @@
type Face = 'front' | 'top' | 'back' | 'bottom' | 'left' | 'right';
type Pane = 'hello' | 'id' | 'activities' | 'links' | 'friends' | 'six';
const panes: Pane[] = ['hello', 'id', 'activities', 'links', 'friends', 'six'];
/**
* - for front, left, right: up is up
* - for back: up is down (lol)
* - for top: up is away from you
* - for bottom: up is towards you
*/
type Orientation = 'up' | 'left' | 'down' | 'right';
type Place = [Face, Orientation];
function table<A extends string, B = A>(m: Record<A, B>): (x: A) => B {
return x => m[x];
}
const doCwO =
table<Orientation>({up: 'right', right: 'down', down: 'left', left: 'up'});
const doCcwO =
table<Orientation>({up: 'left', left: 'down', down: 'right', right: 'up'});
type Direction = 'up' | 'left' | 'down' | 'right';
type Rotation = 'cw' | 'ccw';
type Movement = Direction | Rotation;
// if you rotate the cube "up" (along the x axis), face f becomes up(f)
// et cetera
const faceMoves: Record<Movement, (f: Face) => Face> = {
up: table({
front: 'top', top: 'back', back: 'bottom',
bottom: 'front', left: 'left', right: 'right'
}),
down: table({
front: 'bottom', top: 'front', back: 'top',
bottom: 'back', left: 'left', right: 'right'
}),
left: table({
front: 'left', top: 'top', back: 'right',
bottom: 'bottom', left: 'back', right: 'front'
}),
right: table({
front: 'right', top: 'top', back: 'left',
bottom: 'bottom', left: 'front', right: 'back'
}),
cw: table({
front: 'front', back: 'back', left: 'top',
right: 'bottom', top: 'right', bottom: 'left'
}),
ccw: table({
front: 'front', back: 'back', left: 'bottom',
right: 'top', top: 'left', bottom: 'right'
})
};
const orientationMoves:
Record<Movement, (f: Face, o: Orientation) => Orientation> =
{
up(f, o) {
switch (f) {
case 'left': return doCcwO(o);
case 'right': return doCwO(o);
default: return o;
}
},
down(f, o) {
switch (f) {
case 'left': return doCwO(o);
case 'right': return doCcwO(o);
default: return o;
}
},
left(f, o) {
switch (f) {
case 'top': return doCwO(o);
case 'bottom': return doCcwO(o);
case 'left':
case 'back': return doCwO(doCwO(o));
default: return o;
}
},
right(f, o) {
switch (f) {
case 'top': return doCcwO(o);
case 'bottom': return doCwO(o);
case 'right':
case 'back': return doCcwO(doCcwO(o));
default: return o;
}
},
cw(f, o) { return f == 'back' ? doCcwO(o) : doCwO(o); },
ccw(f, o) { return f == 'back' ? doCwO(o) : doCcwO(o); }
};
function applyMoves([f, o]: Place, ms: Movement[]): Place {
for (const m of ms) {
o = orientationMoves[m](f, o);
f = faceMoves[m](f);
}
return [f, o];
}
const toFront = table<Face, Direction[]>({
front: [], top: ['down'], back: ['left', 'left'],
bottom: ['up'], left: ['right'], right: ['left']
});
const toUpright = table<Orientation, Rotation[]>({
up: [], left: ['cw'], down: ['cw', 'cw'], right: ['ccw']
});
function toFrontUpright([f, o]: Place): [Direction[], Rotation[]] {
const directions = toFront(f);
const rotations = toUpright(applyMoves([f, o], directions)[1]);
return [directions, rotations];
}
const movementToTransform = table<Movement, string>({
up: 'rotateX(.25turn)', down: 'rotateX(-.25turn)',
left: 'rotateY(-.25turn)', right: 'rotateY(.25turn)',
cw: 'rotateZ(.25turn)', ccw: 'rotateZ(-.25turn)'
});
function movementsToTransform(ms: Movement[]) {
return ms.map(movementToTransform).join(' ');
}
const faceToTransform = table<Face, string>({
front: '', top: 'rotateX(.25turn)',
back: 'rotateX(.5turn)', bottom: 'rotateX(-.25turn)',
left: 'rotateY(-.25turn)', right: 'rotateY(.25turn)'
});
const orientationToTransform = table<Orientation, string>({
up: '', left: 'rotateZ(-.25turn)',
down: 'rotateZ(-.5turn)', right: 'rotateZ(.25turn)'
});
function toTransform(f: Face, o: Orientation): string {
const ft = faceToTransform(f);
const ot = orientationToTransform(o);
return ft || ot ? `${ft} ${ot}` : 'none';
}
type Conf = Record<Pane, Place>;
// the back face is 'down' so it has the same visual orientation as other side faces
let current: Conf = {
hello: ['front', 'up'], id: ['left', 'up'],
activities: ['back', 'down'], links: ['right', 'up'],
friends: ['bottom', 'up'], six: ['top', 'up'],
};
function applyConfiguration(): void {
for (const pane of panes) {
const element = document.getElementById(pane)!;
const [face, ori] = current[pane];
element.style.setProperty('--base-transform', toTransform(face, ori));
element.style.pointerEvents = face == 'front' ? 'auto' : 'none';
}
}
function move(c: Conf, ...ms: Movement[]): Conf {
let res: Partial<Conf> = {};
for (const p of panes) { res[p] = applyMoves(c[p], ms) }
return res as Conf;
}
function animateMoveWith(ds: Direction[], rs: Rotation[]): void {
const outer = document.getElementById('outer')!;
const cube = document.getElementById('cube')!;
cube.dataset.moving = 'true';
cube.style.transition = '0.4s cubic-bezier(.4, -0.29, .43, 1.26)';
outer.style.transition = `0.4s 0.25s cubic-bezier(.48, 0, .44, 1.07)`;
function transitionListener(elem: HTMLElement): () => void {
function handler(e: Event) {
if (e.target == elem) { finish(); }
}
elem.addEventListener('transitionend', handler);
return () => elem.removeEventListener('transitionend', handler);
}
let removeOuter = () => {};
let removeCube = () => {};
if (rs.length > 0) {
removeOuter = transitionListener(outer);
cube.style.transform = movementsToTransform(ds);
outer.style.transform = movementsToTransform(rs);
} else if (ds.length > 0) {
removeCube = transitionListener(cube);
cube.style.transform = movementsToTransform(ds);
} else {
finish();
}
function finish() {
removeOuter(); removeCube();
outer.style.transition = cube.style.transition =
outer.style.transform = cube.style.transform = 'none';
delete cube.dataset.moving;
current = move(current, ...ds, ...rs);
applyConfiguration();
}
}
function animateMoveTo(pane: Pane): void {
const [ds, rs] = toFrontUpright(current[pane]);
animateMoveWith(ds, rs);
history.replaceState(null, '', `#${pane}`);
}
function setup(): void {
for (const pane of panes) {
const box = document.getElementById(`b-${pane}`) as HTMLInputElement;
box.addEventListener('change', () => {
if (box.checked) { animateMoveTo(pane); }
});
if (location.hash == `#${pane}`) {
current = move(current, ...toFrontUpright(current[pane]).flat());
box.checked = true;
}
}
applyConfiguration();
}
document.addEventListener('DOMContentLoaded', setup);
/*
function LEFT() { animateMoveWith(['left'], []); }
function RIGHT() { animateMoveWith(['right'], []); }
function UP() { animateMoveWith(['up'], []); }
function DOWN() { animateMoveWith(['down'], []); }
function CW() { animateMoveWith([], ['cw']); }
function CCW() { animateMoveWith([], ['ccw']); }
*/
export {};

55
id.html
View file

@ -1,55 +0,0 @@
<!doctype html>
<html lang=en>
<meta charset=utf-8>
<link rel=icon href=media/icon.svg>
<link rel=stylesheet href=style/id.css>
<title>identity matrix</title>
<main>
<h1>identity matrix</h1>
<hr>
<dl>
<dt>name
<dd>
<ul>
<li> <b>niss</b> or <b>q.t.</b>
<li> <b>rhiannon</b>/<b>rhi</b> when necessary
<li> always lowercase
</ul>
<dt>pronouns
<dd>
<ul>
<li> <b>she</b>, <b>they</b>, or <b>it</b> in english. pick whichever
<li> <b>sie</b> auf deutsch
</ul>
<dt>shapes
<dd>
<ul>
<li>
<a href=https://gallery.niss.website/by-any/#require_niss;require_nisse;hide_filters>gold dust day gecko</a> ×2,
from “real life”
<li><a href=https://gallery.niss.website/by-any/#require_q_t_;hide_filters>quox</a>,
from the tower of druaga
<li><a href=https://gallery.niss.website/by-any/#require_kesi;hide_filters>bubble dragon</a>, from bubble bobble
<li>some others that come and go
</ul>
</dl>
<ul class=flags>
<li> <img src=media/flags/nb.png alt=non-binary title=non-binary>
<li> <img src=media/flags/gf.png alt=genderfluid title=genderfluid>
<li> <img src=media/flags/pan.png alt=pansexual title=pansexual>
<li> <img src=media/flags/quoi.png alt=quoiromantic title=quoiromantic>
<li> <img src=media/flags/polyam.png alt=polyamorous title=polyamorous>
</ul>
<footer>
<a href=/>main</a>
</footer>
</main>

View file

@ -1,41 +1,326 @@
<!doctype html> <!doctype html>
<html lang=en> <html lang=en>
<meta charset=utf-8> <meta charset=utf-8>
<meta name=viewport content="width=device-width, initial-scale=0.7">
<link rel=me href=//chitter.xyz/@niss> <title>the gec zone</title>
<link rel=me href=//cohost.org/niss>
<link rel=me href=//yiff.life/@niss>
<link rel=stylesheet href=style/index.css> <link rel=me href=https://chitter.xyz/@niss>
<link rel=icon href=media/icon.svg> <link rel=me href=https://cohost.org/niss>
<title>🦎 the gec zone 🦎</title>
<main>
<header id=mlem>
<p class='mlem-text niss'>“mlem”</p>
<p class='mlem-text nisse'>“mlem also”</p>
<picture>
<source srcset=media/mlem_static.png class=pixel
media='(prefers-reduced-motion)'>
<img src=media/mlem.gif class=pixel alt='— the gecs'>
</picture>
</header>
<hr>
<menu id=links>
<li> <a href=id><img src=media/info.svg alt=''> identity</a>
<li> <a href=where><img src=media/contact.svg alt=''> contact</a>
<li> <a href=//gallery.niss.website><img src=media/art.svg alt=''> art</a>
<li> <a href=//commiss.io/niss><img src=media/money.svg alt=''> comms</a>
<li> <a href=//git.rhiannon.website><img src=media/code.svg alt=''> code</a>
<li> <a href=//lang.niss.website><img src=media/speech.svg alt=''> conlangs</a>
<li> <a href=links><img src=media/globe.svg alt=''> links</a>
</menu>
</main>
<link rel=icon href=media/niss-icon.png>
<link rel=stylesheet href=base.css>
<link rel=stylesheet href=cube.css
media='(prefers-reduced-motion: no-preference)'>
<!-- <!--
mutant standard emoji by caius nocturne: 👉 mutant.tech 👈 <link rel=stylesheet href=flat.css media='(prefers-reduced-motion)'>
(licensed cc-by-nc-sa 4.0) -->
<meta property=og:type content=article>
<meta property=og:title content="the gec zone">
<meta property=og:description content="lair of the creature known as “niss”">
<meta property=og:url content="https://yummy.cricket">
<!--
<meta property=og:image content="XXXXXX">
<meta name=twitter:card content=summary_large_image>
<meta name=twitter:image content="XXXXXX">
-->
<script src=cube.js type=module></script>
<script src=shuffle.js type=module></script>
<nav id=face-menu>
<menu class='menu hide-boxes'>
<li> <input name=tab id=b-hello type=radio checked>
<label for=b-hello>hello</label>
<li> <input name=tab id=b-id type=radio>
<label for=b-id>id</label>
<li> <input name=tab id=b-activities type=radio>
<label for=b-activities>activities</label>
<li> <input name=tab id=b-links type=radio>
<label for=b-links>links</label>
<li> <input name=tab id=b-friends type=radio>
<label for=b-friends>friends</label>
<li> <input name=tab id=b-six type=radio>
<label for=b-six>tbd</label>
</menu>
</nav>
<div id=outer>
<div id=cube>
<section id=hello>
<h2> hey </h2>
<p> im niss. whats up
</section>
<section id=id>
<h2> so whats your deal </h2>
<dl>
<dt>name
<dd>
<ul>
<li> <b>niss</b> or <b>q.t.</b>
<li> always lowercase
</ul>
<dt>pronouns
<dd>
<ul>
<li> <b>she</b>, <b>they</b>, or <b>it</b> in english. pick whichever
<li> <b>sie</b> auf deutsch
</ul>
<dt>shapes
<dd>
<ul>
<li><a href=https://gallery.niss.website/by-any/#gecs>gold dust day gecko</a>
×2, from “real life”
<li><a href=https://gallery.niss.website/by-any/#qt>quox</a>,
from the tower of druaga
<li><a href=https://gallery.niss.website/by-any/#kesi>bubble dragon</a>,
from bubble bobble
<li>some others that come and go
</ul>
</dl>
<div id=flags>
<img src=media/flags/nb.png alt=non-binary title=non-binary>
<img src=media/flags/gf.png alt=genderfluid title=genderfluid>
<img src=media/flags/pan.png alt=pansexual title=pansexual>
<img src=media/flags/quoi.png alt=quoiromantic title=quoiromantic>
<img src=media/flags/polyam.png alt=polyamorous title=polyamorous>
</div>
</section>
<section id=activities>
<h2> what do you do </h2>
<p> <strong>i draw furry art!</strong> you can see that
<a href=https://gallery.niss.website>here</a>. i enjoy creatures with
weird body plans. if you want me to draw you something then
<a href=https://commiss.io/niss>please step this way</a>
<p> <strong>i like type systems!</strong> im slowly working on a language
called <strong>quox</strong>, which lives
<a href=https://git.rhiannon.website/rhi/quox>here</a>.
i havent got around to making a website for it yet
<p> <strong>i like conlangs!</strong> i have a couple
<a href=https://lang.niss.website>here</a>. they are extremely
“conlangers notes” quality, which means incomplete and incomprehensible
to anyone other than their author
<p> im sure theres other stuff but talking about yourself is hard
</section>
<section id=links>
<h2> where else do you exist </h2>
<section id=gecsites>
<h3> gec sites </h3>
<ul class=zoom>
<li id=gallery> <a href=https://gallery.niss.website>gallery</a>
<li id=code> <a href=https://git.rhiannon.website>code</a>
<li id=blog> <a href=https://blog.niss.website>blog</a>
</ul>
</section>
<section id=galleries>
<h3> gallery sites </h3>
<ul class=zoom>
<li id=itaku> <a href=https://itaku.ee/profile/niss>itaku</a>
<li id=weasyl> <a href=https://www.weasyl.com/~niss>weasyl</a>
<li id=fa> <a href=https://furaffinity.net/user/niss>furaffinity</a>
<li id=da> <a href=https://www.deviantart.com/2gecs>deviantart</a>
<li id=kofi> <a href=https://ko-fi.com/nissss>ko-fi</a>
<!-- <li id=artfight> <a href=https://artfight.net/~nissss>art fight</a> -->
</ul>
</section>
<section id=sociallinks>
<h3> other stuff </h3>
<ul class=zoom>
<li id=chitter> <a href=https://chitter.xyz/@niss>fediverse</a>
<!-- <li id=cohost> <a href=https://cohost.org/niss>cohost</a> -->
<li id=bluesky> <a href=https://niss.yummy.cricket>bluesky</a>
</ul>
</section>
</section>
<section id=friends>
<h2> more websites please </h2>
<section id=friendlinks>
<h3> friends of gecs </h3>
<!-- btw unless i say otherwise, all these buttons are made by
who they link to -->
<ul class='zoom shuffle'>
<li id=dino>
<a href=https://flussence.eu title=dino>
<img src=media/buttons/dino.png alt=dino>
</a>
<li id=goaty>
<a href=https://goatygoats.com title=goaty>
<img src=media/buttons/goaty.gif alt=goaty>
</a>
<li id=tenna>
<a href=https://tenna.zip title=tenna class=txt>tenna</a>
<li id=gulfie>
<a href=https://gulfie.online title=gulfie>
<img src=media/buttons/gulfie.png alt=gulfie>
</a>
<li id=river>
<a href=https://sleepingriverden.neocities.org
title=river class=txt>river</a>
<li id=khr>
<a href=https://khr.monster title=khr class=txt>khr</a>
<li id=codl>
<a href=https://codl.fr title=codl class=txt>codl</a>
<li id=myno>
<a href=https://zatzhing.me title=myno>
<img src=media/buttons/myno.gif alt=myno>
</a>
<li id=abyss>
<a href=https://kobold60.com title=abyss class=txt>abyss</a>
<li id=cr>
<a href=https://candiedreptile.club/bloglet/ title=candiedreptile>
<img src=media/buttons/candiedreptile.gif alt=candiedreptile>
</a>
<li id=spiral>
<a href=https://spiralcyr.carrd.co title=spiral class=txt>spiral</a>
<li id=dex>
<a href=https://dexthedragon.co.uk title=dex>
<img src=media/buttons/dex.png alt=dex>
</a>
<li id=pebble>
<a href=https://pebble.pet title=pebble>
<img src=media/buttons/pebble.gif alt=pebble>
</a>
<li id=beeps>
<a href=https://beeps.website title=beeps>
<img src=media/buttons/beeps.gif alt=beeps>
</a>
<li id=cobalt>
<a href=https://cobaltblue.neocities.org title=cobalt>
<img src=media/buttons/cobalt.png alt=cobalt>
</a>
<li id=grace>
<a href=https://princess.software title=grace>
<img src=media/buttons/grace.png alt=grace>
</a>
<li id=dusty>
<a href=https://chcl.se title=dusty>
<img src=media/buttons/dusty.gif alt=dusty>
</a>
<li id=tsunderdog>
<a href=https://www.tsunderdog.art title=tsunderdog>
<img src=media/buttons/tsunderdog.gif alt=tsunderdog>
</a>
<li id=ionchy>
<a href=https://ionathan.ch title=ionchy class=txt>ionchy</a>
<li id=cial>
<a href=http://www.demon-sushi.com title=cial>
<img src=media/buttons/inhuman.png alt=cial>
</a>
<li id=tuxedodragon>
<a href=https://tuxedodragon.art title=tuxedodragon>
<img src=media/buttons/tuxedodragon.gif alt=tuxedodragon>
</a>
<li id=hthrflwrs>
<a href=https://heather.flowers title=hthrflwrs>
<img src=media/buttons/hthrflwrs.png alt=hthrflwrs>
</a>
<li id=creature0354>
<a href=https://creature0354.neocities.org title=creature0354>
<img src=media/buttons/creature0354.gif alt=creature0354>
</a>
<li id=violet>
<a href=https://violet.pm title=violet class=txt>violet</a>
</ul>
</section>
<section id=otherlinks>
<h3> other cool things </h3>
<ul class='zoom shuffle'>
<li>
<a href=https://cohost.org id=cohost-button title='i was on cohost'>
<img src=media/buttons/cohost.gif alt='i was on cohost'>
<!-- button by https://mykocalico.neocities.org/ -->
</a>
<li>
<a href=https://oakreef.ie/transy id=transy title='transy!'>
<img src=media/buttons/transy.gif alt='transy!'>
</a>
<li>
<a href=https://cdrom.ca id=cdromca title='cd-rom journal'>
<img src=media/buttons/cdromca.png alt='cd-rom journal'>
<!-- button by https://candiedreptile.club -->
</a>
<li>
<a href=https://corru.observer id=corru title='corru.observer'>
<img src=media/buttons/corru.gif alt='corru.observer'>
</a>
<li>
<a href=https://krita.org id=krita title='krita'>
<img src='media/buttons/krita.png' alt=krita>
</a>
</ul>
</section>
<section id=nissbuttons>
<p> niss buttons for you → </p>
<img src=8831.png alt='niss button' title='by me'>
<img src=8831-quox.png alt='q.t. button' title='by candiedreptile'>
</section>
</section>
<section id=six>
<h2> a sixth thing </h2>
<p> <a href=http://crouton.net>wow</a>
</section>
</div>
</div>
<!-- not set up yet sorry
<footer>
<input type=checkbox id=no-cube>
<label for=no-cube> no cube please </label>
</footer>
--> -->

View file

@ -1,113 +0,0 @@
<!doctype html>
<html lang=en>
<meta charset=utf-8>
<link rel=icon href=/media/icon.svg>
<link rel=stylesheet href=style/links.css>
<title>links for lizards</title>
<main>
<header>
<h1>links for lizards</h1>
</header>
<h2>more animals</h2>
<div class=buttons>
<a href=https://flussence.eu id=dino title=dino>
<img src=/media/buttons/dino.png alt=dino>
</a>
<a href=https://goatygoats.com id=goaty title=goaty>
<img src=/media/buttons/goaty.gif alt=goaty>
</a>
<a href=https://tenna.site id=tenna title=tenna class=txt>tenna</a>
<a href=https://violet.pm id=violet title=violet class=txt>violet</a>
<a href=https://gulfie.online id=gulfie title=gulfie>
<img src=/media/buttons/gulfie.png alt=gulfie>
</a>
<a href=https://sleepingriverden.neocities.org/
id=river title=river class=txt>river</a>
<a href=https://khr.monster id=khr title=khr class=txt>khr</a>
<a href=https://codl.fr id=codl title=codl class=txt>codl</a>
<a href=https://zatzhing.me id=myno title=myno>
<img src=/media/buttons/myno.gif alt=myno>
</a>
<a href=https://candiedreptile.club/bloglet/ id=cr title=candiedreptile>
<img src=/media/buttons/candiedreptile.gif alt=candiedreptile>
</a>
<a href=https://spiralcyr.carrd.co id=spiral title=spiral class=txt>
spiral</a>
<a href=https://dexthedragon.co.uk id=dex title=dex>
<img src=/media/buttons/dex.png alt=dex>
</a>
<a href=https://pebble.pet id=pebble title=pebble>
<img src=/media/buttons/pebble.gif alt=pebble>
</a>
<a href=https://beeps.website id=beeps title=beeps>
<img src=/media/buttons/beeps.gif alt=beeps>
</a>
<a href=https://cobaltblue.neocities.org id=cobalt title=cobalt>
<img src=/media/buttons/cobalt.png alt=cobalt>
</a>
<a href=https://princess.software id=grace title=grace>
<img src=/media/buttons/grace.png alt=grace>
</a>
<a href=https://chcl.se id=dusty title=dusty>
<img src=/media/buttons/dusty.gif alt=dusty>
</a>
<a href=https://www.tsunderdog.art/ id=tsunderdog title=tsunderdog>
<img src=/media/buttons/tsunderdog.gif alt=tsunderdog>
</a>
<a href=https://ionathan.ch id=ionchy title=ionchy class=txt>ionchy</a>
<a href=http://www.demon-sushi.com/ id=cial title=cial>
<img src=/media/buttons/inhuman.png alt=cial>
</a>
</div>
<hr>
<div class=buttons>
<p class=button-note>
also here are mine, for you to use!
<figure>
<img src=/8831.png alt='niss button'>
<figcaption>by me</figcaption>
</figure>
<figure>
<img src=/8831-quox.png alt='q.t. button'>
<figcaption>by candiedreptile</figcaption>
</figure>
</div>
<hr>
maybe ill link to other stuff here later! but for now check out my cool
friends websites
<footer>
<a href=/>main</a>
</footer>
</main>

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.41421" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path clip-rule="evenodd" d="m0 0h32v32h-32z"/></clipPath><metadata/><path d="m0 0h32v32h-32z" fill="none"/><g clip-path="url(#a)"><circle cx="16" cy="16" r="16"/><circle cx="16" cy="16" fill="#e02a33" r="14"/><circle cx="16" cy="16" r="12"/><g fill="#fff" fill-rule="nonzero"><path d="m8.523 12.595-1.975 1.43v-2.418l1.975-1.481h2.23v11.748h-2.23z"/><path d="m16.321 22.061c-.693 0-1.311-.139-1.856-.417s-.974-.678-1.286-1.2-.468-1.124-.468-1.805v-.392c0-.533.125-1.024.375-1.472.249-.449.601-.803 1.055-1.064-.363-.216-.655-.52-.877-.911-.221-.392-.332-.843-.332-1.354v-.306c0-.579.139-1.113.418-1.601.278-.488.672-.877 1.183-1.166.511-.29 1.112-.434 1.805-.434.692 0 1.297.144 1.813.434.516.289.911.678 1.183 1.166.273.488.409 1.022.409 1.601v.306c0 .499-.114.948-.341 1.345s-.516.704-.868.92c.454.272.803.632 1.047 1.081.244.448.366.928.366 1.438v.392c0 .692-.156 1.3-.468 1.822s-.743.922-1.294 1.2c-.55.278-1.172.417-1.864.417zm.017-7.236c.386 0 .692-.128.919-.383s.341-.582.341-.979v-.323c0-.375-.117-.687-.349-.937-.233-.25-.537-.374-.911-.374-.375 0-.679.124-.911.374-.233.25-.349.562-.349.937v.323c0 .409.113.738.34.988.227.249.534.374.92.374zm0 5.346c.442 0 .797-.141 1.064-.425s.4-.664.4-1.141v-.409c0-.454-.133-.823-.4-1.106-.267-.284-.622-.426-1.064-.426-.432 0-.784.142-1.056.426-.272.283-.409.652-.409 1.106v.409c0 .465.131.843.392 1.132.261.29.619.434 1.073.434z"/><path d="m22.834 16.943h-2.073v-1.886h2.073v-2.073h1.886v2.073h2.073v1.886h-2.073v2.073h-1.886z"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.1 KiB

BIN
media/artfight.png (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.41421" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path clip-rule="evenodd" d="m0 0h32v32h-32z"/></clipPath><metadata/><path d="m0 0h32v32h-32z" fill="none"/><g clip-path="url(#a)"><path d="m29 10c0-2.209-1.791-4-4-4-5.534 0-15.466 0-21 0-2.209 0-4 1.791-4 4v12c0 2.209 1.791 4 4 4h21c2.209 0 4-1.791 4-4 0-3.486 0-8.514 0-12z"/><path d="m32 14c0-1.657-1.343-3-3-3-2.27 0-5 0-5 0v10h5c1.657 0 3-1.343 3-3 0-1.265 0-2.735 0-4z"/><path d="m30 14c0-.265-.105-.52-.293-.707-.187-.188-.442-.293-.707-.293-1.185 0-3 0-3 0v6h3c.265 0 .52-.105.707-.293.188-.187.293-.442.293-.707 0-1.11 0-2.89 0-4z" fill="#999"/><path d="m27 10c0-.53-.211-1.039-.586-1.414s-.884-.586-1.414-.586c-4.683 0-16.317 0-21 0-.53 0-1.039.211-1.414.586s-.586.884-.586 1.414v12c0 .53.211 1.039.586 1.414s.884.586 1.414.586h21c.53 0 1.039-.211 1.414-.586s.586-.884.586-1.414c0-3.074 0-8.926 0-12z" fill="#fff"/><path d="m10.08 10c0-.552-.448-1-1-1-1.339 0-3.701 0-5.04 0-.552 0-1 .448-1 1v12c0 .552.448 1 1 1h5.04c.552 0 1-.448 1-1 0-2.577 0-9.423 0-12z" fill="#e82731"/></g></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

BIN
media/bg.png (Stored with Git LFS)

Binary file not shown.

BIN
media/bg_2x.png (Stored with Git LFS)

Binary file not shown.

BIN
media/blog.png (Stored with Git LFS) Normal file

Binary file not shown.

55
media/bluesky.svg Normal file
View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
fill="none"
viewBox="0 0 64 24.733269"
width="28"
version="1.1"
id="svg4"
sodipodi:docname="bluesky.svg"
height="24.733269"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<metadata
id="metadata10">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs8" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1973"
inkscape:window-height="1080"
id="namedview6"
showgrid="false"
inkscape:zoom="20.122807"
inkscape:cx="13.874283"
inkscape:cy="10.034017"
inkscape:window-x="517"
inkscape:window-y="430"
inkscape:window-maximized="0"
inkscape:current-layer="svg4" />
<path
fill="#0085ff"
d="m 13.873,-12.094796 c 7.337,5.5269995 15.23,16.7319995 18.127,22.745 v 15.882 c 0,-0.338 -0.13,0.044 -0.41,0.867 -1.512,4.456 -7.418,21.847 -20.923,7.944 -7.1109999,-7.32 -3.8189999,-14.64 9.125,-16.85 -7.405,1.264 -15.7299999,-0.825 -18.014,-9.0150005 C 1.12,7.1222035 0,-7.3897965 0,-9.3497965 0,-19.167796 8.5790001,-16.081796 13.873,-12.094796 Z m 36.254,0 C 42.79,-6.5677965 34.897,4.6372035 32,10.650204 v 15.882 c 0,-0.338 0.13,0.044 0.41,0.867 1.512,4.456 7.418,21.847 20.923,7.944 7.111,-7.32 3.819,-14.64 -9.125,-16.85 7.405,1.264 15.73,-0.825 18.014,-9.0150005 0.658,-2.356 1.778,-16.868 1.778,-18.828 0,-9.8179995 -8.578,-6.7319995 -13.873,-2.7449995 z"
id="path2" />
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
media/butterfly.png (Stored with Git LFS)

Binary file not shown.

BIN
media/buttons/cdromca.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/cohost.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/corru.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/creature0354.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/hthrflwrs.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/krita.kra Normal file

Binary file not shown.

BIN
media/buttons/krita.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/transy.gif (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/buttons/tuxedodragon.gif (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path clip-rule="evenodd" d="m0 0h32v32h-32z"/></clipPath><metadata/><path d="m0 0h32v32h-32z" fill="none"/><g clip-path="url(#a)"><path d="m10.425 7.363c.022-1.278.484-2.545 1.372-3.56h.001c1.06-1.212 2.592-1.907 4.202-1.907s3.142.695 4.202 1.907h.001c.888 1.015 1.35 2.282 1.372 3.56.001.063.001.126 0 .189v1.811c.014.848-.165 1.701-.543 2.49 1.366-.525 2.898-.504 4.268.087 1.705.736 2.94 2.262 3.305 4.084.02.101.04.201.06.302.069.344.105.692.108 1.037h.001v2h-.001c.013 1.299-.427 2.574-1.264 3.595-1.06 1.292-2.644 2.042-4.315 2.042-.001 0-.002 0-.003 0-1.973 0-3.795-1.057-4.774-2.77l-.535-.936 1.118 6.706v2h-6v-2l1.126-6.753-.587 1.015c-.978 1.694-2.786 2.738-4.742 2.738h-.003c-1.668 0-3.249-.748-4.307-2.039-.85-1.036-1.291-2.335-1.261-3.654v-1.754c-.009-.404.026-.811.106-1.215.021-.105.042-.209.063-.314.365-1.822 1.6-3.348 3.305-4.084 1.37-.591 2.902-.612 4.268-.087-.378-.789-.557-1.642-.543-2.49v-1.811c-.001-.063-.001-.126 0-.189z" fill="none" stroke="#000" stroke-width="4"/><path d="m10.834 7.363c.227-.558.549-1.086.963-1.56h.001c1.06-1.212 2.592-1.907 4.202-1.907s3.142.695 4.202 1.907h.001c.414.474.736 1.002.963 1.56h.409v2c.019 1.099-.288 2.207-.931 3.171-.868 1.302-1.644 2.466-1.644 2.466s.417-.261 1.061-.663c1.575-.985 3.533-1.133 5.239-.397 1.494.645 2.628 1.897 3.131 3.423h.343v2h-.001c.013 1.299-.427 2.574-1.264 3.595-1.06 1.292-2.644 2.042-4.315 2.042-.001 0-.002 0-.003 0-1.973 0-3.795-1.057-4.774-2.77l-1.144-2.003 1.727 7.773v2h-6v-2l1.736-7.81-1.197 2.072c-.978 1.694-2.786 2.738-4.742 2.738h-.003c-1.668 0-3.249-.748-4.307-2.039-.85-1.036-1.291-2.335-1.261-3.654v-1.944h.343c.503-1.526 1.637-2.778 3.131-3.423 1.706-.736 3.664-.588 5.239.397.644.402 1.061.663 1.061.663s-.776-1.164-1.644-2.466c-.643-.964-.95-2.072-.931-3.171v-2z" fill="#474747"/><path d="m14.594 18.435-1.055 1.827c-.978 1.694-2.786 2.738-4.742 2.738h-.003c-1.668 0-3.249-.748-4.307-2.039-1.058-1.29-1.482-2.987-1.155-4.623.021-.105.042-.209.063-.314.365-1.822 1.6-3.348 3.305-4.084 1.706-.736 3.664-.588 5.239.397.644.402 1.061.663 1.061.663s-.776-1.164-1.644-2.466c-1.39-2.085-1.21-4.844.441-6.731h.001c1.06-1.212 2.592-1.907 4.202-1.907s3.142.695 4.202 1.907h.001c1.651 1.887 1.831 4.646.441 6.731-.868 1.302-1.644 2.466-1.644 2.466s.417-.261 1.061-.663c1.575-.985 3.533-1.133 5.239-.397 1.705.736 2.94 2.262 3.305 4.084.02.101.04.201.06.302.328 1.639-.096 3.339-1.156 4.632-1.06 1.292-2.644 2.042-4.315 2.042-.001 0-.002 0-.003 0-1.973 0-3.795-1.057-4.774-2.77l-1.005-1.759 1.588 9.529h-6z" fill="#717171"/></g></svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

BIN
media/comm-examples.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<metadata>
<rdf:RDF xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
>
<rdf:Description rdf:about="">
<dc:title>Mutant Standard emoji 2023.12</dc:title>
</rdf:Description>
<cc:work rdf:about="">
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/"/>
<cc:attributionName>Caius Nocturne</cc:attributionName>
<cc:attributionURL>http://mutant.tech/</cc:attributionURL>
</cc:work>
</rdf:RDF>
</metadata>
<rect id="envelope_with_arrow" x="0" y="0" width="32" height="32" style="fill:none;"/>
<clipPath id="_clip1">
<rect x="0" y="0" width="32" height="32"/>
</clipPath>
<g clip-path="url(#_clip1)">
<g id="outline">
<path d="M11.369,13.995l-2.495,-2.495l-0,-2.5l2.121,-2.121l3.5,3.5l-0,-8.379l3,0l-0,8.379l3.5,-3.5l2.121,2.121l0,2.5l-2.495,2.495l5.379,-0c0.53,-0 1.039,0.211 1.414,0.586c0.375,0.375 0.586,0.883 0.586,1.414c-0,3.075 -0,8.93 0,12.005c0,0.53 -0.211,1.039 -0.586,1.414c-0.375,0.375 -0.884,0.586 -1.414,0.586c-4.52,-0 -15.48,-0 -20,-0c-0.53,0 -1.039,-0.211 -1.414,-0.586c-0.375,-0.375 -0.586,-0.884 -0.586,-1.414c-0,-3.075 -0,-8.93 -0,-12.005c-0,-0.531 0.211,-1.039 0.586,-1.414c0.375,-0.375 0.884,-0.586 1.414,-0.586l5.369,-0Z" style="fill:none;stroke:#000;stroke-width:4px;"/>
</g>
<g id="emoji">
<path d="M28,15.995c0,-0.531 -0.211,-1.039 -0.586,-1.414c-0.375,-0.375 -0.884,-0.586 -1.414,-0.586c-4.52,-0 -15.48,-0 -20,-0c-0.53,-0 -1.039,0.211 -1.414,0.586c-0.375,0.375 -0.586,0.883 -0.586,1.414c-0,3.075 -0,8.93 -0,12.005c-0,0.53 0.211,1.039 0.586,1.414c0.375,0.375 0.884,0.586 1.414,0.586c4.52,-0 15.48,-0 20,-0c0.53,0 1.039,-0.211 1.414,-0.586c0.375,-0.375 0.586,-0.884 0.586,-1.414c0,-3.075 0,-8.93 0,-12.005Z" style="fill:#fff;"/>
<clipPath id="_clip2">
<path d="M28,15.995c0,-0.531 -0.211,-1.039 -0.586,-1.414c-0.375,-0.375 -0.884,-0.586 -1.414,-0.586c-4.52,-0 -15.48,-0 -20,-0c-0.53,-0 -1.039,0.211 -1.414,0.586c-0.375,0.375 -0.586,0.883 -0.586,1.414c-0,3.075 -0,8.93 -0,12.005c-0,0.53 0.211,1.039 0.586,1.414c0.375,0.375 0.884,0.586 1.414,0.586c4.52,-0 15.48,-0 20,-0c0.53,0 1.039,-0.211 1.414,-0.586c0.375,-0.375 0.586,-0.884 0.586,-1.414c0,-3.075 0,-8.93 0,-12.005Z"/>
</clipPath>
<g clip-path="url(#_clip2)">
<path d="M4,30l12,-11.559l12,11.559" style="fill:none;stroke:#ccc;stroke-width:2px;"/>
<path d="M4,13.995c-0,-0 6.595,5.864 10.007,8.897c1.136,1.011 2.85,1.011 3.986,0c3.412,-3.033 10.007,-8.897 10.007,-8.897" style="fill:#fff;stroke:#999;stroke-width:2px;"/>
</g>
<path d="M14.495,12.379l3,-0l3.5,-3.5l2.121,0.121l0,2.5l-7.121,7.121l-7.121,-7.121l-0,-2.5l2.121,-0.121l3.5,3.5Z" style="fill:#9f146a;fill-rule:nonzero;"/>
<path d="M17.495,10.379l3.5,-3.5l2.121,2.121l-7.121,7.121l-7.121,-7.121l2.121,-2.121l3.5,3.5l-0,-8.379l3,-0l-0,8.379Z" style="fill:#ec2fa4;fill-rule:nonzero;"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

BIN
media/cybre.png (Stored with Git LFS)

Binary file not shown.

BIN
media/deviantart.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/flags/agen.png (Stored with Git LFS)

Binary file not shown.

BIN
media/flags/greyace.png (Stored with Git LFS)

Binary file not shown.

27
media/forgejo.svg Normal file
View file

@ -0,0 +1,27 @@
<svg viewBox="0 0 212 212" xmlns="http://www.w3.org/2000/svg">
<style type="text/css">
circle {
fill: none;
stroke: #000;
stroke-width: 15;
}
path {
fill: none;
stroke: #000;
stroke-width: 25;
}
.orange {
stroke:#ff6600;
}
.red {
stroke:#d40000;
}
</style>
<g transform="translate(6,6)">
<path d="M58 168 v-98 a50 50 0 0 1 50-50 h20" class="orange"/>
<path d="M58 168 v-30 a50 50 0 0 1 50-50 h20" class="red"/>
<circle cx="142" cy="20" r="18" class="orange"/>
<circle cx="142" cy="88" r="18" class="red"/>
<circle cx="58" cy="180" r="18" class="red"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 671 B

BIN
media/furaffinity.png (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<metadata>
<rdf:RDF xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
>
<rdf:Description rdf:about="">
<dc:title>Mutant Standard emoji 2024.06</dc:title>
</rdf:Description>
<cc:work rdf:about="">
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/"/>
<cc:attributionName>Caius Nocturne</cc:attributionName>
<cc:attributionURL>http://mutant.tech/</cc:attributionURL>
</cc:work>
</rdf:RDF>
</metadata>
<rect id="globe" x="0" y="0" width="32" height="32" style="fill:none;"/>
<g id="outline">
<circle cx="16" cy="16" r="16"/>
</g>
<g id="emoji">
<circle cx="16" cy="16" r="14" style="fill:#c0f1fc;"/>
<circle cx="16" cy="16" r="12" style="fill:#23c2e6;"/>
<rect x="3" y="15" width="26" height="2" style="fill:#c0f1fc;"/>
<rect x="4" y="21" width="24" height="2" style="fill:#c0f1fc;"/>
<rect x="4" y="9" width="24" height="2" style="fill:#c0f1fc;"/>
<path d="M16.09,2.001c0.241,0.009 0.479,0.037 0.713,0.09c1.145,0.262 2.094,1.048 2.826,1.937c0.122,0.149 0.24,0.303 0.353,0.46c0.142,0.196 0.277,0.398 0.404,0.604c0.157,0.253 0.304,0.512 0.443,0.776c0.188,0.359 0.36,0.726 0.518,1.1c0.446,1.055 0.782,2.156 1.034,3.273c0.309,1.364 0.493,2.756 0.573,4.152c0.107,1.869 0.032,3.752 -0.244,5.603c-0.215,1.443 -0.551,2.872 -1.051,4.243c-0.161,0.439 -0.338,0.872 -0.535,1.296c-0.149,0.319 -0.308,0.632 -0.481,0.939c-0.143,0.253 -0.294,0.501 -0.456,0.743c-0.131,0.197 -0.27,0.389 -0.415,0.576c-0.116,0.149 -0.237,0.294 -0.362,0.435c-0.715,0.799 -1.625,1.482 -2.695,1.7c-0.205,0.041 -0.415,0.066 -0.625,0.071c-0.21,0.005 -0.42,-0.008 -0.628,-0.04c-0.149,-0.022 -0.296,-0.054 -0.44,-0.095c-1.145,-0.321 -2.077,-1.151 -2.794,-2.071c-0.145,-0.187 -0.284,-0.379 -0.415,-0.576c-0.162,-0.242 -0.313,-0.49 -0.456,-0.743c-0.195,-0.346 -0.373,-0.701 -0.538,-1.063c-0.194,-0.428 -0.369,-0.866 -0.527,-1.309c-0.491,-1.382 -0.82,-2.82 -1.026,-4.271c-0.256,-1.798 -0.324,-3.625 -0.22,-5.438c0.08,-1.396 0.264,-2.788 0.573,-4.152c0.252,-1.117 0.588,-2.218 1.034,-3.273c0.158,-0.374 0.33,-0.741 0.518,-1.1c0.139,-0.264 0.286,-0.523 0.443,-0.776c0.127,-0.206 0.262,-0.408 0.404,-0.604c0.113,-0.157 0.231,-0.311 0.353,-0.46c0.713,-0.866 1.631,-1.634 2.738,-1.915c0.233,-0.06 0.47,-0.093 0.71,-0.108c0.091,-0.004 0.181,-0.005 0.271,-0.004Zm-0.13,2c-0.093,0.003 -0.185,0.013 -0.277,0.031c-0.512,0.105 -0.959,0.433 -1.328,0.789c-0.406,0.391 -0.746,0.848 -1.042,1.326c-0.404,0.65 -0.73,1.347 -1.003,2.061c-0.379,0.987 -0.657,2.011 -0.862,3.048c-0.254,1.287 -0.393,2.597 -0.435,3.909c-0.046,1.464 0.027,2.934 0.233,4.384c0.169,1.19 0.427,2.369 0.803,3.511c0.276,0.839 0.616,1.661 1.05,2.432c0.307,0.544 0.662,1.067 1.092,1.522c0.087,0.092 0.177,0.18 0.271,0.265c0.412,0.373 0.926,0.706 1.498,0.72c0.603,0.016 1.147,-0.33 1.578,-0.72c0.074,-0.067 0.146,-0.137 0.216,-0.208c0.455,-0.467 0.827,-1.013 1.147,-1.579c0.456,-0.81 0.808,-1.676 1.091,-2.559c0.369,-1.151 0.621,-2.34 0.783,-3.537c0.198,-1.455 0.262,-2.929 0.206,-4.396c-0.048,-1.257 -0.186,-2.511 -0.429,-3.744c-0.205,-1.037 -0.483,-2.061 -0.862,-3.048c-0.273,-0.714 -0.599,-1.411 -1.003,-2.061c-0.283,-0.456 -0.606,-0.893 -0.987,-1.273c-0.429,-0.425 -0.962,-0.814 -1.581,-0.869c-0.053,-0.004 -0.106,-0.005 -0.159,-0.004Z" style="fill:#c0f1fc;fill-rule:nonzero;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path clip-rule="evenodd" d="m0 0h32v32h-32z"/></clipPath><metadata/><path d="m0 0h32v32h-32z" fill="none"/><g clip-path="url(#a)"><path d="m32 8c0-4.418-3.582-8-8-8h-16c-4.418 0-8 3.582-8 8v16c0 4.418 3.582 8 8 8h16c4.418 0 8-3.582 8-8z"/><path d="m30 8c0-1.591-.632-3.117-1.757-4.243-1.126-1.125-2.652-1.757-4.243-1.757h-16c-1.591 0-3.117.632-4.243 1.757-1.125 1.126-1.757 2.652-1.757 4.243v16c0 1.591.632 3.117 1.757 4.243 1.126 1.125 2.652 1.757 4.243 1.757h16c1.591 0 3.117-.632 4.243-1.757 1.125-1.126 1.757-2.652 1.757-4.243z" fill="#4cbf1e"/><path d="m26.414 10.414-13.914 13.914-6.914-6.914 2.828-2.828 4.086 4.086 11.086-11.086c.943.943 1.885 1.885 2.828 2.828z" fill="#fff" fill-rule="nonzero"/></g></svg>

Before

Width:  |  Height:  |  Size: 922 B

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.41421" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path clip-rule="evenodd" d="m0 0h32v32h-32z"/></clipPath><metadata/><path d="m0 0h32v32h-32z" fill="none"/><g clip-path="url(#a)"><path d="m32 8c0-4.418-3.582-8-8-8-4.887 0-11.113 0-16 0-4.418 0-8 3.582-8 8v16c0 4.418 3.582 8 8 8h16c4.418 0 8-3.582 8-8 0-4.887 0-11.113 0-16z"/><path d="m30 8c0-1.591-.632-3.117-1.757-4.243-1.126-1.125-2.652-1.757-4.243-1.757-4.724 0-11.276 0-16 0-1.591 0-3.117.632-4.243 1.757-1.125 1.126-1.757 2.652-1.757 4.243v16c0 1.591.632 3.117 1.757 4.243 1.126 1.125 2.652 1.757 4.243 1.757h16c1.591 0 3.117-.632 4.243-1.757 1.125-1.126 1.757-2.652 1.757-4.243 0-4.724 0-11.276 0-16z" fill="#30bfdb"/><g fill="#fff"><circle cx="16" cy="8" r="3"/><path d="m12 13h7v3h-7z"/><path d="m15 13h4v13h-4z"/></g></g></svg>

Before

Width:  |  Height:  |  Size: 952 B

69
media/itaku.svg Normal file
View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="Layer_1"
data-name="Layer 1"
viewBox="0 0 118.93158 43.979999"
fit=""
height="43.98"
width="118.93159"
preserveAspectRatio="xMidYMid meet"
focusable="false"
version="1.1"
sodipodi:docname="itaku.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<metadata
id="metadata23">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>itaku-logo</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1886"
inkscape:window-height="1371"
id="namedview21"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="2.7519911"
inkscape:cx="16.267721"
inkscape:cy="-28.929916"
inkscape:window-x="763"
inkscape:window-y="139"
inkscape:window-maximized="0"
inkscape:current-layer="Layer_1"
inkscape:document-rotation="0" />
<defs
id="defs4">
<style
id="style2">.cls-1{fill-rule:evenodd;} </style>
</defs>
<title
id="title6">itaku-logo</title>
<path
class="cls-1"
d="m 79.581585,43.98 a 22,22 0 0 0 -2.15,-1.38 c -4.64,-2.56 -6.33,-2.74 -13.61,-2.69 -11.159997,-0.7 -16.689997,-4.14 -16.689997,-4.14 a 25.52,25.52 0 0 0 -5.13,-1.69 21.49,21.49 0 0 0 -3.93,-0.42 h -1.56 a 32.35,32.35 0 0 1 3,-2.6 8.12,8.12 0 0 1 3.2,-2.73 c 0.06,0 -1.9,-3.12 -14,-6.5 -3.88,-1.37 -15.77,-2.56 -18.34,-4.03 A 17.9,17.9 0 0 1 0.51158929,7.02 a 6.61,6.61 0 0 1 -0.44,-3.52 14.83,14.83 0 0 0 5.45000001,5.19 4,4 0 0 1 -1.58,-1.09 4.34,4.34 0 0 1 -0.92,-3.51 c 0.28,0.6 4.14,4.88 5.12,5.07 0,0 -1.82,-1.52 -1.39,-3.33 a 31.48,31.48 0 0 0 12.9399987,8.26 c 8.07,2.62 8.86,3.1 8.86,3.1 a 86.66,86.66 0 0 0 15.39,3.69 9.11,9.11 0 0 1 4.3,3.07 3.87,3.87 0 0 0 2.17,1 29.44,29.44 0 0 1 10.28,0.53 c 0,0 11.699997,-11.83 28.119998,-13.88 -0.3,0.16 23.350004,-4.91 30.120004,-11.6 a 23.74,23.74 0 0 1 -1.36,2.22 22.67,22.67 0 0 1 -7.55,6.83 c 0.44,-0.1 0.9,-0.21 1.39,-0.35 0.49,-0.14 1.19,-0.36 1.71,-0.56 a 39,39 0 0 1 -11.6,7.81 39,39 0 0 1 -10.500005,2.9 8,8 0 0 0 2.51,0 c 0,0 -18.19,7.75 -17.59,12.82 0.16,1.3 1.59,2.21 2.72,2.77 a 73.4,73.4 0 0 0 8,1.56 c -1.38,1 -5.12,2.6 -7.25,2.37 a 11,11 0 0 0 3.83,1.95 11.52,11.52 0 0 1 -5.58,-0.48 c 0,0 2.48,2.89 1.92,4.14 z"
id="path18" />
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

BIN
media/kesi-neon.kra Normal file

Binary file not shown.

BIN
media/kesi-neon.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/kesi.png (Stored with Git LFS)

Binary file not shown.

BIN
media/ko-fi.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -1,151 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
clip-rule="evenodd"
fill-rule="evenodd"
stroke-linecap="round"
stroke-linejoin="round"
stroke-miterlimit="1.5"
viewBox="0 0 32 32"
version="1.1"
id="svg46"
sodipodi:docname="light_bulb.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
<defs
id="defs50" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2190"
inkscape:window-height="1539"
id="namedview48"
showgrid="false"
inkscape:zoom="22.34375"
inkscape:cx="16"
inkscape:cy="21.370629"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="g36" />
<clipPath
id="a">
<path
clip-rule="evenodd"
d="m0 0h32v32h-32z"
id="path2" />
</clipPath>
<clipPath
id="b">
<path
clip-rule="evenodd"
d="m12 22.172c0-1.403-.492-2.763-1.391-3.841-.497-.597-1.068-1.282-1.606-1.928-1.294-1.553-2.003-3.51-2.003-5.531 0-.001 0-.001 0-.002 0-4.899 3.971-8.87 8.87-8.87h.26c4.899 0 8.87 3.971 8.87 8.87v.002c0 2.021-.709 3.978-2.003 5.531-.538.646-1.109 1.331-1.606 1.928-.899 1.078-1.391 2.438-1.391 3.841v1c0 .53-.211 1.039-.586 1.414-.59.59-1.414 1.414-1.414 1.414h-4s-.824-.824-1.414-1.414c-.375-.375-.586-.884-.586-1.414 0-.296 0-.644 0-1z"
id="path5" />
</clipPath>
<clipPath
id="c">
<path
clip-rule="evenodd"
d="m12 22.172c0-1.403-.492-2.763-1.391-3.841-.497-.597-1.068-1.282-1.606-1.928-1.294-1.553-2.003-3.51-2.003-5.531 0-.001 0-.001 0-.002 0-4.899 3.971-8.87 8.87-8.87h.26c4.899 0 8.87 3.971 8.87 8.87v.002c0 2.021-.709 3.978-2.003 5.531-.538.646-1.109 1.331-1.606 1.928-.899 1.078-1.391 2.438-1.391 3.841v1c0 .53-.211 1.039-.586 1.414-.59.59-1.414 1.414-1.414 1.414h-4s-.824-.824-1.414-1.414c-.375-.375-.586-.884-.586-1.414 0-.296 0-.644 0-1z"
id="path8" />
</clipPath>
<clipPath
id="d">
<path
clip-rule="evenodd"
d="m6 12h20v14h-20z"
id="path11" />
</clipPath>
<metadata
id="metadata14">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<path
d="m0 0h32v32h-32z"
fill="none"
id="path16" />
<g
clip-path="url(#a)"
id="g44">
<path
d="m12 22.172c0-1.403-.492-2.763-1.391-3.841-.497-.597-1.068-1.282-1.606-1.928-1.294-1.553-2.003-3.51-2.003-5.531 0-.001 0-.001 0-.002 0-4.899 3.971-8.87 8.87-8.87h.26c4.899 0 8.87 3.971 8.87 8.87v.002c0 2.021-.709 3.978-2.003 5.531-.538.646-1.109 1.331-1.606 1.928-.899 1.078-1.391 2.438-1.391 3.841v1c0 .53-.211 1.039-.586 1.414-.59.59-1.414 1.414-1.414 1.414h-4s-.824-.824-1.414-1.414c-.375-.375-.586-.884-.586-1.414 0-.296 0-.644 0-1z"
fill="none"
id="path18" />
<g
clip-path="url(#b)"
id="g22">
<path
d="m6 12h20v14h-20z"
fill="#c8c8c8"
id="path20" />
</g>
<path
d="m12 22.172c0-1.403-.492-2.763-1.391-3.841-.497-.597-1.068-1.282-1.606-1.928-1.294-1.553-2.003-3.51-2.003-5.531 0-.001 0-.001 0-.002 0-4.899 3.971-8.87 8.87-8.87h.26c4.899 0 8.87 3.971 8.87 8.87v.002c0 2.021-.709 3.978-2.003 5.531-.538.646-1.109 1.331-1.606 1.928-.899 1.078-1.391 2.438-1.391 3.841v1c0 .53-.211 1.039-.586 1.414-.59.59-1.414 1.414-1.414 1.414h-4s-.824-.824-1.414-1.414c-.375-.375-.586-.884-.586-1.414 0-.296 0-.644 0-1z"
fill="none"
stroke="#000"
stroke-width="4"
id="path24" />
<path
d="m19 25h-6v3.586c0 .265.105.519.293.707.13.13.284.284.414.414.188.188.442.293.707.293h3.172c.265 0 .519-.105.707-.293l.414-.414c.188-.188.293-.442.293-.707 0-1.023 0-3.586 0-3.586z"
fill="none"
stroke="#000"
stroke-width="4"
id="path26" />
<path
d="m12 22.172c0-1.403-.492-2.763-1.391-3.841-.497-.597-1.068-1.282-1.606-1.928-1.294-1.553-2.003-3.51-2.003-5.531 0-.001 0-.001 0-.002 0-4.899 3.971-8.87 8.87-8.87h.26c4.899 0 8.87 3.971 8.87 8.87v.002c0 2.021-.709 3.978-2.003 5.531-.538.646-1.109 1.331-1.606 1.928-.899 1.078-1.391 2.438-1.391 3.841v1c0 .53-.211 1.039-.586 1.414-.59.59-1.414 1.414-1.414 1.414h-4s-.824-.824-1.414-1.414c-.375-.375-.586-.884-.586-1.414 0-.296 0-.644 0-1z"
fill="#ededed"
id="path28"
style="fill:#fff2b8;fill-opacity:1" />
<g
clip-path="url(#c)"
id="g38">
<path
d="m23 14h-14v-3c0-3.866 3.134-7 7-7 3.866 0 7 3.134 7 7z"
fill="#fff"
id="path30"
style="fill:#fffdcd;fill-opacity:1" />
<path
d="m6 12h20v14h-20z"
fill="#c8c8c8"
id="path32"
style="fill:#e9e192;fill-opacity:1" />
<g
clip-path="url(#d)"
id="g36">
<path
d="m9 9v2.183c0 1.804.716 3.533 1.992 4.809.266.266.533.533.781.781.786.786 1.227 1.851 1.227 2.962v3.631c0 .35.284.634.634.634h.732c.169 0 .33-.067.448-.186.119-.118.186-.28.186-.448 0-.986 0-2.93 0-4.412 0-1.274-.377-2.52-1.084-3.58-.597-.896-.916-1.949-.916-3.025 0-1.457 0-3.349 0-3.349z"
fill="#fff"
fill-opacity=".48"
id="path34"
style="fill:#ffffdd;fill-opacity:0.47999999" />
</g>
</g>
<path
d="m19 25h-6v3.586c0 .265.105.519.293.707.13.13.284.284.414.414.188.188.442.293.707.293h3.172c.265 0 .519-.105.707-.293l.414-.414c.188-.188.293-.442.293-.707 0-1.023 0-3.586 0-3.586z"
fill="#7d7d7d"
id="path40" />
<path
d="m16 26.5c0-.133-.053-.26-.146-.354-.094-.093-.221-.146-.354-.146-.305 0-.695 0-1 0-.133 0-.26.053-.354.146-.093.094-.146.221-.146.354v2c0 .133.053.26.146.354.094.093.221.146.354.146h1c.133 0 .26-.053.354-.146.093-.094.146-.221.146-.354 0-.555 0-1.445 0-2z"
fill="#fff"
fill-opacity=".39"
id="path42" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.3 KiB

BIN
media/lockpen.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;">
<metadata>
<rdf:RDF xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
>
<rdf:Description rdf:about="">
<dc:title>Mutant Standard emoji 2023.12</dc:title>
</rdf:Description>
<cc:work rdf:about="">
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/"/>
<cc:attributionName>Caius Nocturne</cc:attributionName>
<cc:attributionURL>http://mutant.tech/</cc:attributionURL>
</cc:work>
</rdf:RDF>
</metadata>
<rect id="love_letter" x="0" y="0" width="32" height="32" style="fill:none;"/>
<clipPath id="_clip1">
<rect x="0" y="0" width="32" height="32"/>
</clipPath>
<g clip-path="url(#_clip1)">
<g id="outline">
<path d="M22.812,12l5.188,-0c0.53,-0 1.039,0.211 1.414,0.586c0.375,0.375 0.586,0.884 0.586,1.414l-0,14c0,0.53 -0.211,1.039 -0.586,1.414c-0.375,0.375 -0.884,0.586 -1.414,0.586l-24,0c-0.53,0 -1.039,-0.211 -1.414,-0.586c-0.375,-0.375 -0.586,-0.884 -0.586,-1.414l0,-14c-0,-0.53 0.211,-1.039 0.586,-1.414c0.375,-0.375 0.884,-0.586 1.414,-0.586l5.188,-0c-0.302,-0.381 -0.584,-0.782 -0.837,-1.202c-2.455,-4.068 -0.75,-8.568 2.921,-8.789c2.129,-0.128 3.65,1.058 4.33,2.54c0.061,0.167 0.22,0.279 0.398,0.279c0.178,-0 0.337,-0.112 0.398,-0.279c0.68,-1.482 2.201,-2.668 4.33,-2.54c3.671,0.221 5.376,4.721 2.921,8.789c-0.253,0.42 -0.535,0.821 -0.837,1.202Z" style="fill:none;stroke:#000;stroke-width:4px;"/>
</g>
<g id="emoji">
<path d="M28.413,12.043l1.494,1.354c0.061,0.193 0.093,0.396 0.093,0.603l-0,14c0,0.192 -0.027,0.38 -0.08,0.561l-1.45,1.383c-0.153,0.037 -0.31,0.056 -0.47,0.056l-24,0c-0.16,0 -0.317,-0.019 -0.47,-0.056l-1.45,-1.383c-0.053,-0.181 -0.08,-0.369 -0.08,-0.561l0,-14c-0,-0.207 0.032,-0.41 0.093,-0.603l1.494,-1.354c0.135,-0.028 0.273,-0.043 0.413,-0.043l24,-0c0.14,-0 0.278,0.015 0.413,0.043Z" style="fill:#fff;"/>
<path d="M2.08,28.561l9.371,-8.702l1.686,1.164l-9.607,8.921c-0.355,-0.086 -0.682,-0.268 -0.944,-0.53c-0.24,-0.239 -0.412,-0.534 -0.506,-0.853Zm26.39,1.383l-9.763,-9.066l1.593,-1.25l9.62,8.933c-0.094,0.319 -0.266,0.614 -0.506,0.853c-0.262,0.262 -0.589,0.444 -0.944,0.53Z" style="fill:#ccc;"/>
<path d="M3.587,12.043l10.461,8.966c1.123,0.963 2.781,0.963 3.904,0l10.461,-8.966c0.376,0.08 0.725,0.267 1.001,0.543c0.229,0.229 0.397,0.508 0.493,0.811l-10.653,9.131c-1.872,1.605 -4.636,1.605 -6.508,-0l-10.653,-9.131c0.096,-0.303 0.264,-0.582 0.493,-0.811c0.276,-0.276 0.625,-0.463 1.001,-0.543Z" style="fill:#999;"/>
<path d="M7.266,5.98c0.791,5.119 16.858,4.98 17.502,0.275c0.142,1.407 -0.191,3.005 -1.119,4.543c-1.992,3.302 -5.73,5.392 -7.115,6.082c-0.338,0.16 -0.73,0.16 -1.068,0.001c-1.385,-0.691 -5.123,-2.781 -7.115,-6.083c-0.989,-1.639 -1.303,-3.347 -1.085,-4.818Z" style="fill:#ce0249;"/>
<path d="M24.768,6.255c-0.644,4.705 -6.892,8.642 -8.768,8.673c-2.037,0.033 -7.943,-3.829 -8.734,-8.948c0.322,-2.181 1.813,-3.839 4.006,-3.971c2.129,-0.128 3.65,1.058 4.33,2.54c0.061,0.167 0.22,0.279 0.398,0.279c0.178,-0 0.337,-0.112 0.398,-0.279c0.68,-1.482 2.201,-2.668 4.33,-2.54c2.284,0.138 3.807,1.931 4.04,4.246Z" style="fill:#ff3c80;"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

BIN
media/mlem_bg.gif (Stored with Git LFS)

Binary file not shown.

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path clip-rule="evenodd" d="m2 7h28v15h-28z"/></clipPath><clipPath id="b"><path clip-rule="evenodd" d="m3 8h8v7h-8z"/></clipPath><metadata/><path d="m0 0h32v32h-32z" fill="none"/><path d="m2 7h28v18h-28z" fill="none" stroke="#000" stroke-width="4"/><path d="m29 21h-26l-1 1v3h28v-3z" fill="#e46493"/><path d="m2 7h28v15h-28z" fill="#f59aba"/><g clip-path="url(#a)" fill="none" stroke="#facdde" stroke-linecap="butt" stroke-linejoin="miter"><path d="m31 11s-2.975.992-4.735 1.578c-.821.274-1.709.274-2.53 0-1.021-.34-2.449-.816-3.47-1.156-.821-.274-1.709-.274-2.53 0-1.021.34-2.449.816-3.47 1.156-.821.274-1.709.274-2.53 0-.819-.273-1.735-.578-1.735-.578"/><path d="m31 14s-2.975.992-4.735 1.578c-.821.274-1.709.274-2.53 0-1.021-.34-2.449-.816-3.47-1.156-.821-.274-1.709-.274-2.53 0-1.021.34-2.449.816-3.47 1.156-.821.274-1.709.274-2.53 0-.819-.273-1.735-.578-1.735-.578"/><path d="m31 8s-2.975.992-4.735 1.578c-.821.274-1.709.274-2.53 0-1.021-.34-2.449-.816-3.47-1.156-.821-.274-1.709-.274-2.53 0-1.021.34-2.449.816-3.47 1.156-.821.274-1.709.274-2.53 0-.819-.273-1.735-.578-1.735-.578"/></g><g fill="#f16d9e"><path d="m9 19c0-.552-.448-1-1-1-.871 0-2.129 0-3 0-.552 0-1 .448-1 1v1c0 .552.448 1 1 1h3c.552 0 1-.448 1-1 0-.322 0-.678 0-1z"/><path d="m29 18c0-.552-.448-1-1-1s-1 .448-1 1v2c0 .552.448 1 1 1s1-.448 1-1c0-.611 0-1.389 0-2z"/><path d="m26 18c0-.552-.448-1-1-1s-1 .448-1 1v2c0 .552.448 1 1 1s1-.448 1-1c0-.611 0-1.389 0-2z"/><path d="m23 18c0-.552-.448-1-1-1s-1 .448-1 1v2c0 .552.448 1 1 1s1-.448 1-1c0-.611 0-1.389 0-2z"/></g><path d="m3 8h8v7h-8z" fill="none"/><g clip-path="url(#b)" fill="#fff"><path d="m11 11h-8v-1h8z"/><path d="m11 13h-8v-1h8z"/><path d="m10 7.335v7.665h-1v-4.5l-1.771 4.25h-.458l-1.771-4.25v4.5h-1v-7.665l.706-.141 2.294 5.506 2.294-5.506z"/></g><path d="m20 22-1-1h-6l-1 1v3h8z" fill="#d9d9d9"/><path d="m12 7h8v15h-8z" fill="#fff"/></svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

BIN
media/niss-icon.kra Normal file

Binary file not shown.

BIN
media/niss-icon.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/niss-nisse.mp3 (Stored with Git LFS)

Binary file not shown.

BIN
media/niss-nisse.ogg (Stored with Git LFS)

Binary file not shown.

View file

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
<metadata>
<rdf:RDF xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
>
<rdf:Description rdf:about="">
<dc:title>Mutant Standard emoji 2020.04</dc:title>
</rdf:Description>
<cc:work rdf:about="">
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/4.0/"/>
<cc:attributionName>Dzuk</cc:attributionName>
<cc:attributionURL>http://mutant.tech/</cc:attributionURL>
</cc:work>
</rdf:RDF>
</metadata>
<path id="red_question_mark" d="M0,0l0,32l32,0l0,-32l-32,0Z" style="fill:none;"/>
<clipPath id="_clip1">
<path d="M0,0l0,32l32,0l0,-32l-32,0Z"/>
</clipPath>
<g clip-path="url(#_clip1)">
<g id="outline">
<path d="M12.535,21.164c-0.118,0 -0.219,-0.044 -0.302,-0.133c-0.083,-0.088 -0.124,-0.195 -0.124,-0.321l0,-0.906c0,-0.956 0.177,-1.781 0.533,-2.473c0.355,-0.693 0.782,-1.259 1.279,-1.7c0.498,-0.44 1.149,-0.95 1.955,-1.529c0.9,-0.604 1.557,-1.133 1.972,-1.586c0.415,-0.453 0.622,-0.994 0.622,-1.624c0,-0.679 -0.249,-1.214 -0.746,-1.605c-0.498,-0.39 -1.161,-0.585 -1.991,-0.585c-0.9,0 -1.616,0.22 -2.15,0.661c-0.533,0.44 -0.799,1.013 -0.799,1.718l0,0.416c0,0.276 -0.142,0.415 -0.427,0.415l-5.046,-0.227c-0.118,0 -0.219,-0.031 -0.302,-0.094c-0.083,-0.063 -0.124,-0.145 -0.124,-0.246l0,-0.264c0,-1.586 0.379,-2.989 1.137,-4.21c0.758,-1.221 1.818,-2.172 3.18,-2.851c1.363,-0.68 2.92,-1.02 4.674,-1.02c1.729,0 3.239,0.315 4.531,0.944c1.291,0.629 2.286,1.517 2.985,2.662c0.699,1.146 1.048,2.474 1.048,3.984c0,1.133 -0.189,2.096 -0.568,2.889c-0.38,0.793 -0.836,1.441 -1.369,1.945c-0.533,0.503 -1.214,1.045 -2.043,1.624c-0.829,0.579 -1.445,1.088 -1.848,1.529c-0.403,0.44 -0.604,0.975 -0.604,1.605l0,0.528c0,0.126 -0.042,0.233 -0.125,0.321c-0.082,0.089 -0.183,0.133 -0.302,0.133l-5.046,0Zm2.31,8.798c-0.877,0 -1.605,-0.308 -2.186,-0.925c-0.58,-0.617 -0.87,-1.403 -0.87,-2.36c0,-0.982 0.284,-1.775 0.853,-2.379c0.568,-0.604 1.303,-0.906 2.203,-0.906c0.9,0 1.641,0.302 2.221,0.906c0.581,0.604 0.871,1.397 0.871,2.379c0,0.931 -0.29,1.712 -0.871,2.341c-0.58,0.63 -1.321,0.944 -2.221,0.944Z" style="fill:none;fill-rule:nonzero;stroke:#000;stroke-width:4px;"/>
<path d="M12.535,20.164c-0.118,0 -0.219,-0.044 -0.302,-0.133c-0.083,-0.088 -0.124,-0.195 -0.124,-0.321l0,-0.906c0,-0.956 0.177,-1.781 0.533,-2.473c0.355,-0.693 0.782,-1.259 1.279,-1.7c0.498,-0.44 1.149,-0.95 1.955,-1.529c0.9,-0.604 1.557,-1.133 1.972,-1.586c0.415,-0.453 0.622,-0.994 0.622,-1.624c0,-0.679 -0.249,-1.214 -0.746,-1.605c-0.498,-0.39 -1.161,-0.585 -1.991,-0.585c-0.9,0 -1.616,0.22 -2.15,0.661c-0.533,0.44 -0.799,1.013 -0.799,1.718l0,0.416c0,0.276 -0.142,0.415 -0.427,0.415l-5.046,-0.227c-0.118,0 -0.219,-0.031 -0.302,-0.094c-0.083,-0.063 -0.124,-0.145 -0.124,-0.246l0,-0.264c0,-1.586 0.379,-2.989 1.137,-4.21c0.758,-1.221 1.818,-2.172 3.18,-2.851c1.363,-0.68 2.92,-1.02 4.674,-1.02c1.729,0 3.239,0.315 4.531,0.944c1.291,0.629 2.286,1.517 2.985,2.662c0.699,1.146 1.048,2.474 1.048,3.984c0,1.133 -0.189,2.096 -0.568,2.889c-0.38,0.793 -0.836,1.441 -1.369,1.945c-0.533,0.503 -1.214,1.045 -2.043,1.624c-0.829,0.579 -1.445,1.088 -1.848,1.529c-0.403,0.44 -0.604,0.975 -0.604,1.605l0,0.528c0,0.126 -0.042,0.233 -0.125,0.321c-0.082,0.089 -0.183,0.133 -0.302,0.133l-5.046,0Zm2.31,8.798c-0.877,0 -1.605,-0.308 -2.186,-0.925c-0.58,-0.617 -0.87,-1.403 -0.87,-2.36c0,-0.982 0.284,-1.775 0.853,-2.379c0.568,-0.604 1.303,-0.906 2.203,-0.906c0.9,0 1.641,0.302 2.221,0.906c0.581,0.604 0.871,1.397 0.871,2.379c0,0.931 -0.29,1.712 -0.871,2.341c-0.58,0.63 -1.321,0.944 -2.221,0.944Z" style="fill:none;fill-rule:nonzero;stroke:#000;stroke-width:4px;"/>
<rect x="10" y="8" width="10" height="4"/>
</g>
<g id="emoji">
<path d="M12.535,21.164c-0.118,0 -0.219,-0.044 -0.302,-0.133c-0.083,-0.088 -0.124,-0.195 -0.124,-0.321l0,-0.906c0,-0.956 0.177,-1.781 0.533,-2.473c0.355,-0.693 0.782,-1.259 1.279,-1.7c0.498,-0.44 1.149,-0.95 1.955,-1.529c0.9,-0.604 1.557,-1.133 1.972,-1.586c0.415,-0.453 0.622,-0.994 0.622,-1.624c0,-0.679 -0.249,-1.214 -0.746,-1.605c-0.498,-0.39 -1.161,-0.585 -1.991,-0.585c-0.9,0 -1.616,0.22 -2.15,0.661c-0.533,0.44 -0.799,1.013 -0.799,1.718l0,0.416c0,0.276 -0.142,0.415 -0.427,0.415l-5.046,-0.227c-0.118,0 -0.219,-0.031 -0.302,-0.094c-0.083,-0.063 -0.124,-0.145 -0.124,-0.246l0,-0.264c0,-1.586 0.379,-2.989 1.137,-4.21c0.758,-1.221 1.818,-2.172 3.18,-2.851c1.363,-0.68 2.92,-1.02 4.674,-1.02c1.729,0 3.239,0.315 4.531,0.944c1.291,0.629 2.286,1.517 2.985,2.662c0.699,1.146 1.048,2.474 1.048,3.984c0,1.133 -0.189,2.096 -0.568,2.889c-0.38,0.793 -0.836,1.441 -1.369,1.945c-0.533,0.503 -1.214,1.045 -2.043,1.624c-0.829,0.579 -1.445,1.088 -1.848,1.529c-0.403,0.44 -0.604,0.975 -0.604,1.605l0,0.528c0,0.126 -0.042,0.233 -0.125,0.321c-0.082,0.089 -0.183,0.133 -0.302,0.133l-5.046,0Zm2.31,8.798c-0.877,0 -1.605,-0.308 -2.186,-0.925c-0.58,-0.617 -0.87,-1.403 -0.87,-2.36c0,-0.982 0.284,-1.775 0.853,-2.379c0.568,-0.604 1.303,-0.906 2.203,-0.906c0.9,0 1.641,0.302 2.221,0.906c0.581,0.604 0.871,1.397 0.871,2.379c0,0.931 -0.29,1.712 -0.871,2.341c-0.58,0.63 -1.321,0.944 -2.221,0.944Z" style="fill:#841319;fill-rule:nonzero;"/>
<path d="M12.535,20.164c-0.118,0 -0.219,-0.044 -0.302,-0.133c-0.083,-0.088 -0.124,-0.195 -0.124,-0.321l0,-0.906c0,-0.956 0.177,-1.781 0.533,-2.473c0.355,-0.693 0.782,-1.259 1.279,-1.7c0.498,-0.44 1.149,-0.95 1.955,-1.529c0.9,-0.604 1.557,-1.133 1.972,-1.586c0.415,-0.453 0.622,-0.994 0.622,-1.624c0,-0.679 -0.249,-1.214 -0.746,-1.605c-0.498,-0.39 -1.161,-0.585 -1.991,-0.585c-0.9,0 -1.616,0.22 -2.15,0.661c-0.533,0.44 -0.799,1.013 -0.799,1.718l0,0.416c0,0.276 -0.142,0.415 -0.427,0.415l-5.046,-0.227c-0.118,0 -0.219,-0.031 -0.302,-0.094c-0.083,-0.063 -0.124,-0.145 -0.124,-0.246l0,-0.264c0,-1.586 0.379,-2.989 1.137,-4.21c0.758,-1.221 1.818,-2.172 3.18,-2.851c1.363,-0.68 2.92,-1.02 4.674,-1.02c1.729,0 3.239,0.315 4.531,0.944c1.291,0.629 2.286,1.517 2.985,2.662c0.699,1.146 1.048,2.474 1.048,3.984c0,1.133 -0.189,2.096 -0.568,2.889c-0.38,0.793 -0.836,1.441 -1.369,1.945c-0.533,0.503 -1.214,1.045 -2.043,1.624c-0.829,0.579 -1.445,1.088 -1.848,1.529c-0.403,0.44 -0.604,0.975 -0.604,1.605l0,0.528c0,0.126 -0.042,0.233 -0.125,0.321c-0.082,0.089 -0.183,0.133 -0.302,0.133l-5.046,0Zm2.31,8.798c-0.877,0 -1.605,-0.308 -2.186,-0.925c-0.58,-0.617 -0.87,-1.403 -0.87,-2.36c0,-0.982 0.284,-1.775 0.853,-2.379c0.568,-0.604 1.303,-0.906 2.203,-0.906c0.9,0 1.641,0.302 2.221,0.906c0.581,0.604 0.871,1.397 0.871,2.379c0,0.931 -0.29,1.712 -0.871,2.341c-0.58,0.63 -1.321,0.944 -2.221,0.944Z" style="fill:#e82731;fill-rule:nonzero;"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7 KiB

BIN
media/quobl-neon.kra Normal file

Binary file not shown.

BIN
media/quobl-neon.png (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
media/quobl.png (Stored with Git LFS)

Binary file not shown.

BIN
media/quobl2.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1 +0,0 @@
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.41421" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><metadata/><path d="m0 0v32h32v-32z" fill="none"/><path d="m25 22h2c1.657 0 3-1.343 3-3 0-3.329 0-8.671 0-12 0-1.657-1.343-3-3-3-5.382 0-16.618 0-22 0-1.657 0-3 1.343-3 3v12c0 1.657 1.343 3 3 3h13l7 7z" fill="none" stroke="#000" stroke-width="4"/><path d="m25 22h2c1.657 0 3-1.343 3-3 0-1.5 0-3 0-3h-28v3c0 1.657 1.343 3 3 3h13l7 7z" fill="#747474" fill-rule="nonzero"/><path d="m25 20h2c1.657 0 3-1.343 3-3 0-2.859 0-7.141 0-10 0-1.657-1.343-3-3-3-5.382 0-16.618 0-22 0-1.657 0-3 1.343-3 3v10c0 1.657 1.343 3 3 3h14l6 6z" fill="#fff"/></svg>

Before

Width:  |  Height:  |  Size: 694 B

BIN
media/wave-neon.kra Normal file

Binary file not shown.

BIN
media/wave-neon.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
media/wave.kra Normal file

Binary file not shown.

BIN
media/wave.png (Stored with Git LFS) Normal file

Binary file not shown.

2
media/weasyl.svg Normal file
View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m5.63 5.6c-1.43-2.26-1.47-3.8-1.47-3.8l-1.37 0.833s-0.0414 2.14 2.04 3.62c-6.65 1.19-6.27 8.02 0.157 7.75 0.737-0.0317-0.806 0.981 1.29 0.582 3.8-0.73 6.2-2.08 8.25-4.3 0.947-1.02-0.521-0.589 0.0764-1.37 5.4-7.07-6.42-11.2-8.97-3.31z" fill="#970000"/><path d="m2.58 7.5 1.75-0.673 2.82 4.45 0.0521-6.88 1.07-0.331 3.74 5.82 0.0342-6.77 1.91-0.563-0.279 7.6-2.38 1.88-2.66-4.18-0.0109 5.47-1.94 0.623z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 566 B

66
shuffle.ts Normal file
View file

@ -0,0 +1,66 @@
function group<A>(subject: A[], keepTogether: A[][]): A[][] {
type Value = {array: A[], added: boolean};
let groups: Map<A, Value> = new Map;
for (const xs of keepTogether) {
let value = {array: xs, added: false};
for (const x of xs) { groups.set(x, value); }
}
let res = [];
for (const x of subject) {
let group = groups.get(x);
if (group?.added) { continue; }
else if (group) {
group.added = true;
res.push(group.array);
} else {
res.push([x]);
}
}
return res;
}
function shuffle<A>(subject: A[]): A[] {
let res = Array.from(subject);
for (let i = 0; i < res.length - 2; ++i) {
const j = i + Math.floor(Math.random() * (res.length - i));
if (i != j) {
const k = res[i]!;
res[i] = res[j]!;
res[j] = k;
}
}
return res;
}
function groupedShuffle<A>(subject: A[], keepTogether: A[][]): A[] {
let groups = group(subject, keepTogether);
return shuffle(groups).flat();
}
function shuffleAll() {
let groups = [group('myno', 'abyss')];
for (const elem of Array.from(document.getElementsByClassName('shuffle'))) {
let shuffled = groupedShuffle(Array.from(elem.children), groups);
elem.innerHTML = '';
for (const child of shuffled) {
elem.appendChild(child);
}
}
function group(...xs: string[]) {
let elements = xs.map(x => document.getElementById(x));
return elements.every(x => x) ? elements as HTMLElement[] : [];
}
}
document.addEventListener('DOMContentLoaded', shuffleAll);
export {};

View file

@ -1,112 +0,0 @@
:root {
font: 18pt serif;
color: white;
background: url(NEWFOL~1/GEC.JPG);
}
main {
width: 30em;
padding: 1rem;
margin: 1rem auto;
border: 8px outset white;
background: #639;
}
header, h1, h2, h3 { text-align: center; }
h1 { margin-top: 0; }
header { overflow: hidden; }
@media not (prefers-reduced-motion) {
@keyframes marquee {
from { transform: translateX(100%); }
to { transform: translateX(-100%); }
}
h1 {
animation-name: marquee;
animation-timing-function: linear;
animation-duration: 7.5s;
animation-iteration-count: infinite;
}
}
#mlemtext {
position: relative;
width: 80%;
margin: 0 auto;
height: 3em;
}
.niss, .nisse { position: absolute }
.niss { left: 0 }
.nisse { right: 0 }
header picture, header img {
display: block;
margin: 0 auto;
bacground: black;
}
#mlem + p { margin-top: 0; }
img[src$='.svg'] { height: 1em; }
a {
color: #9cf;
font-weight: bold;
text-decoration: none;
}
table {
width: 80%;
border-spacing: 0.75em 0.15em ;
}
th {
text-align: right;
font-weight: normal;
}
td {
font-weight: bold;
}
@font-face {
font-family: 'W95FA';
src: url(NEWFOL~1/W95FA.otf) format('opentype'),
url(NEWFOL~1/w95fa.woff) format('woff'),
url(NEWFOL~1/w95fa.woff2) format('woff2');
}
#links {
position: absolute;
top: 0; left: 0;
font-family: 'W95FA', sans-serif;
font-size: 13pt;
padding: 1rem;
}
#links li {
display: block;
width: 5em;
text-align: center;
margin-bottom: 1em;
}
#links img {
display: block;
margin: auto;
}
#links a {
font-weight: normal;
color: white;
text-decoration: none;
}
#links span {
background: black;
padding: 0 0.25ch;
}

View file

@ -1,225 +0,0 @@
@import url(fonts/muller/muller.css);
@import url(fonts/noto/noto.css);
:root {
/*
--gradient:
linear-gradient(135deg,
hsl(42deg, 92%, 70%),
hsl(348deg, 92%, 70%),
hsl(334deg, 100%, 80%),
hsl(234deg, 100%, 76%),
hsl(195deg, 100%, 67%),
hsl(155deg, 70%, 62%)
);
*/
--gradient:
linear-gradient(135deg,
oklch(92% 0.108 96),
oklch(84% 0.08 15),
oklch(81% 0.117 304),
oklch(84% 0.095 233),
oklch(86% 0.171 162)
);
--size: 15pt;
--weight: 600;
--link-color: hsl(196deg, 100%, 85%);
--hover-color: hsl(50deg, 100%, 82%);
background:
image-set(url(../media/bg.png) 1x,
url(../media/bg_2x.png) 2x)
top center fixed,
var(--gradient) fixed;
background-blend-mode: overlay;
font-family: 'Muller';
font-size: var(--size);
font-weight: var(--weight);
color: white;
text-shadow:
1px 1px 0 black,
-1px 1px 0 black,
1px -1px 0 black,
-1px -1px 0 black,
4px 4px 4px hsla(0, 0%, 0%, 70%);
text-align: center;
margin: 2em 1em 0.5em;
}
main {
--default-bg: hsla(316deg, 100%, 95%, 45%);
background: var(--default-bg);
border-radius: 2em;
--glow-col: hsla(318deg, 100%, 98%, 100%);
border: 1px solid var(--glow-col);
box-shadow: 0 0 25px var(--glow-col) inset;
padding: 1em;
margin: 0 auto 1em;
}
header :is(p, h1, h2, h3, h4, h5, h6) {
font-weight: 700;
margin-top: 0;
}
h1 {
font-size: 200%;
}
h2, header p {
font-size: 150%;
}
b {
font-weight: 800;
}
hr {
height: 4px;
width: 75%;
background-color: hsla(0, 0%, 100%, 85%);
box-shadow: 0 0 3px hsl(0, 0%, 100%, 50%);
border: none;
text-shadow: none;
margin: 20px auto;
}
.ipa {
font-family: NotoSans;
font-weight: 900;
font-size: 90%;
}
a[href] {
color: var(--link-color);
font-weight: 800;
text-decoration: none;
transition: color 0.2s ease-in-out;
}
a[href]:where(:hover,:focus) {
color: var(--hover-color);
}
dl {
display: grid;
grid-template-columns: repeat(4, auto);
grid-row-gap: 6px;
grid-column-gap: 1em;
justify-content: center;
}
dt {
text-align: right;
margin: 0;
}
dd {
font-weight: 700;
text-align: left;
margin: 0;
}
:is(rt, h1, h2)::before, :is(rt, h1, h2)::after {
padding: 0 0.25em;
vertical-align: middle;
display: inline-block;
height: 1em; width: 1em;
mix-blend-mode: overlay;
content: var(--around-image);
}
rt::before { margin-left: -1.25em; }
rt::after { margin-right: -1.25em; }
/* hacky fix for firefox mobile 68 freaking out at blend modes ☹ */
@media (-moz-touch-enabled) {
:root {
background: var(--gradient) fixed;
background-blend-mode: initial;
}
}
.emojo {
vertical-align: middle;
height: 1.2em; width: 1.2em;
}
.pixel {
/* firefox doesn't support "pixelated" but does treat "crisp-edges"
* to mean that */
image-rendering: crisp-edges;
image-rendering: pixelated;
}
/******************************/
/* actual accessibility stuff */
/******************************/
@media (prefers-reduced-motion: reduce) {
/* see also the alternate source in #mlem > picture */
.mlem-text {
display: none;
}
}
@media (prefers-contrast: more), (prefers-color-scheme: dark) {
:root {
/*
--gradient:
linear-gradient(135deg,
hsl(42deg, 56%, 55%),
hsl(348deg, 56%, 55%),
hsl(334deg, 60%, 43%),
hsl(234deg, 60%, 40%),
hsl(195deg, 60%, 44%),
hsl(155deg, 60%, 55%)
);
*/
--gradient:
linear-gradient(135deg,
/* oklch(33% 0.16 86), */
oklch(30% 0.17 15),
oklch(30% 0.18 304),
oklch(30% 0.18 233),
oklch(30% 0.18 162)
);
background:
image-set(url(../media/bg_dim.png) 1x,
url(../media/bg_2x_dim.png) 2x)
top center fixed,
var(--gradient) fixed;
background-blend-mode: multiply;
}
main {
--default-bg: hsla(0, 0%, 0%, 60%);
--glow-col: hsla(0, 0%, 0%, 60%);
}
:is(#links ul, rt, h1, h2)::before, :is(#links ul, rt, h1, h2)::after {
mix-blend-mode: screen;
}
hr {
background: white;
}
}
@media (prefers-reduced-transparency) {
:root {
background: var(--gradient) fixed;
background-blend-mode: initial;
}
:is(#links ul, rt, h1, h2)::before, :is(#links ul, rt, h1, h2)::after {
mix-blend-mode: initial;
}
}

View file

@ -1,8 +0,0 @@
@font-face {
font-family: NotoSans;
font-weight: 900;
src:
local('Noto Sans Black'),
url(NotoSans-Black.ttf) format('ttf');
}

View file

@ -1,49 +0,0 @@
@import url(base.css);
main {
max-width: 950px;
padding: 2em;
background:
url(../media/quobl2.png) bottom left 5% / 30% no-repeat,
var(--default-bg);
background-blend-mode: multiply;
}
footer {
margin-top: 6em;
}
.flags {
list-style: none;
padding: 0;
}
.flags li {
display: inline-block;
padding: 0 .25em;
}
.flags img {
height: 1.25em;
border: 2px solid oklch(37.28% 0.1488 17.16 / 80%);
transform: rotate(-3deg);
}
dl {
grid-template-columns: repeat(2, auto);
row-gap: 1em;
}
p {
margin: 0 0 .5em 0;
}
.note {
font-size: 80%;
}
ul {
margin: 0;
}

View file

@ -1,55 +0,0 @@
@import url(base.css);
:root {
width: 100vw; height: 100vh;
margin: 0; padding: 0;
display: grid;
align-items: center;
justify-content: center;
}
main {
width: 35em;
padding: 2em;
}
#mlem {
margin: 36px auto -50px;
position: relative;
height: 219px;
width: 420px;
cursor-events: none;
}
.mlem-text {
font-size: 110%;
position: absolute;
font-weight: 700;
margin: 0;
}
.niss { bottom: 100%; left: 20px; }
.nisse { bottom: 85%; right: 0; }
#mlem img { image-rendering: pixelated; }
#links img {
margin-right: 0.75em;
height: 1.5em;
width: 1.5em;
filter: drop-shadow(0 0 10px var(--glow-col));
vertical-align: middle;
}
menu {
display: grid;
grid-template-columns: 1fr 1fr;
place-items: center;
place-content: center;
gap: 1em;
max-width: 85%;
margin: auto;
font-size: 125%;
}
menu li { list-style: none; }

View file

@ -1,76 +0,0 @@
@import url(base.css);
main { max-width: 900px; }
footer { margin-top: 6em; }
.buttons {
display: flex;
flex-flow: wrap row;
place-items: start;
place-content: center;
gap: 8px 10px;
img { image-rendering: pixelated; }
a {
width: 88px; height: 31px;
display: flex;
place-items: center;
place-content: center;
box-sizing: border-box;
}
.txt {
font-size: 15px;
color: black;
text-shadow: none;
border: 4px outset currentcolor;
border-radius: 5px;
&:active {
border-style: inset;
}
}
+ .buttons {
margin-top: 1.5em;
}
}
#violet { background: #8c2bd8; color: #dddddd; }
#khr { background: #ffab71; color: #71153e; }
#dusty { background: #fbd265; color: #805c2d; }
#ionchy { background: #feca2f; color: #1b1505; }
#tenna { background: #6095da; color: #243224; }
#river { background: #98d8e7; color: #d67d28; }
#spiral { background: #ef4d5a; color: #1f1f1f; }
#codl { background: #87261f; color: #edb970; }
/*
#peb { background: #ead6c3; color: #494040; }
#goaty { background: #564b8c; color: #ddffee; }
#gulfie { background: #3b4884; color: #f2cd0e; }
*/
.buttons {
figure { margin: 0; }
figcaption {
margin: 0;
font-size: 70%;
}
}
.button-note {
margin: 0;
text-align: right;
align-self: center;
padding: 0 0.75em 0 0;
}
.btw {
display: block;
font-size: 70%;
font-style: italic;
}

View file

@ -1,50 +0,0 @@
@import url(base.css);
main { max-width: 1100px; }
#headerpic {
position: relative;
width: min-content;
margin: auto;
figcaption {
position: absolute;
bottom: 1.5em;
right: 2.5em;
font-style: italic;
}
img { filter: drop-shadow(0 0 30px var(--glow-col)); }
}
#contact {
grid-template-columns: repeat(2, auto auto);
row-gap: 0.5em;
width: 85%;
margin: auto;
img {
vertical-align: middle;
height: 1.2em; width: 1.2em;
}
}
.o {
filter:
drop-shadow(0.5px 0.5px black)
drop-shadow(-0.5px 0.5px black)
drop-shadow(-0.5px -0.5px black)
drop-shadow(0.5px -0.5px black);
}
/* .other { padding-top: 0.5em; } */
dt.other {
display: flex;
justify-content: end;
align-items: center;
gap: 5px;
grid-area: auto / 1 / auto / 2;
}
dd.other {
grid-area: auto / 2 / auto / 5;
}

9
tsconfig.json Normal file
View file

@ -0,0 +1,9 @@
{
"compilerOptions": {
"strict": true,
"noUncheckedIndexedAccess": true,
"noEmitOnError": true,
"lib": ["ES2021", "dom"],
"target": "ES2015"
}
}

View file

@ -1,68 +0,0 @@
<!doctype html>
<html lang=en>
<meta charset=utf-8>
<link rel=icon href=media/icon.svg>
<link rel=stylesheet href=style/where.css>
<meta name=robots content='noai,noimageai'>
<title>where to find me</title>
<main>
<header>
<h1>where to find me</h1>
<figure id=headerpic>
<a href=//gallery.niss.website/by-others/gray/2022-07-09-kesi>
<img src=media/kesi.png alt='kesi'>
</a>
<figcaption>
<img src=media/art.svg alt='art by' class=emojo>
<a href=https://cohost.org/wutizit45>gray</a>
</figcaption>
</figure>
</header>
<hr>
<dl id=contact>
<dt> <img src=media/chitter.png alt='' class=o> fedi
<dd> <a href=https://chitter.xyz/@niss>niss@chitter.xyz</a>
<dt> <img src=media/cohost.svg alt='' class=o> cohost
<dd> <a href=https://cohost.org/niss>@niss</a>
<dt> <img src=media/butterfly.png alt=''> bluesky
<dd> <a href=https://niss.yummy.cricket>@niss.yummy.cricket</a>
<dt> <img src=media/matrix.svg alt='' class=o> matrix
<dd> <a href=https://matrix.to/#/@g:cybre.space>g:cybre.space</a>
<dt> <img src=media/love_letter.svg alt=''> email
<dd> <b>niss <img src=media/club_suit.svg alt=at> niss.website</b>
<dt> <img src=media/lockpen.png alt=''> pgp key
<dd> <a href=pubkey.txt>here</a>
<dt> <img src=media/light_bulb.svg alt=''> xmpp
<dd> <b>niss <img src=media/club_suit.svg alt=at> yummy.cricket</b>
<dt class=other> <img src=media/question.svg alt=''> other
<dd class=other> if were friends, then ask
</dl>
<hr>
<dl id=galleries>
<dt>personal gallery <dd><a href=//gallery.niss.website>here</a>
<dt>itaku <dd><a href=//itaku.ee/profile/niss>niss</a>
<dt>weasyl <dd><a href=//www.weasyl.com/~niss>niss</a>
<!-- <dt>furaffinity <dd><a href=//furaffinity.net/user/niss>niss</a> -->
<dt>deviantart <dd><a href=//www.deviantart.com/2gecs>2gecs</a>
<dt>ko-fi <dd><a href=//ko-fi.com/nissss>nissss</a>
<!-- <dt>art fight <dd><a href=//artfight.net/~nissss>nissss</a> -->
</dl>
<footer> <a href=/>main</a> </footer>
</main>