Make core file, and update some people
This commit is contained in:
parent
3a7f4238ad
commit
3a905f2182
|
|
@ -109,9 +109,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
<script src="/js/terminal.js"></script>
|
<script src="/js/terminal.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 680 KiB After Width: | Height: | Size: 680 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 49 KiB |
|
|
@ -66,9 +66,7 @@
|
||||||
<div id="friends-root"></div>
|
<div id="friends-root"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
<script src="/js/friends.js"></script>
|
<script src="/js/friends.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -272,11 +272,9 @@
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
<script src="/js/dev-info.js"></script>
|
<script src="/js/dev-info.js"></script>
|
||||||
<script src="/js/contrib-heatmap.js"></script>
|
<script src="/js/heatmap.js"></script>
|
||||||
<script>ContribHeatmap.render("#contrib", { theme: "trans" });</script>
|
<script>ContribHeatmap.render("#contrib", { theme: "trans" });</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -177,9 +177,7 @@
|
||||||
</section>
|
</section>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -64,10 +64,8 @@
|
||||||
<div id="now-playing"></div>
|
<div id="now-playing"></div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/now-playing.js" data-user="1464890289922641993"></script>
|
<script src="/js/now-playing.js" data-user="1464890289922641993"></script>
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
||||||
|
|
@ -101,9 +101,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
<script src="/js/guestbook.js"
|
<script src="/js/guestbook.js"
|
||||||
data-api="https://guestbook.doughmination.uk"
|
data-api="https://guestbook.doughmination.uk"
|
||||||
data-turnstile-key="0x4AAAAAAB08ZhSxKn5rAD3d"></script>
|
data-turnstile-key="0x4AAAAAAB08ZhSxKn5rAD3d"></script>
|
||||||
|
|
|
||||||
|
|
@ -66,9 +66,7 @@
|
||||||
|
|
||||||
<div id="visitor-counter" role="status" aria-label="Visitor count"></div>
|
<div id="visitor-counter" role="status" aria-label="Visitor count"></div>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
<script src="/js/terminal.js"></script>
|
<script src="/js/terminal.js"></script>
|
||||||
<script src="/js/fronting.js"></script>
|
<script src="/js/fronting.js"></script>
|
||||||
<!-- lanyard.cafe keyring (webring) — styled to match the site in css/main.css (#lc-embed) -->
|
<!-- lanyard.cafe keyring (webring) — styled to match the site in css/main.css (#lc-embed) -->
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,143 @@
|
||||||
|
// Ari was here uwu
|
||||||
|
// Professional boob lover
|
||||||
|
// girls kissing,,,
|
||||||
|
console.log(`
|
||||||
|
⣿⣿⣿⠏⣴⣿⣿⣿⣿⡿⠟⢹⣿⣿⣿⡿⠋⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡉⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
||||||
|
⣿⣿⢇⣾⣿⣿⣿⡿⢋⢀⣴⣿⣿⡿⠋⠀⠘⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣀⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
||||||
|
⣿⡏⣼⣿⣿⣿⠏⣴⢃⣾⣿⡿⢋⣴⠟⣠⣾⣿⣿⣿⠏⢁⣼⣿⣿⣿⣿⣿⣿⠟⣿⣿⣿⠟⠂⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠀⠘⠛⠛⣛⣛⣋⢉⣉⣉⣛⡛⠻⠿⣿⣿
|
||||||
|
⡟⣸⣿⣿⣿⡏⡸⢡⣾⣿⢋⣤⡿⢡⣾⣿⣿⣿⠟⠁⣰⣿⠟⣹⡿⢿⣿⠋⢀⣾⣿⣿⠏⡄⢻⡆⢀⠙⣿⣿⡿⠟⢋⣩⣤⣶⣾⣿⣿⣿⠟⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶
|
||||||
|
⢠⣿⣿⣿⣿⠃⢡⣿⡟⣡⣾⠏⣰⣿⣿⣿⡿⠋⢀⣾⡿⢁⣼⠟⢠⠞⠁⣰⣿⣿⡿⢣⣾⡇⢸⣿⣾⠆⠙⠁⣰⣾⣿⣿⣿⣿⣿⣿⣿⠏⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
||||||
|
⣿⣿⣿⣿⡏⢠⣿⠏⣴⣿⠟⣰⣿⣿⣿⡿⣡⢃⣾⠟⢀⡞⠁⣴⢋⠄⣼⣿⣿⠏⣰⣿⡟⢀⡼⠋⣠⡶⠀⣴⣿⢿⣿⣿⢿⠏⣸⣿⡏⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
||||||
|
⣿⣿⣿⣿⣧⣿⠏⣼⡿⠿⢠⣿⣿⣿⡟⣰⢃⣾⠏⢀⠞⠀⡼⢡⠟⣼⣿⡟⣡⣾⣿⠏⠀⠄⠀⣾⡿⠁⣼⡿⢃⡜⣽⡏⠈⣰⡟⠀⠁⣾⣿⣿⣿⣿⣿⣿⡇⢹⣿⣿⣿⣿⣿⡇⢻
|
||||||
|
⣿⣿⣿⣿⣿⡏⣸⣿⠃⠀⣼⣿⣿⡟⣴⢃⣾⠏⠀⢀⢀⡾⢡⡟⣰⣿⢋⣴⡿⠋⠁⣀⠀⠀⣰⡿⠁⡌⡸⢁⣾⣿⡟⠀⢠⣿⡇⠀⣸⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⡇⢸
|
||||||
|
⣿⣿⣿⣿⡿⢰⣿⠃⡆⢀⣿⣿⡟⣸⠏⣾⠏⣴⠂⠂⣾⢡⡟⣰⡟⣡⠞⣩⠄⢀⣼⠁⠀⣼⣿⠇⡼⠠⠃⣼⣿⡿⠁⢀⣾⠿⠀⠀⡏⢸⣿⣿⣿⠃⣿⣿⠇⢸⣿⣿⣿⣿⣿⡇⢸
|
||||||
|
⣿⣿⡇⢸⠇⣾⡏⣸⠃⢸⣿⡿⢱⡟⣸⡟⣼⠃⠂⣼⢃⠏⢠⠏⠰⠋⠀⢁⣠⣾⠇⠀⣼⣿⡟⠀⠁⣦⣾⣿⡿⠀⣴⡾⠀⠀⠀⠠⠁⣿⡿⢹⠉⢠⣿⣿⠀⢸⣿⣿⣿⣿⣿⡇⢸
|
||||||
|
⣿⣿⠀⣼⢰⣿⡀⡿⢀⢸⣿⢡⣿⢡⡿⠰⡏⠀⢰⠇⡞⠀⠀⣾⠞⠀⢴⣿⣿⣷⠀⣼⣿⣿⠃⠀⣸⣿⡿⡿⠀⢀⣿⠇⠀⠀⠀⠐⢀⣿⠇⡌⢠⣸⣿⡇⠀⢸⣿⣿⣿⣿⣿⠃⣸
|
||||||
|
⣿⡟⠀⡇⣸⣿⢠⡇⣏⣾⡏⣼⡇⡼⠁⠘⠁⠀⡟⡸⠀⠐⠚⢁⣦⣶⣿⣿⣿⡇⠀⣿⠇⡟⠀⠀⣿⡿⠁⠀⠀⢸⡟⠀⢰⠆⠀⡄⢸⡏⢠⠃⣿⡟⢹⡇⠀⣿⣿⣿⣿⣿⡿⠀⡏
|
||||||
|
⣿⡇⠀⡇⣿⣿⢸⡇⡟⣿⢰⣿⢡⠃⠀⠀⣰⠃⢡⠁⠈⠀⣴⣿⣿⣿⣿⣿⠟⡁⡀⢻⠀⡇⠀⢀⣿⠃⠀⠀⡄⢸⠃⠀⣿⡇⠀⠀⣼⡇⢸⢀⣿⡇⢸⠀⢀⣿⣿⣿⣿⣿⠇⢸⠁
|
||||||
|
⣿⢃⡆⡇⢿⣿⢸⣷⡇⠏⣼⡏⡌⠀⠀⠀⡏⢀⣼⡘⢀⣤⡈⠛⢿⣿⣿⣧⣾⡇⣇⠘⠀⠁⠀⢸⡏⠀⠀⣼⠃⡏⠀⢸⣿⡇⠀⠀⣿⠀⣾⣼⣿⠀⡟⠀⢸⣿⣿⣿⣿⡟⢀⡟⢠
|
||||||
|
⣿⣿⡇⡇⢸⣿⢸⠛⡇⠀⣿⠇⠁⠀⠏⣼⣷⢸⡿⢃⣾⣿⣷⣄⠀⠈⠛⢿⣿⡇⣿⡀⠀⠀⠀⠈⠀⠀⣼⣿⠀⠀⠀⣀⠙⢧⠀⠀⣿⠀⣿⣿⣿⠀⡇⠀⣼⣿⣿⣿⣿⠃⣼⠃⣾
|
||||||
|
⣿⣿⡇⠁⢸⣿⠘⠀⡇⠀⣿⠀⠀⠀⢰⣿⣿⡆⠃⣼⣿⣿⣿⣿⣷⣤⣄⣤⣽⣇⢹⡇⠀⣦⡄⠀⠀⢸⣿⡟⠀⠀⢠⣿⣷⣄⠀⠀⣿⠀⣿⣿⡇⢰⠁⠀⣿⣿⣿⣿⡟⢠⡏⢰⡿
|
||||||
|
⣿⠻⣷⠀⢸⣿⡄⠀⣷⣾⣧⠀⠀⠀⠈⣿⣿⠇⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣷⣦⡘⡷⠄⠀⣿⣿⡇⠀⣰⣾⣿⣿⣿⡇⠀⠈⠀⣿⣿⠁⠈⠀⢸⣿⣿⣿⡿⢀⣾⣧⣿⠃
|
||||||
|
⣿⡆⣿⠀⢸⣿⣇⠀⣿⣿⣿⣷⠀⢀⠀⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⠷⢂⣤⣼⣿⣿⣇⢀⣿⣿⣿⣿⣿⣷⠀⠀⠀⣿⣿⠀⠀⠀⣼⣿⣿⣿⠃⣸⣿⣿⠃⠀
|
||||||
|
⣿⣧⢸⡆⠘⣿⣿⠀⢻⣿⣿⡇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣶⣶⣿⣿⣿⣿⣿⣿⣿⠘⠛⣻⣿⣿⣿⣿⡀⠀⠀⣿⡏⢠⠀⠀⣾⣿⣿⠇⠠⢿⢻⠏⠀⠀
|
||||||
|
⢹⣿⡌⣧⠀⠻⣿⣷⣾⣿⣿⡇⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠻⣿⣿⣿⣿⣷⡆⠀⢿⠃⠀⠀⠀⣿⣿⠏⠀⠀⠆⠀⠀⠀⠀
|
||||||
|
⡌⢿⣷⢹⡆⠈⢿⣿⣿⣿⣿⠧⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣄⡈⠛⠿⣿⣿⣷⠀⠸⠀⠀⡄⢸⣿⡏⢠⠂⠘⠀⠀⠀⠀⠀
|
||||||
|
⣷⠘⣿⡆⢿⣧⡈⠻⢿⣿⣿⠀⣿⣧⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣡⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⡆⠀⠀⢠⠁⣸⡟⢀⠎⠀⠀⠀⠀⠀⠀⢠
|
||||||
|
⣿⣧⢹⣿⡘⣿⣷⣀⠈⣿⣿⠀⣿⣿⣧⡹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢸⠀⠟⠁⡼⠀⠀⠀⠀⠀⠀⢀⣾
|
||||||
|
⣿⣿⣆⢻⣷⡘⣿⣿⡀⠘⣿⡆⢹⣿⣿⣷⡌⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠗⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⢸⠀⠀⢰⠁⠀⠀⢀⠀⠀⢀⣿⣿
|
||||||
|
⢿⢿⣿⣦⠹⣷⠸⣿⣷⠀⠹⡇⠘⣿⣿⠿⢿⣦⣙⣿⣿⣿⣿⣿⣿⣿⣿⠟⣡⣄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠸⠀⠀⠌⠀⠀⢀⠆⠀⢀⣿⣿⣿
|
||||||
|
⠀⠈⢿⣿⣷⡙⢧⠹⣿⣇⢧⠉⠀⣿⠏⣰⣶⣤⣍⡛⠿⣿⣿⣿⣿⠟⣡⣾⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠈⠀⢠⣾⣿⡿⠟
|
||||||
|
⣀⠀⠈⠻⣿⣿⣌⠣⠙⣿⡌⢧⠀⠁⣼⣿⣿⣿⣿⣿⣷⣶⣬⣭⣥⣾⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠗⠀⠀⠀⠀⠀⠀⣰⣿⡟⠁⠀⠀
|
||||||
|
⣿⣿⣶⠀⠈⠛⢿⣷⡄⠈⢿⡌⣇⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⠸⣟⡀⣀⠀⢠⣼⣿⣿⣷⣿⠀⠀
|
||||||
|
⣿⣿⣿⣿⣷⣤⡀⠉⠛⢦⣀⣿⡘⡄⢹⣬⡙⣿⣿⣿⠟⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣙⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡙⠛⠠⠶⠃⣸⣿⣿⣿⣿⠀⠀
|
||||||
|
⣿⣿⣿⣿⣿⣿⣧⡀⠀⠰⣿⣿⣷⠸⡄⠙⣷⣼⣧⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣦⣭⣭⡉⣙⡛⠛⠿⣿⣿⣿⣿⣿⡇⠐⠄⢀⢂⡀⢘⣿⣿⣿⣿⣿⣷⡄
|
||||||
|
⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⢹⣿⣿⣧⢹⡄⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢇⣿⢿⣷⡄⠘⣿⣿⣿⣿⠇⣾⣿⣦⣤⡀⢸⣿⣿⣿⣿⣿⣿⣿
|
||||||
|
⣿⣿⣿⣷⣤⣈⡙⠻⢿⡇⠀⢿⣇⢻⡆⢿⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⡀⡜⢁⣤⡘⣿⣿⡿⢠⣿⣿⣿⣿⠁⣿⣿⣿⣿⣿⣿⣿⣿
|
||||||
|
⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⡀⠘⣿⣄⢻⡘⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣸⣿⡀⠀⣷⡘⣿⠇⣼⣿⣿⣿⡿⢸⣿⣿⣿⣿⣿⣿⣿⣿`);
|
||||||
|
// mmmmmmmmmmmmmmmmm girls kissing,,,,,
|
||||||
|
|
||||||
|
document.querySelectorAll("[data-href]").forEach((el) => {
|
||||||
|
el.style.cursor = "pointer";
|
||||||
|
if (!el.hasAttribute("role")) el.setAttribute("role", "link");
|
||||||
|
if (!el.hasAttribute("tabindex")) el.setAttribute("tabindex", "0");
|
||||||
|
|
||||||
|
const go = () => {
|
||||||
|
const url = el.dataset.href;
|
||||||
|
if (!url) return;
|
||||||
|
location.href = url;
|
||||||
|
};
|
||||||
|
|
||||||
|
el.addEventListener("click", go);
|
||||||
|
el.addEventListener("keydown", (e) => {
|
||||||
|
if (e.key === "Enter" || e.key === " ") {
|
||||||
|
e.preventDefault();
|
||||||
|
go();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
/* ========================== flavors.js ========================= */
|
||||||
|
(function flavors() {
|
||||||
|
// Metadata only — colors are defined in the per-flavor CSS files.
|
||||||
|
const FLAVORS = {
|
||||||
|
mocha: { label: "Mocha", dot: "#f5c2e7" },
|
||||||
|
macchiato: { label: "Macchiato", dot: "#f5bde6" },
|
||||||
|
frappe: { label: "Frappé", dot: "#f4b8e4" },
|
||||||
|
latte: { label: "Latte", dot: "#ea76cb" },
|
||||||
|
};
|
||||||
|
const ORDER = ["mocha", "macchiato", "frappe", "latte"];
|
||||||
|
|
||||||
|
const root = document.documentElement;
|
||||||
|
const ls = window.localStorage;
|
||||||
|
|
||||||
|
function apply(name) {
|
||||||
|
const f = FLAVORS[name] || FLAVORS.mocha;
|
||||||
|
root.setAttribute("data-flavor", name); // CSS does the rest
|
||||||
|
const meta = document.querySelector('meta[name="theme-color"]');
|
||||||
|
if (meta) meta.setAttribute("content", f.dot);
|
||||||
|
}
|
||||||
|
|
||||||
|
let current = ls.getItem("ctpFlavor");
|
||||||
|
if (!ORDER.includes(current)) current = "mocha";
|
||||||
|
apply(current); // the <head> snippet already set this to avoid a flash
|
||||||
|
|
||||||
|
// ---- top-right corner icon button ----
|
||||||
|
const bar = document.createElement("div");
|
||||||
|
bar.className = "beta-bar";
|
||||||
|
bar.innerHTML = `
|
||||||
|
<button class="beta-btn" id="flavor-btn" type="button">
|
||||||
|
<img class="beta-icon" alt="">
|
||||||
|
</button>`;
|
||||||
|
// Group the single-item widgets (now-playing + theme toggle) into one
|
||||||
|
// top bar. On mobile they sit side by side; on desktop both stay
|
||||||
|
// position:fixed, so this wrapper is zero-size and invisible.
|
||||||
|
let topbar = document.querySelector(".topbar");
|
||||||
|
if (!topbar) {
|
||||||
|
topbar = document.createElement("div");
|
||||||
|
topbar.className = "topbar";
|
||||||
|
document.body.insertBefore(topbar, document.body.firstChild);
|
||||||
|
const np = document.getElementById("now-playing");
|
||||||
|
// Don't hijack the presence card when it's the centerpiece of the
|
||||||
|
// dedicated /discord page (it lives inside .presence-stage there).
|
||||||
|
if (np && !np.closest(".presence-stage")) topbar.appendChild(np);
|
||||||
|
}
|
||||||
|
topbar.appendChild(bar);
|
||||||
|
|
||||||
|
const btn = bar.querySelector("#flavor-btn");
|
||||||
|
const icon = bar.querySelector(".beta-icon");
|
||||||
|
|
||||||
|
function paintBtn() {
|
||||||
|
const f = FLAVORS[current];
|
||||||
|
icon.src = `/assets/theme/${current}.png`; // e.g. /assets/theme/mocha.png
|
||||||
|
icon.alt = f.label;
|
||||||
|
btn.title = `Theme: ${f.label} (click to cycle)`;
|
||||||
|
}
|
||||||
|
paintBtn();
|
||||||
|
|
||||||
|
btn.addEventListener("click", () => {
|
||||||
|
current = ORDER[(ORDER.indexOf(current) + 1) % ORDER.length];
|
||||||
|
ls.setItem("ctpFlavor", current);
|
||||||
|
apply(current);
|
||||||
|
paintBtn();
|
||||||
|
});
|
||||||
|
|
||||||
|
// ---- cat collection button (sits next to the theme button) ----
|
||||||
|
const catBtn = document.createElement("button");
|
||||||
|
catBtn.className = "beta-btn";
|
||||||
|
catBtn.id = "cat-btn";
|
||||||
|
catBtn.type = "button";
|
||||||
|
catBtn.title = "Cat collection";
|
||||||
|
catBtn.setAttribute("aria-label", "Open cat collection");
|
||||||
|
catBtn.innerHTML = `<span class="beta-cat-icon" aria-hidden="true"></span>`;
|
||||||
|
bar.appendChild(catBtn);
|
||||||
|
|
||||||
|
catBtn.addEventListener("click", () => {
|
||||||
|
if (typeof window.toggleCatPicker === "function") window.toggleCatPicker();
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
|
/* ===================== cat.js (oneko.js) ======================= */
|
||||||
// oneko.js: https://github.com/adryd325/oneko.js
|
// oneko.js: https://github.com/adryd325/oneko.js
|
||||||
|
|
||||||
(function oneko() {
|
(function oneko() {
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
(function flavors() {
|
|
||||||
// Metadata only — colors are defined in the per-flavor CSS files.
|
|
||||||
const FLAVORS = {
|
|
||||||
mocha: { label: "Mocha", dot: "#f5c2e7" },
|
|
||||||
macchiato: { label: "Macchiato", dot: "#f5bde6" },
|
|
||||||
frappe: { label: "Frappé", dot: "#f4b8e4" },
|
|
||||||
latte: { label: "Latte", dot: "#ea76cb" },
|
|
||||||
};
|
|
||||||
const ORDER = ["mocha", "macchiato", "frappe", "latte"];
|
|
||||||
|
|
||||||
const root = document.documentElement;
|
|
||||||
const ls = window.localStorage;
|
|
||||||
|
|
||||||
function apply(name) {
|
|
||||||
const f = FLAVORS[name] || FLAVORS.mocha;
|
|
||||||
root.setAttribute("data-flavor", name); // CSS does the rest
|
|
||||||
const meta = document.querySelector('meta[name="theme-color"]');
|
|
||||||
if (meta) meta.setAttribute("content", f.dot);
|
|
||||||
}
|
|
||||||
|
|
||||||
let current = ls.getItem("ctpFlavor");
|
|
||||||
if (!ORDER.includes(current)) current = "mocha";
|
|
||||||
apply(current); // the <head> snippet already set this to avoid a flash
|
|
||||||
|
|
||||||
// ---- top-right corner icon button ----
|
|
||||||
const bar = document.createElement("div");
|
|
||||||
bar.className = "beta-bar";
|
|
||||||
bar.innerHTML = `
|
|
||||||
<button class="beta-btn" id="flavor-btn" type="button">
|
|
||||||
<img class="beta-icon" alt="">
|
|
||||||
</button>`;
|
|
||||||
// Group the single-item widgets (now-playing + theme toggle) into one
|
|
||||||
// top bar. On mobile they sit side by side; on desktop both stay
|
|
||||||
// position:fixed, so this wrapper is zero-size and invisible.
|
|
||||||
let topbar = document.querySelector(".topbar");
|
|
||||||
if (!topbar) {
|
|
||||||
topbar = document.createElement("div");
|
|
||||||
topbar.className = "topbar";
|
|
||||||
document.body.insertBefore(topbar, document.body.firstChild);
|
|
||||||
const np = document.getElementById("now-playing");
|
|
||||||
// Don't hijack the presence card when it's the centerpiece of the
|
|
||||||
// dedicated /discord page (it lives inside .presence-stage there).
|
|
||||||
if (np && !np.closest(".presence-stage")) topbar.appendChild(np);
|
|
||||||
}
|
|
||||||
topbar.appendChild(bar);
|
|
||||||
|
|
||||||
const btn = bar.querySelector("#flavor-btn");
|
|
||||||
const icon = bar.querySelector(".beta-icon");
|
|
||||||
|
|
||||||
function paintBtn() {
|
|
||||||
const f = FLAVORS[current];
|
|
||||||
icon.src = `/assets/theme/${current}.png`; // e.g. /assets/theme/mocha.png
|
|
||||||
icon.alt = f.label;
|
|
||||||
btn.title = `Theme: ${f.label} (click to cycle)`;
|
|
||||||
}
|
|
||||||
paintBtn();
|
|
||||||
|
|
||||||
btn.addEventListener("click", () => {
|
|
||||||
current = ORDER[(ORDER.indexOf(current) + 1) % ORDER.length];
|
|
||||||
ls.setItem("ctpFlavor", current);
|
|
||||||
apply(current);
|
|
||||||
paintBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
// ---- cat collection button (sits next to the theme button) ----
|
|
||||||
const catBtn = document.createElement("button");
|
|
||||||
catBtn.className = "beta-btn";
|
|
||||||
catBtn.id = "cat-btn";
|
|
||||||
catBtn.type = "button";
|
|
||||||
catBtn.title = "Cat collection";
|
|
||||||
catBtn.setAttribute("aria-label", "Open cat collection");
|
|
||||||
catBtn.innerHTML = `<span class="beta-cat-icon" aria-hidden="true"></span>`;
|
|
||||||
bar.appendChild(catBtn);
|
|
||||||
|
|
||||||
catBtn.addEventListener("click", () => {
|
|
||||||
if (typeof window.toggleCatPicker === "function") window.toggleCatPicker();
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
{
|
{
|
||||||
title: "Friends",
|
title: "Friends",
|
||||||
members: [
|
members: [
|
||||||
|
{ name: "Aureal", img: "/assets/friends/aureal.gif", tier: "friend", discordId: "1498977251134279900", link: "https://aureal.dev/" },
|
||||||
{ name: "Fin", img: "/assets/friends/fin.png", tier: "friend", discordId: "867818211574808607", link: null },
|
{ name: "Fin", img: "/assets/friends/fin.png", tier: "friend", discordId: "867818211574808607", link: null },
|
||||||
{ name: "Meme", img: "/assets/friends/meme.png", tier: "friend", discordId: "812998699667161098", link: null },
|
{ name: "Meme", img: "/assets/friends/meme.png", tier: "friend", discordId: "812998699667161098", link: null },
|
||||||
{ name: "N", img: "/assets/friends/n.png", tier: "friend", discordId: "639399972407869450", link: null },
|
{ name: "N", img: "/assets/friends/n.png", tier: "friend", discordId: "639399972407869450", link: null },
|
||||||
|
|
@ -31,7 +32,7 @@
|
||||||
title: "Other Peeps",
|
title: "Other Peeps",
|
||||||
subtitle: "You can request to be added here!",
|
subtitle: "You can request to be added here!",
|
||||||
members: [
|
members: [
|
||||||
{ name: "Aureal", img: "/assets/known-people/aureal.gif", tier: "known", discordId: "1498977251134279900", link: "https://aureal.dev/" },
|
{ name: "pokemon", img: "/assets/known-people/pokemon.png", tier: "known", discordId: "784443338627612673", link: "https://devmatei.com/" },
|
||||||
{ name: "Sy", img: "/assets/known-people/sy.png", tier: "known", discordId: "1354212422839308469", link: "https://synapsexen.xyz/"}
|
{ name: "Sy", img: "/assets/known-people/sy.png", tier: "known", discordId: "1354212422839308469", link: "https://synapsexen.xyz/"}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@
|
||||||
|
|
||||||
const root = typeof target === "string" ? document.querySelector(target) : target;
|
const root = typeof target === "string" ? document.querySelector(target) : target;
|
||||||
if (!root) {
|
if (!root) {
|
||||||
console.warn("[contrib-heatmap] target not found:", target);
|
console.warn("[heatmap] target not found:", target);
|
||||||
return Promise.resolve(null);
|
return Promise.resolve(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -250,7 +250,7 @@
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
if (err.name === "AbortError") return null; // superseded by a newer render
|
if (err.name === "AbortError") return null; // superseded by a newer render
|
||||||
if (countEl) countEl.textContent = "Couldn't load contributions.";
|
if (countEl) countEl.textContent = "Couldn't load contributions.";
|
||||||
console.error("[contrib-heatmap]", err);
|
console.error("[heatmap]", err);
|
||||||
return null;
|
return null;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
39
js/music.js
39
js/music.js
|
|
@ -1,42 +1,3 @@
|
||||||
// Ari was here uwu
|
|
||||||
// Professional boob lover
|
|
||||||
// girls kissing,,,
|
|
||||||
console.log(`
|
|
||||||
⣿⣿⣿⠏⣴⣿⣿⣿⣿⡿⠟⢹⣿⣿⣿⡿⠋⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡉⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
||||||
⣿⣿⢇⣾⣿⣿⣿⡿⢋⢀⣴⣿⣿⡿⠋⠀⠘⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣀⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
||||||
⣿⡏⣼⣿⣿⣿⠏⣴⢃⣾⣿⡿⢋⣴⠟⣠⣾⣿⣿⣿⠏⢁⣼⣿⣿⣿⣿⣿⣿⠟⣿⣿⣿⠟⠂⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠛⠀⠘⠛⠛⣛⣛⣋⢉⣉⣉⣛⡛⠻⠿⣿⣿
|
|
||||||
⡟⣸⣿⣿⣿⡏⡸⢡⣾⣿⢋⣤⡿⢡⣾⣿⣿⣿⠟⠁⣰⣿⠟⣹⡿⢿⣿⠋⢀⣾⣿⣿⠏⡄⢻⡆⢀⠙⣿⣿⡿⠟⢋⣩⣤⣶⣾⣿⣿⣿⠟⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶
|
|
||||||
⢠⣿⣿⣿⣿⠃⢡⣿⡟⣡⣾⠏⣰⣿⣿⣿⡿⠋⢀⣾⡿⢁⣼⠟⢠⠞⠁⣰⣿⣿⡿⢣⣾⡇⢸⣿⣾⠆⠙⠁⣰⣾⣿⣿⣿⣿⣿⣿⣿⠏⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
||||||
⣿⣿⣿⣿⡏⢠⣿⠏⣴⣿⠟⣰⣿⣿⣿⡿⣡⢃⣾⠟⢀⡞⠁⣴⢋⠄⣼⣿⣿⠏⣰⣿⡟⢀⡼⠋⣠⡶⠀⣴⣿⢿⣿⣿⢿⠏⣸⣿⡏⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
|
|
||||||
⣿⣿⣿⣿⣧⣿⠏⣼⡿⠿⢠⣿⣿⣿⡟⣰⢃⣾⠏⢀⠞⠀⡼⢡⠟⣼⣿⡟⣡⣾⣿⠏⠀⠄⠀⣾⡿⠁⣼⡿⢃⡜⣽⡏⠈⣰⡟⠀⠁⣾⣿⣿⣿⣿⣿⣿⡇⢹⣿⣿⣿⣿⣿⡇⢻
|
|
||||||
⣿⣿⣿⣿⣿⡏⣸⣿⠃⠀⣼⣿⣿⡟⣴⢃⣾⠏⠀⢀⢀⡾⢡⡟⣰⣿⢋⣴⡿⠋⠁⣀⠀⠀⣰⡿⠁⡌⡸⢁⣾⣿⡟⠀⢠⣿⡇⠀⣸⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⡇⢸
|
|
||||||
⣿⣿⣿⣿⡿⢰⣿⠃⡆⢀⣿⣿⡟⣸⠏⣾⠏⣴⠂⠂⣾⢡⡟⣰⡟⣡⠞⣩⠄⢀⣼⠁⠀⣼⣿⠇⡼⠠⠃⣼⣿⡿⠁⢀⣾⠿⠀⠀⡏⢸⣿⣿⣿⠃⣿⣿⠇⢸⣿⣿⣿⣿⣿⡇⢸
|
|
||||||
⣿⣿⡇⢸⠇⣾⡏⣸⠃⢸⣿⡿⢱⡟⣸⡟⣼⠃⠂⣼⢃⠏⢠⠏⠰⠋⠀⢁⣠⣾⠇⠀⣼⣿⡟⠀⠁⣦⣾⣿⡿⠀⣴⡾⠀⠀⠀⠠⠁⣿⡿⢹⠉⢠⣿⣿⠀⢸⣿⣿⣿⣿⣿⡇⢸
|
|
||||||
⣿⣿⠀⣼⢰⣿⡀⡿⢀⢸⣿⢡⣿⢡⡿⠰⡏⠀⢰⠇⡞⠀⠀⣾⠞⠀⢴⣿⣿⣷⠀⣼⣿⣿⠃⠀⣸⣿⡿⡿⠀⢀⣿⠇⠀⠀⠀⠐⢀⣿⠇⡌⢠⣸⣿⡇⠀⢸⣿⣿⣿⣿⣿⠃⣸
|
|
||||||
⣿⡟⠀⡇⣸⣿⢠⡇⣏⣾⡏⣼⡇⡼⠁⠘⠁⠀⡟⡸⠀⠐⠚⢁⣦⣶⣿⣿⣿⡇⠀⣿⠇⡟⠀⠀⣿⡿⠁⠀⠀⢸⡟⠀⢰⠆⠀⡄⢸⡏⢠⠃⣿⡟⢹⡇⠀⣿⣿⣿⣿⣿⡿⠀⡏
|
|
||||||
⣿⡇⠀⡇⣿⣿⢸⡇⡟⣿⢰⣿⢡⠃⠀⠀⣰⠃⢡⠁⠈⠀⣴⣿⣿⣿⣿⣿⠟⡁⡀⢻⠀⡇⠀⢀⣿⠃⠀⠀⡄⢸⠃⠀⣿⡇⠀⠀⣼⡇⢸⢀⣿⡇⢸⠀⢀⣿⣿⣿⣿⣿⠇⢸⠁
|
|
||||||
⣿⢃⡆⡇⢿⣿⢸⣷⡇⠏⣼⡏⡌⠀⠀⠀⡏⢀⣼⡘⢀⣤⡈⠛⢿⣿⣿⣧⣾⡇⣇⠘⠀⠁⠀⢸⡏⠀⠀⣼⠃⡏⠀⢸⣿⡇⠀⠀⣿⠀⣾⣼⣿⠀⡟⠀⢸⣿⣿⣿⣿⡟⢀⡟⢠
|
|
||||||
⣿⣿⡇⡇⢸⣿⢸⠛⡇⠀⣿⠇⠁⠀⠏⣼⣷⢸⡿⢃⣾⣿⣷⣄⠀⠈⠛⢿⣿⡇⣿⡀⠀⠀⠀⠈⠀⠀⣼⣿⠀⠀⠀⣀⠙⢧⠀⠀⣿⠀⣿⣿⣿⠀⡇⠀⣼⣿⣿⣿⣿⠃⣼⠃⣾
|
|
||||||
⣿⣿⡇⠁⢸⣿⠘⠀⡇⠀⣿⠀⠀⠀⢰⣿⣿⡆⠃⣼⣿⣿⣿⣿⣷⣤⣄⣤⣽⣇⢹⡇⠀⣦⡄⠀⠀⢸⣿⡟⠀⠀⢠⣿⣷⣄⠀⠀⣿⠀⣿⣿⡇⢰⠁⠀⣿⣿⣿⣿⡟⢠⡏⢰⡿
|
|
||||||
⣿⠻⣷⠀⢸⣿⡄⠀⣷⣾⣧⠀⠀⠀⠈⣿⣿⠇⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣷⣦⡘⡷⠄⠀⣿⣿⡇⠀⣰⣾⣿⣿⣿⡇⠀⠈⠀⣿⣿⠁⠈⠀⢸⣿⣿⣿⡿⢀⣾⣧⣿⠃
|
|
||||||
⣿⡆⣿⠀⢸⣿⣇⠀⣿⣿⣿⣷⠀⢀⠀⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⠷⢂⣤⣼⣿⣿⣇⢀⣿⣿⣿⣿⣿⣷⠀⠀⠀⣿⣿⠀⠀⠀⣼⣿⣿⣿⠃⣸⣿⣿⠃⠀
|
|
||||||
⣿⣧⢸⡆⠘⣿⣿⠀⢻⣿⣿⡇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣶⣶⣿⣿⣿⣿⣿⣿⣿⠘⠛⣻⣿⣿⣿⣿⡀⠀⠀⣿⡏⢠⠀⠀⣾⣿⣿⠇⠠⢿⢻⠏⠀⠀
|
|
||||||
⢹⣿⡌⣧⠀⠻⣿⣷⣾⣿⣿⡇⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠻⣿⣿⣿⣿⣷⡆⠀⢿⠃⠀⠀⠀⣿⣿⠏⠀⠀⠆⠀⠀⠀⠀
|
|
||||||
⡌⢿⣷⢹⡆⠈⢿⣿⣿⣿⣿⠧⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣄⡈⠛⠿⣿⣿⣷⠀⠸⠀⠀⡄⢸⣿⡏⢠⠂⠘⠀⠀⠀⠀⠀
|
|
||||||
⣷⠘⣿⡆⢿⣧⡈⠻⢿⣿⣿⠀⣿⣧⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣡⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⡆⠀⠀⢠⠁⣸⡟⢀⠎⠀⠀⠀⠀⠀⠀⢠
|
|
||||||
⣿⣧⢹⣿⡘⣿⣷⣀⠈⣿⣿⠀⣿⣿⣧⡹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢸⠀⠟⠁⡼⠀⠀⠀⠀⠀⠀⢀⣾
|
|
||||||
⣿⣿⣆⢻⣷⡘⣿⣿⡀⠘⣿⡆⢹⣿⣿⣷⡌⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠗⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⢸⠀⠀⢰⠁⠀⠀⢀⠀⠀⢀⣿⣿
|
|
||||||
⢿⢿⣿⣦⠹⣷⠸⣿⣷⠀⠹⡇⠘⣿⣿⠿⢿⣦⣙⣿⣿⣿⣿⣿⣿⣿⣿⠟⣡⣄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠸⠀⠀⠌⠀⠀⢀⠆⠀⢀⣿⣿⣿
|
|
||||||
⠀⠈⢿⣿⣷⡙⢧⠹⣿⣇⢧⠉⠀⣿⠏⣰⣶⣤⣍⡛⠿⣿⣿⣿⣿⠟⣡⣾⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠈⠀⢠⣾⣿⡿⠟
|
|
||||||
⣀⠀⠈⠻⣿⣿⣌⠣⠙⣿⡌⢧⠀⠁⣼⣿⣿⣿⣿⣿⣷⣶⣬⣭⣥⣾⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠗⠀⠀⠀⠀⠀⠀⣰⣿⡟⠁⠀⠀
|
|
||||||
⣿⣿⣶⠀⠈⠛⢿⣷⡄⠈⢿⡌⣇⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⠸⣟⡀⣀⠀⢠⣼⣿⣿⣷⣿⠀⠀
|
|
||||||
⣿⣿⣿⣿⣷⣤⡀⠉⠛⢦⣀⣿⡘⡄⢹⣬⡙⣿⣿⣿⠟⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣙⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡙⠛⠠⠶⠃⣸⣿⣿⣿⣿⠀⠀
|
|
||||||
⣿⣿⣿⣿⣿⣿⣧⡀⠀⠰⣿⣿⣷⠸⡄⠙⣷⣼⣧⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣦⣭⣭⡉⣙⡛⠛⠿⣿⣿⣿⣿⣿⡇⠐⠄⢀⢂⡀⢘⣿⣿⣿⣿⣿⣷⡄
|
|
||||||
⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⢹⣿⣿⣧⢹⡄⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢇⣿⢿⣷⡄⠘⣿⣿⣿⣿⠇⣾⣿⣦⣤⡀⢸⣿⣿⣿⣿⣿⣿⣿
|
|
||||||
⣿⣿⣿⣷⣤⣈⡙⠻⢿⡇⠀⢿⣇⢻⡆⢿⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⡀⡜⢁⣤⡘⣿⣿⡿⢠⣿⣿⣿⣿⠁⣿⣿⣿⣿⣿⣿⣿⣿
|
|
||||||
⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⡀⠘⣿⣄⢻⡘⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣸⣿⡀⠀⣷⡘⣿⠇⣼⣿⣿⣿⡿⢸⣿⣿⣿⣿⣿⣿⣿⣿`);
|
|
||||||
// mmmmmmmmmmmmmmmmm girls kissing,,,,,
|
|
||||||
|
|
||||||
(function music() {
|
(function music() {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
|
|
||||||
22
js/nav.js
22
js/nav.js
|
|
@ -1,22 +0,0 @@
|
||||||
// Navigate via data-href so the destination URL never shows in the
|
|
||||||
// browser status bar on hover. Pairs with the CSS View Transitions
|
|
||||||
// (@view-transition) for a smooth cross-fade between pages.
|
|
||||||
document.querySelectorAll("[data-href]").forEach((el) => {
|
|
||||||
el.style.cursor = "pointer";
|
|
||||||
if (!el.hasAttribute("role")) el.setAttribute("role", "link");
|
|
||||||
if (!el.hasAttribute("tabindex")) el.setAttribute("tabindex", "0");
|
|
||||||
|
|
||||||
const go = () => {
|
|
||||||
const url = el.dataset.href;
|
|
||||||
if (!url) return;
|
|
||||||
location.href = url;
|
|
||||||
};
|
|
||||||
|
|
||||||
el.addEventListener("click", go);
|
|
||||||
el.addEventListener("keydown", (e) => {
|
|
||||||
if (e.key === "Enter" || e.key === " ") {
|
|
||||||
e.preventDefault();
|
|
||||||
go();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
@ -121,7 +121,7 @@
|
||||||
out += "\n\nTip: type a social's name (try 'socials') to open it.";
|
out += "\n\nTip: type a social's name (try 'socials') to open it.";
|
||||||
return { text: out };
|
return { text: out };
|
||||||
},
|
},
|
||||||
ls() {return this.help()},
|
ls() { return COMMANDS.help(); },
|
||||||
code() {
|
code() {
|
||||||
window.open("https://git.gay/doughmination/c.stupid.cat", "_blank");
|
window.open("https://git.gay/doughmination/c.stupid.cat", "_blank");
|
||||||
return { text: "Opening site source code..." }
|
return { text: "Opening site source code..." }
|
||||||
|
|
|
||||||
|
|
@ -78,10 +78,8 @@
|
||||||
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script src="/js/cat.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
<script src="/js/core.js" data-cat="/assets/oneko/classics/classic.png"></script>
|
||||||
<script src="/js/nav.js"></script>
|
|
||||||
<script src="/js/music.js"></script>
|
<script src="/js/music.js"></script>
|
||||||
<script src="/js/flavors.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
Loading…
Reference in New Issue