Updated looks of the website; prepared transition to a PHP based website.
34
pages/faq.php
Normal 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
|
|
@ -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.***
|
||||||
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 178 KiB |
BIN
public_html/assets/border2x2.png
Normal file
|
After Width: | Height: | Size: 922 B |
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
218
public_html/index.php
Normal 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.
|
||||||
|
<a class="menu-item" href="#copyright">License</a>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- load email addresses -->
|
||||||
|
<script>
|
||||||
|
showAddresses();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -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); }
|
||||||