Updated looks of the website; prepared transition to a PHP based website.

This commit is contained in:
Fristi 2023-03-09 22:25:48 +01:00
parent c3363cfc64
commit a9995f8812
15 changed files with 333 additions and 17 deletions

34
pages/faq.php Normal file
View file

@ -0,0 +1,34 @@
<h1>FAQ</h1>
<p>
<strong>Q</strong>: <em>It's been a year, are you ever gonna get this show running?</em>
<br/>
<strong>A</strong>: Yes. I really want this to work. A lot of things are in place now and
quite frankly, it's time to invite people in here to see how things go.
</p>
<p>
<strong>Q</strong>: <em>Is Subcon Town open for new users?</em>
<br/>
<strong>A</strong>: No. The intended purpose is an invite-only tilde community, for friends and
family. After the testing phase, I will start sending out invites to people interested.
You may ask for an invite as well at that point, but the plan is to only let comfy people in.
</p>
<p>
<strong>Q</strong>: <em>Can I get an account on one of your services?</em>
<br/>
<strong>A</strong>: Only as an existing member. We are currently not open for
new users to join. If you're already a member, ask
<a href="https://akkos.fritu.re/fristi">@fristi</a> for an account.
</p>
<p>
<strong>Q</strong>: <em>Didn't you also run kartoffel.cafe?</em>
<br/>
<strong>A</strong>: Yes, but a recent change of plans made running an activitypub
instance not very feasible, so I made the difficult choice of closing
the instance, for good. I currently run a new instance called
<a href="https://akkos.fritu.re">Akko's Friture</a>, but it's a single user instance for now.
</p>
<p>
<strong>Q</strong>: <em>Is that the Yoshi's Island font?</em>
<br/>
<strong>A</strong>: Yes. It was good game.
</p>

55
public_html/LICENSE Normal file
View file

