This commit is contained in:
DeviousTengu 2024-06-16 22:01:10 -04:00
commit e1c1ad203e
74 changed files with 520 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
# ignore all generated html files
site/.pub/**/*.html

20
LICENSE.txt Normal file
View File

@ -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.

16
README.md Normal file
View File

@ -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.

71
site/.aya/layout.html Normal file
View File

@ -0,0 +1,71 @@
<!DOCTYPE html>
<!--
Copyright (c) 2024 DeviousTengu
This file is distributed under the MIT License.
See LICENSE.txt or https://opensource.org/license/mit
-->
<html lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex">
<title> {{ title }} - Tengu.Space </title>
<meta name="viewport" content="width=device-width, intial-scale=1.0">
<link rel="icon" type="image/x-icon" href="./favicon.ico">
<link rel="stylesheet" type="text/css" href="./css/stylesheet.css">
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="./css/ie.css">
<![endif]-->
</head>
<body><div id="mountain"></div><div id="everything">
<div id="header">
<img id="logo" src="./img/logo.gif" alt="Tengu.Space">
<div id="nav"> <noscript> <p> No JavaScript? No problem! :) </p> </noscript> <a href="./index.html">Home</a> | <a href="./about.html">About</a> | <a href="./services.html">Services</a> | <a href="./contact.html">Contact</a> </div>
</div>
<hr>
<div id="stage">
<img src="./img/stages/{{ stage }}.gif" alt="{{ title }}">
<p> {{ subtitle }} </p>
</div>
<hr>
<table id="content">
<tbody>
<tr>
<td id="top-left"></td>
<td id="top-center"></td>
<td id="top-right"></td>
</tr>
<tr>
<td id="mid-left"></td>
<td id="mid-center">
{{ content }}
</td>
<td id="mid-right"></td>
</tr>
<tr>
<td id="bottom-left"></td>
<td id="bottom-center"></td>
<td id="bottom-right"></td>
</tr>
</tbody>
</table>
<hr>
<div id="footer">
<p>
<a href="https://fediring.net/previous?host=tengu.space">&lt;</a>
<a href="https://fediring.net/">Fediring</a>
<a href="https://fediring.net/next?host=tengu.space">&gt;</a> <br>
<a href="gopher://tengu.space/">Gopher Version</a>
</p><br><br>
<p> Copyright &copy; 2024 DeviousTengu. View the source code <a href="https://git.tengu.space/devioustengu/tengu-space">here</a>. <br>
This site was made using <a href="https://aya.chaotic.ninja/">Aya</a>, the fastest static site generator. </p>
</div>
</div><div id="mountain-ie"></div></body></html>

2
site/.aya/upload Executable file
View File

@ -0,0 +1,2 @@
#!/bin/sh
rsync -acv --rsh="ssh -p 1230" --del $AYA_OUTDIR/ root@tengu.space:/var/www/html/

19
site/.pub/css/ie.css Normal file
View File

@ -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;
}

View File

