commit e0de85372a766f439d1d3b2786ecdb323373ce18 Author: DeviousTengu Date: Tue Apr 2 14:46:29 2024 -0400 initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a11d0af --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +# ignore all generated html files +site/.pub/**/*.html + +# ignore generated blog folder +site/.pub/blog diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..4dca9fd --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,20 @@ +LICENSE +------- + +The HTML and CSS code for the page structure is distributed under the MIT License. See the section below for a copy of the license. + +The site's content (i.e. text, images, etc.) is: Copyright © 2024 DeviousTengu, All Rights Reserved. + +Aya Shameimaru is a character from Touhou Project created by Team Shanghai Alice. + + +MIT LICENSE +----------- + +Copyright © 2024 DeviousTengu + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..60b84c9 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ + ![Tengu.Space](./site/.pub/img/logo.gif) + + This is my server where I host a blog and a number of webservices for myself and friends. + + ## Building + + ### Prerequesites + [aya](https://aya.chaotic.ninja/) + + ### Instructions + ``` + $ git clone https://git.tengu.space/devioustengu/tengu-space + $ cd tengu-space/site + $ aya build + ``` + Generated HTML files are placed in /.pub. diff --git a/site/.aya/layout.html b/site/.aya/layout.html new file mode 100644 index 0000000..edc154e --- /dev/null +++ b/site/.aya/layout.html @@ -0,0 +1,72 @@ + + + + + + {{ title }} - Tengu.Space + + + + + + +
+ + + +
+ +
+ {{ title }} +

{{ subtitle }}

+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ {{ content }} +
+ +
+ + + + +
diff --git a/site/.aya/post.html b/site/.aya/post.html new file mode 100644 index 0000000..afc2da0 --- /dev/null +++ b/site/.aya/post.html @@ -0,0 +1,74 @@ + + + + + + {{ title }} - Tengu.Space + + + + + + +
+ + + +
+ +
+ Dev's Blog +

Mountain of Random Nonsense

+
+ +
+ + + + + + + + + + + + + + + + + + + +
+

{{ title }}

+

{{ date-written }}