@ -0,0 +1,55 @@
# Blue Oak Model License
Version 1.0.0
## Purpose
This license gives everyone as much permission to work with
this software as possible, while protecting contributors
from liability.
## Acceptance
In order to receive this license, you must agree to its
rules. The rules of this license are both obligations
under that agreement and conditions to your license.
You must not do anything with this software that triggers
a rule that you cannot or will not follow.
## Copyright
Each contributor licenses you to do everything with this
software that would otherwise infringe that contributor's
copyright in it.
## Notices
You must ensure that everyone who gets a copy of
any part of this software from you, with or without
changes, also gets the text of this license or a link to
<https://blueoakcouncil.org/license/1.0.0>.
## Excuse
If anyone notifies you in writing that you have not
complied with [Notices](#notices), you can keep your
license by taking all practical steps to comply within 30
days after the notice. If you do not do so, your license
ends immediately.
## Patent
Each contributor licenses you to do everything with this
software that would otherwise infringe any patent claims
they can license or become able to license.
## Reliability
No contributor can revoke this license.
## No Liability
***As far as the law allows, this software comes as is,
without any warranty or condition, and no contributor
will be liable to anyone for any damages related to this
software or this license, under any kind of legal claim.***

View file

Before

Width:  |  Height:  |  Size: 178 KiB

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

View file

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

218
public_html/index.php Normal file
View file

@ -0,0 +1,218 @@
<?php
$meta = [];
$content = '';
//Router
//Return as ajax or as page?
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Subcon.town - Happy Dreams!</title>
<?php foreach($meta as $name => $content) { ?>
<meta name="<?php echo $name; ?>" content="<?php echo $content; ?>">
<?php } ?>
<link rel="shortcut icon" type="image/jpg" href="assets/subcon/favicon_16.png" sizes="16x16"/>
<link rel="shortcut icon" type="image/jpg" href="assets/subcon/favicon_32.png" sizes="32x32"/>
<link href="style.css?v=2.0.0" rel="stylesheet"/>
<script>
function showAddresses() {
let a = 'fristi';
let b = 'subcon.town';
let c = 'akkos.fritu.re';
document.querySelectorAll('.em').forEach( element => {
element.innerHTML = a + '@' + b;
element.setAttribute('href', 'mailto:' + a + '@' + b);
});
document.querySelectorAll('.fv').forEach( element => {
element.innerHTML = a + '@' + c;
});
}
</script>
</head>
<body>
<div class="container">
<header>
<img src="assets/subcon/logo_128.png" alt="Subcon Town" />
<ul>
<li><a class="menu-item" href="#home">Home</a></li>
<li><a class="menu-item" href="#news">News</a></li>
<li><a class="menu-item" href="#services">Services</a></li>
<li><a class="menu-item" href="#faq">FAQ</a></li>
</ul>
</header>
<main>
<div class="inner-main">
<?php echo $content; ?>
<div class="content" id="home">
<h1>Hello world!</h1>
<p>
Welcome to Subcon Town! We are a small tilde community, hosted for friends and family.
We offer SSH access, hosting of websites, gopher holes and gemini pods, alongside
other services like cloud services, git and fossil hosting and an activitypub server.
</p>
<p>
Tilde communities are pubnixes, <i>public access unix systems</i>. We took our inspiration
from older such servers like <a target="_blank" href="http://tilde.club">tilde.club</a>
and the tildes from <a target="_blank" href="https://tildeverse.org">tildeverse.org</a>.
</p>
<p>
Users may find out more about this system by visiting the <a target="_blank" href="https://library.subcon.town/">wiki</a>.
Keep in mind that the wiki is still a work in progress.
</p>
</div>
<hr />
<div class="content" id="news">
<h1>News</h1>
<h2>Januari 2023: Plans for the year</h2>
<p>
Happy new year! Subcon has come a long way since the change of the year. First off: we have moved to
new hardware! The server is now powered by an Odroid H3 board. With that, a number of other changes
have been made as well.
</p>
<p>
Storage on the server has been totally reworked; the old storage media have been replaced with a 2TB
NVMe drive that will, for one, house the user home directories, and a 4TB SATA SSD that will house all
variable data; user repositories, websites, databases, the lot. All of this has been set up with
convenient LVM partitions that can be easily resized if more space is required in the future.
</p>
<p>
Many services have been updated. The gitea server has been replaced with a new gogs server, now
hosted at <a href="https://factory.subcon.town">factory.subcon.town</a>. The old snikket server
has also been replaced with a new prosody setup, offering most of the same xmpp services at jab.subcon.town.
Note that old snikket accounts are thus gone. The fedora installation has also been updated to fedora
37.
</p>
<p>
The most notable change however will be the decrease in processing power. While we still have about
75% of the processing power, the upside is that the system as a whole is seriously more power efficient.
We are now running at a fraction of the power the old server needed, going from 60Wh on average to
a mere 6Wh. Serious power savings like that will lower upkeep cost, which I can in turn invest in
improving other things, such as my god awful internet bandwidth.
</p>
<p>
Remember that even with all these changes done, the server is, and will likely forever, be a work
in progress. There are still some rough edges needing work, further configuring of services, and
for the current while, a lot of work writing wiki pages at <a href="https://library.subcon.town">
library.subcon.town</a>.
</p>
</div>
<hr />
<div class="content" id="services">
<h1>Services</h1>
<p>
We provide the following services for our members:
</p>
<table>
<tbody>
<tr> <td>Akkoma:</td> <td><a href="https://akkos.fritu.re">akkos.fritu.re</a></td> </tr>
<tr> <td>Doku wiki:</td> <td><a href="https://library.subcon.town">library.subcon.town</a></td> </tr>
<tr> <td>Funkwhale:</td> <td><a href="https://odeon.subcon.town">odeon.subcon.town</a></td> </tr>
<tr> <td>Gogs:</td> <td><a href="https://factory.subcon.town">factory.subcon.town</a></td> </tr>
<tr> <td>Fossil SCM:</td> <td><a href="https://museum.subcon.town">museum.subcon.town</a></td> </tr>
<tr> <td>Nextcloud:</td> <td><a href="https://cloud.subcon.town">cloud.subcon.town</a></td> </tr>
</tbody>
</table>
<p>
We also host member websites, gopher holes and gemini pods. User websites are listed below,
for gopher holes and gemini pods, visit <a href="gopher://subcon.town">gopher://subcon.town</a> and
<a href="gemini://subcon.town">gemini://subcon.town</a> respectively using a compatible browser.
</p>
<table>
<tr>
<td width="50%"><a href="~fristi">fristi</a></td>
<td width="50%"></td>
</tr>
</table>
</div>
<hr />
<div class="content" id="faq">
<h1>FAQ</h1>
<p>
<strong>Q</strong>: <em>You're running on the Odroid H3 now, right?</em>
<br/>
<strong>A</strong>: Yes, all Subcon services have been moved to the new hardware
and are fully functional.
</p>
<p>
<strong>Q</strong>: <em>Is Subcon Town open for new users?</em>
<br/>
<strong>A</strong>: We're still doing some work on some services, but in general
everything is ready. Note that Subcon Town is an invite-only community; you may certainly
ask for an invite, but generally we will only accept people that are known to us already.
</p>
<p>
<strong>Q</strong>: <em>Can I get an account on one of your services?</em>
<br/>
<strong>A</strong>: Only as an existing member. If you're already a member, ask
<a href="https://akkos.fritu.re/fristi">@fristi</a> for an account.
</p>
<p>
<strong>Q</strong>: <em>Is that the Yoshi's Island font?</em>
<br/>
<strong>A</strong>: Yes. It was good game.
</p>
</div>
<hr />
<div class="content" id="copyright">
<h1>Copyright notice</h1>
<p>
The "Subcon Town" branding, including logos and icons used on this website, are
licensed as CC BY-NC-ND. You may share and redistribute these works, but please do not edit them or use them for
commercial purposes. For more details, read the <a target="_blank" href="./assets/subcon/LICENSE">license</a>.
</p>
<p>
The source code of this website is licensed under the Blue Oak Model License 1.0.0.
You may use this source code as you wish.
For more details, read the <a target="_blank" href="./LICENSE">license</a>.
The source code of this website may be viewed <a target="_blank" href="https://factory.subcon.town/fristi/subcon.town">here</a>.
</p>
<h2>Third party works</h2>
<p>
The fonts and background image used on this website are not owned by Subcon Town. Subcon Town does
not claim any rights to these original works unless otherwise specified by their respective licensing.
</p>
<h2>Complaints</h2>
<p>
If you feel any material is incorrectly used on this website, or otherwise infringes on your rights,
feel free to file a complaint with <a class="em" href="#">fristi「AT」subcon.town</a>. Please allow up
to 48 hours for a response.
</p>
</div>
</div>
</main>
<footer>
<div style="text-align: center;">
© 2021-2023 Subcon Town.
&nbsp;<a class="menu-item" href="#copyright">License</a>
</div>
</footer>
</div>
<!-- load email addresses -->
<script>
showAddresses();
</script>
</body>
</html>

View file

@ -43,24 +43,26 @@ body {
.container { .container {
position: absolute; position: absolute;
box-sizing: border-box;
left:0; left:0;
height: 100%; right:0;
max-width: 600px; /*height: 100%;*/
padding: 0 24px; max-height: 100%;
margin:auto; max-width: 640px;
padding: 0 10px;
margin: auto;
display:flex; display:flex;
flex-direction: column; flex-direction: column;
flex-wrap: nowrap; flex-wrap: nowrap;
overflow: hidden; overflow: hidden;
background-color: var(--bg-color); background-color: var(--bg-color);
backdrop-filter: var(--bg-backdrop); /*backdrop-filter: var(--bg-backdrop);*/
} }
header { header {
display: flex; display: flex;
margin: var(--spacing-large); margin: var(--spacing-large);
flex: 0 0 auto; flex: 0 0 auto;
align-items: flex-end;
} }
header img { header img {
@ -70,15 +72,22 @@ header img {
} }
header ul { header ul {
display: flex;
position: relative; position: relative;
padding: 0;
height: 80px;
list-style: none; list-style: none;
font-size: 0; font-size: 0;
flex: 1 1 auto; flex: 1 1 auto;
text-align: right; flex-wrap: wrap;
flex-direction: column;
justify-content: flex-end;
} }
header ul li { header ul li {
position: relative; position: relative;
width: 50%;
flex: 0 0 auto;
} }
header ul li a{ header ul li a{
@ -86,7 +95,8 @@ header ul li a{
color: #fff; color: #fff;
font-size: 20px; font-size: 20px;
font-weight: normal; font-weight: normal;
line-height: 28px; line-height: 36px;
text-align: center;
} }
header ul li a:hover:before { header ul li a:hover:before {
@ -95,16 +105,15 @@ header ul li a:hover:before {
main { main {
flex: 1 1 auto; flex: 1 1 auto;
overflow: hidden; padding: var(--spacing-large);
padding: var(--spacing-large) 0 var(--spacing-large) var(--spacing-large); border: 32px solid transparent;
} border-image: url('assets/border2x2.png') 32 fill round;
main .inner-main {
max-height: 100%;
overflow-y: auto; overflow-y: auto;
scrollbar-color: #fff transparent; scrollbar-color: #fff transparent;
scrollbar-width: thin; scrollbar-width: thin;
padding-right: var(--spacing-large); }
main .inner-main {
text-align: justify; text-align: justify;
} }
@ -152,12 +161,12 @@ h2:before {
} }
a { a {
color: #fff; color: var(--link-color);
text-decoration: none; text-decoration: none;
} }
a:hover { a:hover {
color: var(--link-color); color: #fff;
} }
a:not(header a):before, a:not(header a):after { color: var(--link-color); } a:not(header a):before, a:not(header a):after { color: var(--link-color); }