@ -0,0 +1,206 @@
/*
* 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;
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;
}

BIN
site/.pub/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

BIN
site/.pub/img/avatar.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 801 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 819 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
site/.pub/img/footer.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 988 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 B

BIN
site/.pub/img/logo.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
site/.pub/img/mountain.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

2
site/.pub/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Disallow: /

77
site/about.md Normal file
View File

@ -0,0 +1,77 @@
---
title: About Dev
stage: about-dev
subtitle: A Brief Introduction
---
<img src="./img/avatar.gif" style="float: right; margin-left: 16px;" alt="Dev's Avatar">
## Heya, I'm Dev :>
I'm a quiet nerd stuck in 2009.
I program games, draw sprite art, and make puns.
My head is always in the clouds.
## Interests
<table class="cell-padding"><tbody>
<tr>
<td class="yellow"> Anime </td>
<td>
Lucky Star, Steins;Gate, Toaru Kagaku no Railgun
</td>
</tr>
<tr>
<td class="yellow"> Games </td>
<td>
Mario Kart, MOTHER, Pikmin, Poly Bridge, Spelunky, Tetris, Touhou Project
</td>
</tr>
<tr>
<td class="yellow"> Other </td>
<td>
Frutiger Aero, Internet Privacy, Retro Tech Collecting, Speedrunning
</td>
</tr>
</tbody></table>
## Software
<table class="cell-padding"><tbody>
<tr>
<td class="yellow"> Browsers </td>
<td>
<img src="./img/icons/librewolf.gif" alt="LibreWolf Icon"> <a href="https://librewolf.net/">LibreWolf</a>, <img src="./img/icons/mullvad-browser.gif" alt="Mullvad Browser Icon"> <a href="https://mullvad.net/en/browser">Mullvad Browser</a>
</td>
</tr><tr>
<td class="yellow"> Communication </td>
<td>
<img src="./img/icons/gajim.gif" alt="Gajim Icon"> <a href="https://gajim.org/">Gajim</a>, <img src="./img/icons/nheko.gif" alt="nheko Icon"> <a href="https://nheko-reborn.github.io/">nheko</a>
</td>
</tr><tr>
<td class="yellow"> Development </td>
<td>
<img src="./img/icons/aseprite.gif" alt="Aseprite Icon"> <a href="https://www.aseprite.org/">Aseprite</a>, <img src="./img/icons/godot.gif" alt="Godot Engine Icon"> <a href="https://godotengine.org/">Godot Engine</a>, <img src="./img/icons/lite-xl.gif" alt="Lite XL Icon"> <a href="https://lite-xl.com/">Lite XL</a>
</td>
</tr>
<tr>
<td class="yellow"> Linux </td>
<td>
<img src="./img/icons/debian.gif" alt="Debian Icon"> <a href="https://www.debian.org/">Debian</a>, <img src="./img/icons/linux-mint.gif" alt="Linux Mint Icon"> <a href="https://www.linuxmint.com/">Linux Mint</a>
</td>
</tr>
</tbody></table>
## Enemy List
A (non-serious) list of things that I'm known to dislike:
Discord | GameMaker Studio 2 | NVIDIA Optimus | RGB Lighting | [Super Mario Sunshine](https://in.vibb.ro/watch?v=FnzKUwDLP8A) | Verizon | Unity Engine | YouTube Shorts
## Gender?
I don't want to limit myself to any gender, label, or stereotype.
I accept any and all pronouns. Interpret me however you'd like.

43
site/contact.md Normal file
View File

@ -0,0 +1,43 @@
---
title: Contact
stage: contact
subtitle: Land of Communication
---
## Direct Message
<table class="cell-padding">
<tr>
<td> <img src="./img/icons/xmpp.gif" alt="XMPP"> </td>
<td> <a href="xmpp:devious@im.chaotic.ninja?message"> devious@im.chaotic.ninja</a> </td>
</tr>
<tr>
<td> <img src="./img/icons/matrix.gif" alt="Matrix"> </td>
<td> <a href="https://matrix.to/#/@devious:snug.moe"> @devious:snug.moe</a> </td>
</tr>
<tr>
<td> <img src="./img/icons/telegram.gif" alt="Telegram"> </td>
<td> <a href="https://t.me/devioustengu"> @devioustengu </a> </td>
</tr>
<tr>
<td> <img src="./img/icons/revolt.gif" alt="Revolt"> </td>
<td> devioustengu#1248 </td>
</tr>
<tr>
<td> <img src="./img/icons/nerimity.gif" alt="Nerimity"> </td>
<td> Dev:ious </td>
</tr>
</table>
<p> You're always welcome to reach out to me. Even if it's just to say hi ^^ </p>
## Social Media
<table class="cell-padding">
<tr>
<td> <img src="./img/icons/fedi.gif" alt="Fediverse"> </td>
<td> <a href="https://fedi.tengu.space/devious/" rel="me"> @devious@fedi.tengu.space </a> </td>
</tr>
</table>
<p> You won't find me on big tech social media such as Facebook, Instagram, X, etc. </p>

45
site/index.md Normal file
View File

@ -0,0 +1,45 @@
---
title: Welcome
stage: welcome
subtitle: Enjoy Your Stay!
---
<table class="no-cell-padding"><tbody><tr>
<td>
<img src="./img/aya-sprite.gif" id="aya-sprite" alt="PC98 Aya Sprite">
</td><td>
<p>I'm <a href="./about.html">DeviousTengu</a>! You may call me Dev or Devi.</p>
<p>This is my server where I host a few webservices for myself and friends. Our mascot is the most truthful news reporter in Gensokyo, <a href="https://en.touhouwiki.net/wiki/Aya_Shameimaru">Aya Shameimaru</a>.</p>
</td>
</tr></tbody></table>
<table><tbody><tr>
<td>
<p> Feel free to add this button to your site: </p>
</td><td>
<a href="https://tengu.space/"> <img src="./img/buttons/dev.png" alt="Dev's Site"> </a>
</td>
</tr></tbody></table>
<div id="buttons">
<a href="https://cirnosystems.xyz/"> <img src="./img/buttons/cirnosys.png" alt="HTFCirno's Site"> </a>
<a href="https://dd86k.space/"> <img src="./img/buttons/dd86k.png" alt="dd86k's Site"> </a>
<a href="https://reimu.info/"> <img src="./img/buttons/ezio.png" alt="Ezio's Site"> </a>
<a href="https://geidontei.chaotic.ninja/usr/yakumo_izuru/"> <img src="./img/buttons/interconnected-boundaries.png" alt="Izuru's Site"> </a>
<a href="https://amber-teahou.se/"> <img src="./img/buttons/jacky.png" alt="Jacky's Site"> </a>
<a href="https://knightzone.neocities.org/"> <img src="./img/buttons/knight.png" alt="Knight's Site"> </a>
<a href="https://nhal.xyz/"> <img src="./img/buttons/nhal.png" alt="Nhal's Site"> </a>
<a href="https://radionoise.ca/"> <img src="./img/buttons/norm.png" alt="Norm's Site"> </a>
<a href="https://silk.ms/"> <img src="./img/buttons/laru.gif" alt="Laru's Site"> </a>
<a href="https://reisen.church/"> <img src="./img/buttons/reisen.png" alt="NaiJi's Site"> </a>
<a href="https://urndeogtaaiwpgosq.bitbucket.io/"> <img src="./img/buttons/rqsd.png" alt="rqsd's Site"> </a>
<a href="https://geidontei.chaotic.ninja/usr/mima/"> <img src="./img/buttons/mima.png" alt="Mima's Site"> </a>
<a href="https://utsuho.rocks/"> <img src="./img/buttons/utsuhorocks.png" alt="Utsuho's Site"> </a>
<img src="./img/buttons/vocelia.gif" alt="Vocelia's Button">
<a href="https://waifuism.life/"> <img src="./img/buttons/waifu.png" alt="Waifu's Site"> </a>
<a href="https://chaotic.ninja/"> <img src="./img/buttons/chaoticninja.gif" alt="Chaotic Ninja"> </a>
<a href="https://udongein.xyz/"> <img src="./img/buttons/udongein.png" alt="Udongein"> </a>
<a href="https://fediverse.party/en/fediverse/"> <img src="./img/buttons/fedi.gif" alt="Fediverse Party"> </a>
<a href="http://validator.w3.org/"> <img src="./img/buttons/valid-xhtml10.png" alt="W3C Markup Validation Service">
<a href="https://jigsaw.w3.org/css-validator/"> <img src="./img/buttons/vcss-blue.gif" alt="W3C CSS Validation Service"></a>
</div>

17
site/services.md Normal file
View File

@ -0,0 +1,17 @@
---
title: Services
stage: services
subtitle: Magical Internet Tools
---
## <img src="./img/icons/akkoma.gif" alt="Akkoma Icon" width=32 height=32> [Akkoma](https://fedi.tengu.space)
A microblogging platform that is connected to the Fediverse. It's the perfect place to spread misinformation! (/j)
## <img src="./img/icons/forgejo.gif" alt="Forgejo Icon" width=32 height=32> [Forgejo](https://git.tengu.space)
A self-hosted lightweight software forge. You can find this site's source code there.
## <img src="./img/icons/jitsi-meet.gif" alt="Jitsi Icon" width=32 height=32> [Jitsi Meet](https://meet.tengu.space)
A videoconferencing platform. My friends and I often use this to voice chat and screenshare with eachother.
## <img src="./img/icons/owncast.gif" alt="Owncast Icon" width=32 height=32> [Owncast](https://live.tengu.space)
A single-user livestreaming service. You may occasionally find me streaming cozy games on here.