+ {{ content }} +
+ +
+ + + + +
diff --git a/site/.aya/upload b/site/.aya/upload new file mode 100755 index 0000000..0349285 --- /dev/null +++ b/site/.aya/upload @@ -0,0 +1,2 @@ +#!/bin/sh +rsync -acv --rsh="ssh -p 1230" --del $AYA_OUTDIR/ root@tengu.space:/var/www/html/ diff --git a/site/.pub/css/ie.css b/site/.pub/css/ie.css new file mode 100644 index 0000000..3e4c567 --- /dev/null +++ b/site/.pub/css/ie.css @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2024 DeviousTengu + * This file is distributed under the MIT License. + * See LICENSE.txt or https://opensource.org/license/mit + */ + +html { + background-color: #550000; +} + +#mountain { display: none; } + +#mountain-ie { + background-image: url('../img/mountain-ie.gif'); + background-position: bottom center; + background-repeat: repeat-x; + width: 100%; + height: 184px; +} diff --git a/site/.pub/css/stylesheet.css b/site/.pub/css/stylesheet.css new file mode 100644 index 0000000..46098bc --- /dev/null +++ b/site/.pub/css/stylesheet.css @@ -0,0 +1,212 @@ +/* + * Copyright (c) 2024 DeviousTengu + * This file is distributed under the MIT License. + * See LICENSE.txt or https://opensource.org/license/mit + */ + +@font-face { + font-family: Unifont; + src: url('../font/UnifontCondensed.ttf') format('truetype'); +} + +body { + background-attachment: fixed; + background-color: #442244; + background-image: url('../img/background.gif'); + background-repeat: repeat-x; + color: white; + font-family: Unifont, serif; + margin: 0; + position: relative; +} + +#mountain { + background-attachment: fixed; + background-image: url('../img/mountain.gif'); + background-position: center bottom; + background-repeat: repeat-x; + height: 100%; + width: 100%; + position: fixed; + bottom: 0; +} + +#everything { + height: 100%; + width: 720px; + margin: 0 auto; + position: relative; +} + +hr { + border: none; + visibility: hidden; +} + +h1, .yellow { color: yellow; } + +h2, th { color: #F04040; } + +h3 { color: magenta; } + +h4 { color: #FFFF99; } + +a { color: cyan; } + +.no-cell-padding { border-spacing: 0; } + +.no-cell-padding td { padding: 0; } + +.cell-padding td { padding: 4px; } + + +/* NAVIGATION */ + +#header { + width: 100%; + height: 72px; + position: relative; +} + +#logo { + position: absolute; + bottom: 0; + left: 0; +} + +#nav { + position: absolute; + bottom: 0; + right: 0; +} + +noscript { + position: absolute; + top: 0; + right: 0; + text-align: right; +} + + +/* STAGE */ + +#stage { text-align: center; } + +#stage p { margin-top: 0; } + + +/* BORDER */ + +#content { + table-layout: fixed; + width: 100%; + border-spacing: 0; + border-collapse: collapse; +} + +#top-left { + height: 16px; + width: 16px; + padding: 0px; + background-image: url('../img/border/top-left.gif'); +} + +#top-center { + height: 16px; + padding: 0px; + background-image: url('../img/border/top-center.gif'); +} + +#top-right { + height: 16px; + width: 16px; + padding: 0px; + background-image: url('../img/border/top-right.gif'); +} + +#mid-left { + width: 16px; + padding: 0px; + background-image: url('../img/border/mid-left.gif'); +} + +#mid-center { + padding: 4px; + background-image: url('../img/border/mid-center.gif'); +} + +#mid-right { + width: 16px; + padding: 0px; + background-image: url('../img/border/mid-right.gif'); +} + +#bottom-left { + height: 16px; + width: 16px; + padding: 0px; + background-image: url('../img/border/bottom-left.gif'); +} + +#bottom-center { + height: 16px; + padding: 0px; + background-image: url('../img/border/bottom-center.gif'); +} + +#bottom-right { + height: 16px; + width: 16px; + padding: 0px; + background-image: url('../img/border/bottom-right.gif'); +} + + +/* HOMEPAGE */ + +#aya-sprite { float: left; } + +a img { border: none; } + +#buttons a { text-decoration: none; } + + +/* BLOG POST LIST */ + +#blog-posts { width: 100%; } + +#blog-posts th, #blog-posts td { + padding: 8px; +} + +.table-cell-nowrap { + text-align: left; + overflow-x: hidden; + white-space: nowrap; + color: yellow; +} + +.table-cell-overflow { + max-width: 0; + width: 100%; +} + +.text-centered { text-align: center; } + +#rss { + position: absolute; + margin-left: 8px; +} + + +/* FOOTER */ + +#footer { + padding: 8px 0; + text-align: center; +} + +#footer p { + background-image: url('../img/footer.gif'); + display: inline; +} diff --git a/site/.pub/favicon.ico b/site/.pub/favicon.ico new file mode 100644 index 0000000..9d8b476 Binary files /dev/null and b/site/.pub/favicon.ico differ diff --git a/site/.pub/font/UnifontCondensed.ttf b/site/.pub/font/UnifontCondensed.ttf new file mode 100644 index 0000000..aaf32c0 Binary files /dev/null and b/site/.pub/font/UnifontCondensed.ttf differ diff --git a/site/.pub/img/avatar.gif b/site/.pub/img/avatar.gif new file mode 100644 index 0000000..ba8340b Binary files /dev/null and b/site/.pub/img/avatar.gif differ diff --git a/site/.pub/img/aya-sprite.gif b/site/.pub/img/aya-sprite.gif new file mode 100644 index 0000000..93346e9 Binary files /dev/null and b/site/.pub/img/aya-sprite.gif differ diff --git a/site/.pub/img/background.gif b/site/.pub/img/background.gif new file mode 100644 index 0000000..85fe964 Binary files /dev/null and b/site/.pub/img/background.gif differ diff --git a/site/.pub/img/blog/mirroring-awareness/gnome.png b/site/.pub/img/blog/mirroring-awareness/gnome.png new file mode 100644 index 0000000..792a482 Binary files /dev/null and b/site/.pub/img/blog/mirroring-awareness/gnome.png differ diff --git a/site/.pub/img/blog/mirroring-awareness/macos.png b/site/.pub/img/blog/mirroring-awareness/macos.png new file mode 100644 index 0000000..7bf0a77 Binary files /dev/null and b/site/.pub/img/blog/mirroring-awareness/macos.png differ diff --git a/site/.pub/img/blog/mirroring-awareness/plasma.jpg b/site/.pub/img/blog/mirroring-awareness/plasma.jpg new file mode 100644 index 0000000..e6bc2be Binary files /dev/null and b/site/.pub/img/blog/mirroring-awareness/plasma.jpg differ diff --git a/site/.pub/img/blog/mirroring-awareness/win11.png b/site/.pub/img/blog/mirroring-awareness/win11.png new file mode 100644 index 0000000..53072d6 Binary files /dev/null and b/site/.pub/img/blog/mirroring-awareness/win11.png differ diff --git a/site/.pub/img/blog/mirroring-awareness/win7.jpg b/site/.pub/img/blog/mirroring-awareness/win7.jpg new file mode 100644 index 0000000..b474da0 Binary files /dev/null and b/site/.pub/img/blog/mirroring-awareness/win7.jpg differ diff --git a/site/.pub/img/blog/mirroring-awareness/winxp.jpg b/site/.pub/img/blog/mirroring-awareness/winxp.jpg new file mode 100644 index 0000000..f1d117e Binary files /dev/null and b/site/.pub/img/blog/mirroring-awareness/winxp.jpg differ diff --git a/site/.pub/img/border/bottom-center.gif b/site/.pub/img/border/bottom-center.gif new file mode 100644 index 0000000..3ffaa22 Binary files /dev/null and b/site/.pub/img/border/bottom-center.gif differ diff --git a/site/.pub/img/border/bottom-left.gif b/site/.pub/img/border/bottom-left.gif new file mode 100644 index 0000000..c46424d Binary files /dev/null and b/site/.pub/img/border/bottom-left.gif differ diff --git a/site/.pub/img/border/bottom-right.gif b/site/.pub/img/border/bottom-right.gif new file mode 100644 index 0000000..044abed Binary files /dev/null and b/site/.pub/img/border/bottom-right.gif differ diff --git a/site/.pub/img/border/mid-center.gif b/site/.pub/img/border/mid-center.gif new file mode 100644 index 0000000..eb3a3a3 Binary files /dev/null and b/site/.pub/img/border/mid-center.gif differ diff --git a/site/.pub/img/border/mid-left.gif b/site/.pub/img/border/mid-left.gif new file mode 100644 index 0000000..cee61fa Binary files /dev/null and b/site/.pub/img/border/mid-left.gif differ diff --git a/site/.pub/img/border/mid-right.gif b/site/.pub/img/border/mid-right.gif new file mode 100644 index 0000000..ef38498 Binary files /dev/null and b/site/.pub/img/border/mid-right.gif differ diff --git a/site/.pub/img/border/top-center.gif b/site/.pub/img/border/top-center.gif new file mode 100644 index 0000000..9c650c2 Binary files /dev/null and b/site/.pub/img/border/top-center.gif differ diff --git a/site/.pub/img/border/top-left.gif b/site/.pub/img/border/top-left.gif new file mode 100644 index 0000000..8072fd8 Binary files /dev/null and b/site/.pub/img/border/top-left.gif differ diff --git a/site/.pub/img/border/top-right.gif b/site/.pub/img/border/top-right.gif new file mode 100644 index 0000000..f90a264 Binary files /dev/null and b/site/.pub/img/border/top-right.gif differ diff --git a/site/.pub/img/buttons/chaoticninja.gif b/site/.pub/img/buttons/chaoticninja.gif new file mode 100644 index 0000000..44de987 Binary files /dev/null and b/site/.pub/img/buttons/chaoticninja.gif differ diff --git a/site/.pub/img/buttons/cirnosys.png b/site/.pub/img/buttons/cirnosys.png new file mode 100644 index 0000000..c84d12d Binary files /dev/null and b/site/.pub/img/buttons/cirnosys.png differ diff --git a/site/.pub/img/buttons/dd86k.png b/site/.pub/img/buttons/dd86k.png new file mode 100644 index 0000000..7c18c74 Binary files /dev/null and b/site/.pub/img/buttons/dd86k.png differ diff --git a/site/.pub/img/buttons/dev.png b/site/.pub/img/buttons/dev.png new file mode 100644 index 0000000..02824b0 Binary files /dev/null and b/site/.pub/img/buttons/dev.png differ diff --git a/site/.pub/img/buttons/ezio.png b/site/.pub/img/buttons/ezio.png new file mode 100644 index 0000000..8b75d45 Binary files /dev/null and b/site/.pub/img/buttons/ezio.png differ diff --git a/site/.pub/img/buttons/fedi.gif b/site/.pub/img/buttons/fedi.gif new file mode 100644 index 0000000..5e84e5c Binary files /dev/null and b/site/.pub/img/buttons/fedi.gif differ diff --git a/site/.pub/img/buttons/interconnected-boundaries.png b/site/.pub/img/buttons/interconnected-boundaries.png new file mode 100644 index 0000000..c16a5d3 Binary files /dev/null and b/site/.pub/img/buttons/interconnected-boundaries.png differ diff --git a/site/.pub/img/buttons/jacky.png b/site/.pub/img/buttons/jacky.png new file mode 100644 index 0000000..a893170 Binary files /dev/null and b/site/.pub/img/buttons/jacky.png differ diff --git a/site/.pub/img/buttons/knight.png b/site/.pub/img/buttons/knight.png new file mode 100644 index 0000000..2522aee Binary files /dev/null and b/site/.pub/img/buttons/knight.png differ diff --git a/site/.pub/img/buttons/mima.png b/site/.pub/img/buttons/mima.png new file mode 100644 index 0000000..4be8ed1 Binary files /dev/null and b/site/.pub/img/buttons/mima.png differ diff --git a/site/.pub/img/buttons/nhal.png b/site/.pub/img/buttons/nhal.png new file mode 100644 index 0000000..95dce68 Binary files /dev/null and b/site/.pub/img/buttons/nhal.png differ diff --git a/site/.pub/img/buttons/norm.png b/site/.pub/img/buttons/norm.png new file mode 100644 index 0000000..c99a47a Binary files /dev/null and b/site/.pub/img/buttons/norm.png differ diff --git a/site/.pub/img/buttons/reisen.png b/site/.pub/img/buttons/reisen.png new file mode 100644 index 0000000..2a5d29d Binary files /dev/null and b/site/.pub/img/buttons/reisen.png differ diff --git a/site/.pub/img/buttons/rqsd.png b/site/.pub/img/buttons/rqsd.png new file mode 100644 index 0000000..b684eb4 Binary files /dev/null and b/site/.pub/img/buttons/rqsd.png differ diff --git a/site/.pub/img/buttons/udongein.png b/site/.pub/img/buttons/udongein.png new file mode 100644 index 0000000..82ca29b Binary files /dev/null and b/site/.pub/img/buttons/udongein.png differ diff --git a/site/.pub/img/buttons/utsuhorocks.png b/site/.pub/img/buttons/utsuhorocks.png new file mode 100644 index 0000000..dacaaf0 Binary files /dev/null and b/site/.pub/img/buttons/utsuhorocks.png differ diff --git a/site/.pub/img/buttons/valid-xhtml10.png b/site/.pub/img/buttons/valid-xhtml10.png new file mode 100644 index 0000000..2275ee6 Binary files /dev/null and b/site/.pub/img/buttons/valid-xhtml10.png differ diff --git a/site/.pub/img/buttons/vcss-blue.gif b/site/.pub/img/buttons/vcss-blue.gif new file mode 100644 index 0000000..c373b2a Binary files /dev/null and b/site/.pub/img/buttons/vcss-blue.gif differ diff --git a/site/.pub/img/buttons/vocelia.gif b/site/.pub/img/buttons/vocelia.gif new file mode 100644 index 0000000..33264d8 Binary files /dev/null and b/site/.pub/img/buttons/vocelia.gif differ diff --git a/site/.pub/img/footer.gif b/site/.pub/img/footer.gif new file mode 100644 index 0000000..8b54261 Binary files /dev/null and b/site/.pub/img/footer.gif differ diff --git a/site/.pub/img/icons/akkoma.gif b/site/.pub/img/icons/akkoma.gif new file mode 100644 index 0000000..ff2bbb0 Binary files /dev/null and b/site/.pub/img/icons/akkoma.gif differ diff --git a/site/.pub/img/icons/aseprite.gif b/site/.pub/img/icons/aseprite.gif new file mode 100644 index 0000000..683c784 Binary files /dev/null and b/site/.pub/img/icons/aseprite.gif differ diff --git a/site/.pub/img/icons/debian.gif b/site/.pub/img/icons/debian.gif new file mode 100644 index 0000000..ef28b7b Binary files /dev/null and b/site/.pub/img/icons/debian.gif differ diff --git a/site/.pub/img/icons/fedi.gif b/site/.pub/img/icons/fedi.gif new file mode 100644 index 0000000..71fb903 Binary files /dev/null and b/site/.pub/img/icons/fedi.gif differ diff --git a/site/.pub/img/icons/fedora.gif b/site/.pub/img/icons/fedora.gif new file mode 100644 index 0000000..36cd553 Binary files /dev/null and b/site/.pub/img/icons/fedora.gif differ diff --git a/site/.pub/img/icons/feren.gif b/site/.pub/img/icons/feren.gif new file mode 100644 index 0000000..7548de5 Binary files /dev/null and b/site/.pub/img/icons/feren.gif differ diff --git a/site/.pub/img/icons/gajim.gif b/site/.pub/img/icons/gajim.gif new file mode 100644 index 0000000..bac9371 Binary files /dev/null and b/site/.pub/img/icons/gajim.gif differ diff --git a/site/.pub/img/icons/gitea.gif b/site/.pub/img/icons/gitea.gif new file mode 100644 index 0000000..48c4543 Binary files /dev/null and b/site/.pub/img/icons/gitea.gif differ diff --git a/site/.pub/img/icons/godot.gif b/site/.pub/img/icons/godot.gif new file mode 100644 index 0000000..34d185e Binary files /dev/null and b/site/.pub/img/icons/godot.gif differ diff --git a/site/.pub/img/icons/jitsi-meet.gif b/site/.pub/img/icons/jitsi-meet.gif new file mode 100644 index 0000000..95fd75c Binary files /dev/null and b/site/.pub/img/icons/jitsi-meet.gif differ diff --git a/site/.pub/img/icons/librewolf.gif b/site/.pub/img/icons/librewolf.gif new file mode 100644 index 0000000..b4c8bf7 Binary files /dev/null and b/site/.pub/img/icons/librewolf.gif differ diff --git a/site/.pub/img/icons/lite-xl.gif b/site/.pub/img/icons/lite-xl.gif new file mode 100644 index 0000000..0d115f1 Binary files /dev/null and b/site/.pub/img/icons/lite-xl.gif differ diff --git a/site/.pub/img/icons/matrix.gif b/site/.pub/img/icons/matrix.gif new file mode 100644 index 0000000..2b6ec4c Binary files /dev/null and b/site/.pub/img/icons/matrix.gif differ diff --git a/site/.pub/img/icons/miyoi-wave.gif b/site/.pub/img/icons/miyoi-wave.gif new file mode 100644 index 0000000..0c3165a Binary files /dev/null and b/site/.pub/img/icons/miyoi-wave.gif differ diff --git a/site/.pub/img/icons/mullvad-browser.gif b/site/.pub/img/icons/mullvad-browser.gif new file mode 100644 index 0000000..68b52a2 Binary files /dev/null and b/site/.pub/img/icons/mullvad-browser.gif differ diff --git a/site/.pub/img/icons/nerimity.gif b/site/.pub/img/icons/nerimity.gif new file mode 100644 index 0000000..e22f6ca Binary files /dev/null and b/site/.pub/img/icons/nerimity.gif differ diff --git a/site/.pub/img/icons/nheko.gif b/site/.pub/img/icons/nheko.gif new file mode 100644 index 0000000..35856b8 Binary files /dev/null and b/site/.pub/img/icons/nheko.gif differ diff --git a/site/.pub/img/icons/owncast.gif b/site/.pub/img/icons/owncast.gif new file mode 100644 index 0000000..4df338b Binary files /dev/null and b/site/.pub/img/icons/owncast.gif differ diff --git a/site/.pub/img/icons/revolt.gif b/site/.pub/img/icons/revolt.gif new file mode 100644 index 0000000..a7e8f5e Binary files /dev/null and b/site/.pub/img/icons/revolt.gif differ diff --git a/site/.pub/img/icons/telegram.gif b/site/.pub/img/icons/telegram.gif new file mode 100644 index 0000000..d50b05d Binary files /dev/null and b/site/.pub/img/icons/telegram.gif differ diff --git a/site/.pub/img/icons/xmpp.gif b/site/.pub/img/icons/xmpp.gif new file mode 100644 index 0000000..ee611fa Binary files /dev/null and b/site/.pub/img/icons/xmpp.gif differ diff --git a/site/.pub/img/icons/zorin.gif b/site/.pub/img/icons/zorin.gif new file mode 100644 index 0000000..f376e6e Binary files /dev/null and b/site/.pub/img/icons/zorin.gif differ diff --git a/site/.pub/img/logo.gif b/site/.pub/img/logo.gif new file mode 100644 index 0000000..b7f5593 Binary files /dev/null and b/site/.pub/img/logo.gif differ diff --git a/site/.pub/img/mountain-ie.gif b/site/.pub/img/mountain-ie.gif new file mode 100644 index 0000000..ba1af75 Binary files /dev/null and b/site/.pub/img/mountain-ie.gif differ diff --git a/site/.pub/img/mountain.gif b/site/.pub/img/mountain.gif new file mode 100644 index 0000000..85acf7e Binary files /dev/null and b/site/.pub/img/mountain.gif differ diff --git a/site/.pub/img/stages/about-dev.gif b/site/.pub/img/stages/about-dev.gif new file mode 100644 index 0000000..344f63a Binary files /dev/null and b/site/.pub/img/stages/about-dev.gif differ diff --git a/site/.pub/img/stages/contact.gif b/site/.pub/img/stages/contact.gif new file mode 100644 index 0000000..def169e Binary files /dev/null and b/site/.pub/img/stages/contact.gif differ diff --git a/site/.pub/img/stages/devs-blog.gif b/site/.pub/img/stages/devs-blog.gif new file mode 100644 index 0000000..84b62d7 Binary files /dev/null and b/site/.pub/img/stages/devs-blog.gif differ diff --git a/site/.pub/img/stages/services.gif b/site/.pub/img/stages/services.gif new file mode 100644 index 0000000..3cf41ae Binary files /dev/null and b/site/.pub/img/stages/services.gif differ diff --git a/site/.pub/img/stages/welcome.gif b/site/.pub/img/stages/welcome.gif new file mode 100644 index 0000000..4a61825 Binary files /dev/null and b/site/.pub/img/stages/welcome.gif differ diff --git a/site/.pub/robots.txt b/site/.pub/robots.txt new file mode 100644 index 0000000..77470cb --- /dev/null +++ b/site/.pub/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/site/.pub/rss.xml b/site/.pub/rss.xml new file mode 100644 index 0000000..52693af --- /dev/null +++ b/site/.pub/rss.xml @@ -0,0 +1,25 @@ + + + + + Dev's Blog + https://tengu.space/blog + + The Shadow Behind Mario Sunshine + https://tengu.space/blog/mario-sunshine.html + + + Mirroring Awareness + https://tengu.space/blog/mirroring-awareness.html + + + Battling YouTube Addiction + https://tengu.space/blog/youtube-addiction.html + + + First Post + https://tengu.space/blog/first-post.html + + + + diff --git a/site/about.md b/site/about.md new file mode 100644 index 0000000..5236bfc --- /dev/null +++ b/site/about.md @@ -0,0 +1,83 @@ +--- +title: About Dev +stage: about-dev +subtitle: A Brief Introduction +--- + +Dev's Avatar + +## Hi there! Miyoi waving + +I'm a quiet but caring nerd that is stuck in 2009. +I like programming games, surfing the indie web, and making puns. + +My head is always in the clouds. + +## Interests + + + + + + + + + + + + + + +
Anime + Lucky Star, Steins;Gate, Toaru Kagaku no Railgun +
Games + Mario Kart, MOTHER, Pikmin, Poly Bridge, Spelunky, Tetris, Touhou +
Other + Frutiger Aero, Internet privacy, retro tech collecting, speedrunning +
+ +## Software + + + + + + + + + + + + + + + + +
Browsers + LibreWolf Icon LibreWolf, Mullvad Browser Icon Mullvad Browser +
Communication + Gajim Icon Gajim, nheko Icon nheko +
Development + Aseprite Icon Aseprite, Godot Engine Icon Godot Engine, Lite XL Icon Lite XL +
Linux + Debian Icon Debian, Fedora Icon Fedora, Feren OS Icon Feren OS, Zorin OS Icon Zorin OS +
+ +## "Enemies" + +A (non-serious) list of things that I'm known to dislike: + +- Discord +- Electron +- GameMaker Studio 2 +- IKEA +- NVIDIA Optimus +- RGB lights +- [Super Mario Sunshine](./blog/mario-sunshine.html) +- Verizon +- Unity Engine +- YouTube Shorts + +## Gender? + +I don't like labels. Interpret me however you want. diff --git a/site/blog.md b/site/blog.md new file mode 100644 index 0000000..d6d5950 --- /dev/null +++ b/site/blog.md @@ -0,0 +1,59 @@ +--- +title: Dev's Blog +stage: devs-blog +subtitle: Mountain of Random Nonsense +--- + +RSS + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameDateLink
+
+ The Shadow Behind Mario Sunshine +
+
2024-02-12 + here +
+
+ Mirroring Awareness +
+
2023-12-26 + here +
+
+ Battling YouTube Addiction +
+
2023-12-18 + here +
+
+ First Post +
+
2023-10-07 + here +
diff --git a/site/blog/first-post.md b/site/blog/first-post.md new file mode 100644 index 0000000..6299c8f --- /dev/null +++ b/site/blog/first-post.md @@ -0,0 +1,7 @@ +--- +layout: post.html +title: First Post +date-written: 07 October 2023 +--- + +This just is a dummy post :) diff --git a/site/blog/mario-sunshine.md b/site/blog/mario-sunshine.md new file mode 100644 index 0000000..cfc52de --- /dev/null +++ b/site/blog/mario-sunshine.md @@ -0,0 +1,83 @@ +--- +layout: post.html +title: The Shadow Behind Mario Sunshine +date-written: 12 February 2024 +--- + +Super Mario Sunshine is loved by a lot of people. However, the game has several problems. I could write a whole novel about this topic, but I'll try to condense my thoughts into this blog post. + +## Blue Coins + +There are exactly 240 blue coins scattered across Delfino Island, but almost none of them are enjoyable to collect. The gameplay pauses every time you collect a blue coin so that you can save your progress. + +There is a shop where you can trade 10 blue coins for a shine. I would have been less redundant to just have the shine spawn immediately upon collecting the 10th blue coin. Perhaps Nintendo had more planned for this shop. + +In my opinion, the game would have been fine without the blue coins. Imagine if Super Mario Bros. had random blue coins placed in blocks. While it might've incentivize players to hit more blocks, it sounds far more tedious than fun. + +## 100-Coin Shines + +In Super Mario 64, you can't collect the 100-coin star in Jolly Roger Bay on episode 1. Otherwise, collecting a 100-coin star is always possible. + +In Super Mario Sunshine, almost every stage requires you to be on a specific episode. Otherwise, there won't even be 100 coins in the stage to collect. + +## Some Other Bad Shines + +### Yoshi's Fruit Adventure + +You need a random fruit to hatch Yoshi, and the fruit spawner is RNG. + +### The Watermelon Festival + +This shine is tedious. Many players have nightmares of popping the melon close to the end. Luckily, there's a way to clip into the roof and collect the shine, although this is not intended. + +### Red Coins in the Hotel + +I recall this particular shine being challenging due to the scattered placement of the red coins. The stage would have been much better without the time limit for completing it. + +### Pachinko Game + +The game gives you an artificial rightward force when you're in the machine. This force is only applied in the air, but it gets stored when you're on the ground. Nintendo must've lacked the time to make this force feel natural. + +### Lily Pad Ride + +Firstly, you have to endure a 2-minute boat ride with Yoshi just to reach the stage. Then, you have to control a lily pad on a poisonous river and collect 8 red coins. The flow of the river prevents you from going back and getting a red coin you missed. If you game over, you have to repeat the boat ride. + +## How Did This Happen? + +Nintendo likely felt the need to rush this game's development to compete with the Playstation 2. + +You may have noticed that everything that I have mentioned so far is not necessary to beat the game. In Super Mario 64, there isn't a specific star you have to collect. What matters is how many stars you collect. + +To unlock Corona Mountain in Super Mario Sunshine, you need to collect the 7th shine of every main stage (and every shine needed to access the 7th episode). Everything else is a side objective that doesn't have to be polished. + +## Other Garbage Features + +### Reused Bosses + +Having three Gooper Blooper fights in the game feels unnecessary. The Gatekeeper bosses are also repetitive. + +### Blooper Racers + +There are three options for blooper racers: Easy, medium, and hard. However, they all swim at the same speed. The only difference is their handling. It begs the question of why the options were included if there's no benefit to the harder options. + +### Inconsistent Flip Gate Controls + +From the side, you press B to flip and A to jump off. From below, you press A to flip and B to let go. It would have been helpful if the game indicated which button to press in each situation. + +### Chucksters + +The angle at which the chucksters throw you is based on your position in relation to the chuckster. This makes aiming unreasonably difficult. + +### Durians + +Durians are the only fruits that you cannot hold. Instead, you have to kick them, which can be more challenging than kicking a durian in real life. You need to kick durians for a blue coin and occasionally to hatch Yoshi. + +### 30 FPS + +The game was originally planned to run at 60 FPS, but Nintendo opted for 30 FPS due to challenges with optimizing certain areas of the game at the last minute. Lame. + +## Final Notes + +There is an excellent video by Ceave Gaming that explains a lot of Sunshine's issues. I recommend watching it [here](https://yt.chaotic.ninja/watch?v=FnzKUwDLP8A). + +Additionally, there's a romhack called [Super Mario Sunburn](https://www.romhacking.net/hacks/5302/) that addresses many of the game's problems. While it doesn't fix everything and introduces some unnecessary features, it still provides a better overall experience than the original game. diff --git a/site/blog/mirroring-awareness.md b/site/blog/mirroring-awareness.md new file mode 100644 index 0000000..2e3e910 --- /dev/null +++ b/site/blog/mirroring-awareness.md @@ -0,0 +1,27 @@ +--- +layout: post.html +title: Mirroring Awareness +date-written: 26 December 2023 +--- + +Here is something that a lot of you may find interesting. I've posted about this on fedi roughly a year ago. + +A lot of languages are read from left to right. However, some are read from right to left (i.e. Arabic). To account for this, the operating systems often mirror their UI completely. Microsoft refers to this as "mirroring awareness", and it kinda reminds me of mirror mode in Mario Kart. + +Operating systems often design their UI around the idea of starting your tasks from the left and finishing them from the right. That is why completely mirroring the UI is important for those that know a right-to-left language. Afaik, this has been a practice since Windows 98. + +[Windows XP mirrored](../img/blog/mirroring-awareness/winxp.jpg) + +[Windows 7 mirrored](../img/blog/mirroring-awareness/win7.jpg) + +Even Windows 11 does this. However, not every app supports it. + +[Windows 11 mirrored](../img/blog/mirroring-awareness/win11.png) + +Windows is not the only operating system to do this either. This practice has also been adopted by macOS, GNOME, and KDE Plasma. + +[macOS mirrored](../img/blog/mirroring-awareness/macos.png) + +[GNOME mirrored](../img/blog/mirroring-awareness/gnome.png) + +[Plasma mirrored](../img/blog/mirroring-awareness/plasma.jpg) diff --git a/site/blog/youtube-addiction.md b/site/blog/youtube-addiction.md new file mode 100644 index 0000000..d57f33d --- /dev/null +++ b/site/blog/youtube-addiction.md @@ -0,0 +1,44 @@ +--- +layout: post.html +title: Battling YouTube Addiction +date-written: 18 December 2023 +--- + +There is no doubt that YouTube is bad for your attention span. I used to watch at least four hours of YouTube a day. Nowadays, I barely watch any. I'm writing this post to describe my process on how I got to this point. + +## Realizing the Problem + +I figured that simply limiting my watch time wouldn't have helped my attachment to it. Instead, I decided to deprive myself of the algorithm. You might ask, "But Dev, how are you supposed to find any new YouTube content without the algorithm?" That's kinda the point. You can still find new videos from channels you're subscribed to as well as videos that your friends share with you. Those sources are much more digestable. + +## YouTube on Desktop + +Here are the initial steps I took: + +1. The algorithm relies a lot on watch history, so I turned that off. +2. I installed the **DF YouTube** browser extention (DF stands for "Distraction Free"). You can get it on both [Chromium](https://chrome.google.com/webstore/detail/df-tube-distraction-free/mjdepdfccjgcndkmemponafgioodelna) and [Firefox](https://addons.mozilla.org/en-US/firefox/addon/df-youtube/) +3. I checked nearly every box on it. This hides the home feed, the recommendations on the side, the trending page, comments, and more. +4. I went through my subscriptions list and unsubscribed to the channels that I rarely watched. +5. I updated my YouTube bookmark to link specifically to the subscriptions page. + +This helped me reduce my watch time significantly. It even helped me realize just how awful recommended videos were compared to videos from channels that I liked. Remember, it should be **you** that decides what you want to watch, not Google. + +## YouTube on Mobile + +Phones are meant for calls and texts, not YouTube. I believe that the only place that you should ever be watching YouTube is at your computer. That being said, I chose to uninstall the YouTube app from my phone entirely. + +Some Android phones prevent you from uninstalling YouTube. Luckily, there's the [Universal Android Debloater](https://github.com/0x192/universal-android-debloater) which helps you remove it. It's a little complicated, but don't hold off on using it. + +## Alternate Frontends + +These are proxies that let you watch YouTube without going directly to YouTube's website. You don't need a browser extention to use them, and they are usually algorithm-free. There are many people that are self-hosting instances of these frontends on their sites, and they all have varying speeds. + +Here are the frontends that I am aware of: + +- **Invidious.** It's the most lightweight one on this list, and it's the one that I recommend the most. Some instances you could try are [yewtu.be](https://yewtu.be), [in.vibb.ro](https://in.vibb.ro), [yt.chaotic.ninja](https://yt.chaotic.ninja), and [super8.absturztau.be](https://super8.absturztau.be) +- **Piped.** This one's a lot sleeker, but I have yet to find an instance that gives me decent speed. +- **PokeTube.** Perhaps the most ambitious one, but it's clearly still in development. +- There is also **FreeTube**, but it is not self-hostable. It is an Electron app. + +## Final Thoughts + +On top of using an alternative frontend, going completely without a subscriptions list could be a good idea. This would force you to find new videos on your own, and that may prevent you from checking YouTube instinctively. diff --git a/site/contact.md b/site/contact.md new file mode 100644 index 0000000..1df2aa6 --- /dev/null +++ b/site/contact.md @@ -0,0 +1,45 @@ +--- +title: Contact +stage: contact +subtitle: Land of Communication +--- + +## Direct Message + + + + + + + + + + + + + + + + + + + + + + +
XMPP devious@im.chaotic.ninja *
Matrix @devious:snug.moe *
Nerimity Dev:ious
Revolt devioustengu#1248
Telegram @devioustengu
+ +

* = most preferred

+ +

You're always welcome to reach out to me. Even if it's just to say hi ^^

+ +## Social Media + + + + + + +
Fediverse @devious@fedi.tengu.space
+ +

You won't find me on big tech social media such as Facebook, Instagram, X, etc.

diff --git a/site/index.md b/site/index.md new file mode 100644 index 0000000..6aa9238 --- /dev/null +++ b/site/index.md @@ -0,0 +1,43 @@ +--- +title: Welcome +stage: welcome +subtitle: Enjoy Your Stay! +--- + + + +
+ PC98 Aya Sprite + +

I'm DeviousTengu! You may call me Dev or Devi.

+

This is my server where I host a blog and a number of webservices for myself and friends. Our mascot is the most truthful news reporter in Gensokyo, Aya Shameimaru.

+
+ + + +
+

Feel free to add this button to your site:

+
+ Dev's Site +
+ +
+ HTFCirno's Site + dd86k's Site + Ezio's Site + Izuru's Site + Jacky's Site + Knight's Site + Nhal's Site + Norm's Site + NaiJi's Site + rqsd's Site + Mima's Site + Utsuho's Site + Vocelia's Button + Chaotic Ninja + Udongein + Fediverse Party + W3C Markup Validation Service + W3C CSS Validation Service +
diff --git a/site/services.md b/site/services.md new file mode 100644 index 0000000..84e90f7 --- /dev/null +++ b/site/services.md @@ -0,0 +1,17 @@ +--- +title: Services +stage: services +subtitle: Magical Internet Tools +--- + +## Akkoma Icon [Akkoma](https://fedi.tengu.space) +A microblogging platform that is connected to the Fediverse. It's the perfect place to spread misinformation! (/j) + +## Gitea Icon [Gitea](https://git.tengu.space) +A painless, self-hosted Git service. You can find this site's source code there. + +## Jitsi Icon [Jitsi Meet](https://meet.tengu.space) +A videoconferencing platform. My friends and I often use this to voice chat and screenshare with eachother. + +## Owncast Icon [Owncast](https://live.tengu.space) +A single-user livestreaming service. You may occasionally find me streaming cozy games on here.