Compare commits

..

No commits in common. "main" and "feature/register-form" have entirely different histories.

8 changed files with 73 additions and 290 deletions

View File

@ -1,7 +1,6 @@
<html lang="pl"> <html lang="pl">
<head> <head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" type="text/css" href="static/css/main.css">
<link rel="stylesheet" type="text/css" href="/static/css/main.css">
<meta charset="utf-8"> <meta charset="utf-8">
<title>~tylda.org~ polskie tildeverse</title> <title>~tylda.org~ polskie tildeverse</title>
</head> </head>
@ -13,5 +12,4 @@
<a href="/wiki/">wiki</a> <a href="/wiki/">wiki</a>
<a href="/git/">git</a> <a href="/git/">git</a>
<a href="/register.php">dołącz</a> <a href="/register.php">dołącz</a>
<a href="/users.php">użytkownicy</a>
</header> </header>

View File

@ -35,9 +35,8 @@ $slogan = $slogans[rand(0, count($slogans) - 1)];
</div> </div>
<article id="content"> <article id="content">
<p>Wzorując się na <a href="https://tildeverse.org">tildeverse.org</a> tworzymy polskojęzyczną przestrzeń tilde.</p>
<p><b>tylda.org</b> to wspólny serwer linuksowy dla ludzi, którzy lubią prostotę, wolność i internet z czasów, gdy wszystko było bardziej tekstowe.</p> <p><b>tylda.org</b> to wspólny serwer linuksowy dla ludzi, którzy lubią prostotę, wolność i internet z czasów, gdy wszystko było bardziej tekstowe.</p>
<p>Możesz tu prowadzić bloga w Markdownie, tworzyć własne strony WWW, kapsuły gemini, korzystać z maila, czatu IRC i terminala albo po prostu eksplorować i uczyć się Linuksa.</p> <p>Możesz tu prowadzić bloga w Markdownie, tworzyć własne strony WWW, korzystać z maila, czatu IRC i terminala albo po prostu eksplorować i uczyć się Linuksa.</p>
<p>Nie ma reklam, lajków, followersów jest społeczność, współdzielenie wiedzy i dobre oldschoolowe wibracje.</p> <p>Nie ma reklam, lajków, followersów jest społeczność, współdzielenie wiedzy i dobre oldschoolowe wibracje.</p>
<p>To miejsce powstało z potrzeby stworzenia własnego „kąta” w internecie minimalistycznego, bezpośredniego, z klimatem dawnych shell accountów.</p> <p>To miejsce powstało z potrzeby stworzenia własnego „kąta” w internecie minimalistycznego, bezpośredniego, z klimatem dawnych shell accountów.</p>
<p>Jeśli szukasz alternatywy dla współczesnej sieci dobrze trafiłeś.</p> <p>Jeśli szukasz alternatywy dla współczesnej sieci dobrze trafiłeś.</p>
@ -51,13 +50,11 @@ $slogan = $slogans[rand(0, count($slogans) - 1)];
foreach($recent as $user => $date) { foreach($recent as $user => $date) {
echo "<a class=\"link\" href=\"/~".$user."/\"><p class=\"user_home\"><span>drwxr-xr-x</span><span>".rand(1,9)."</span><span>".$user."</span><span>".$user."</span><span>".rand(1,19)."</span><span>".date("M d H:i", $date)."</span><span>".$user."</span></p></a>"; echo "<a class=\"link\" href=\"/~".$user."/\"><p class=\"user_home\"><span>drwxr-xr-x</span><span>".rand(1,9)."</span><span>".$user."</span><span>".$user."</span><span>".rand(1,19)."</span><span>".date("M d H:i", $date)."</span><span>".$user."</span></p></a>";
} }
?> ?>
</article> </article>
<?php <?php
include 'news.php';
include 'footer.php'; include 'footer.php';
?> ?>

View File

@ -1,60 +0,0 @@
<h1>> Niusy </h1>
<article id="content">
<h2> 2025/10/09 </h2>
<p>
<ul>
<li>Założyliśmy instancję <a href="https://cloud.tylda.org">nextcloud</a>. Powoli odzywamy się do środowiska linuxowego i fediverse promując inicjatywę.</li>
<li>Niusy dodane na główną</li>
</ul>
</p>
<h2> 2025/10/08 </h2>
<p>
Nowa strona listująca wszystkich <a href="/users.php">użytkowników</a>.
</p>
<h2> 2025/10/03 </h2>
<p>
Poprawiony interaktywny layout strony. Głównie css @media.
</p>
<h2> 2025/09/30 </h2>
<p>
Formularz rejestracji wymusza podanie klucza SSH.
</p>
<h2> 2025/09/25 </h2>
<p>
<ul>
<li>Podstawowe wsparcie gemini protocol. Używamy serwera satellite</li>
<li>Strona wiki</li>
</ul>
</p>
<h2> 2025/09/20 </h2>
<p>
<ul>
<li>Smoorg dołącza do tyldy jako wolontariusz, developer i admin</li>
<li>Dodany podstawowy formularz rejestracji</li>
</ul>
</p>
<h2> 2025/09/18 </h2>
<p>
v0id1st stworzył podwaliny serwera
<ul>
<li>skrypt dodający użytkowników</li>
<li>konfiguracja irc</li>
<li>podstawowa strona html+php</li>
</ul>
</p>
<h2> 2025/07/22 </h2>
<p>
Początek prac.
</p>
</article>

View File

@ -1,76 +1,37 @@
<?php <?php
include 'header.php'; include 'header.php';
if($_POST['email'] && $_POST['nick'] && $_POST['pubkey']) {
?> ?>
<article>
Hej
<strong>
<?= htmlspecialchars($_POST['nick']); ?>
</strong>!
<br><br>
Otrzymaliśmy twój formularz rejestracji. Oczekuj na dalsze informacje na swojej skrzynce mailowej. :) Odpowiedź może potrwać kilka dni, w zależności od oczekującej liczby użytkowników.
</article>
<?php
$nick=htmlspecialchars($_POST["nick"]);
$email=htmlspecialchars($_POST["email"]);
$url=htmlspecialchars($_POST["url"]);
$who=htmlspecialchars($_POST["who"]);
$interests=htmlspecialchars($_POST["interests"]);
$pubkey=htmlspecialchars($_POST["pubkey"]);
$to = 'smoorg@tylda.org';
$subject = 'Rejestracja usera ' . "$nick";
$message = "Nick:\t\t$nick\n" .
"Email:\t\t$email\n" .
"Url:\t\t$url\n" .
"SSH:\t\t$pubkey\n" .
"Opowiedz coś na swój temat:\t\t$who\n" .
"Zainteresowania:\t\t$interests\n"
;
$headers = array(
'From' => 'noreply@tylda.org',
'Reply-To' => 'noreply@tylda.org',
'X-Mailer' => 'PHP/' . phpversion()
);
mail($to, $subject, $message, $headers);
} else {
?>
<article>
Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potraktuj go częściowo jako antyspam. Chcemy sensownych odpowiedzi na poniższe pytania. Posiadanie własnej strony też jest na duży plus. Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potraktuj go częściowo jako antyspam. Chcemy sensownych odpowiedzi na poniższe pytania. Posiadanie własnej strony też jest na duży plus.
<form action="register.php" method="POST"> <form action="register_post.php" method="POST">
<div class="form-row"> <div class="form-row">
<label> <label>Email*</label>
Email
<span color=red>*</span>
</label>
<input name="email" type="email" required> <input name="email" type="email" required>
</div> </div>
<div class="form-row"> <div class="form-row">
<label> <label>Nick*</label>
Nick
<span color=red>*</span>
</label>
<input name="nick" type="string" min=3 max=20 pattern="[a-zA-Z0-9]+" required> <input name="nick" type="string" min=3 max=20 pattern="[a-zA-Z0-9]+" required>
</div> </div>
<div class="form-row">
<label>
Klucz publiczny (posłuży ci do logowania)
<span color=red>*</span>
</br>
NIE podawaj tu klucza prywatnego!
</label>
<textarea name="pubkey" rows 3 maxlength=200 required></textarea>
</div>
<div class="form-row"> <div class="form-row">
<label>Strona WWW</label> <label>Strona WWW</label>
<input name="url" type="url"> <input name="url" type="url">
</div> </div>
<div class="form-row">
<label>Jak do nas trafiłeś?</label>
<select name="how" required>
<option selected></option>
<option>komunikator (np. matrix, irc, xmpp)</option>
<option>wyszukiwarka</option>
<option>tildeeverse.org</option>
<option>promocja w internecie</option>
<option>polecenie</option>
<option>inne</option>
</select>
</div>
<div class="form-row">
<label>Zainteresowania</label>
<textarea name="interests" maxlength=1000></textarea>
</div>
<div class="form-row"> <div class="form-row">
<label>Opowiedz coś na swój temat</label> <label>Opowiedz coś na swój temat</label>
<textarea name="who" rows=8 maxlength=1000"></textarea> <textarea name="who" rows=8 maxlength=1000"></textarea>
@ -79,10 +40,3 @@ Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potra
<button type="submit">Submit</button> <button type="submit">Submit</button>
</div> </div>
</form> </form>
</article>
<?php
}
?>

38
register_post.php Normal file
View File

@ -0,0 +1,38 @@
<?php
include 'header.php';
?>
<article>
Hej
<strong>
<?= htmlspecialchars($_POST['nick']); ?>
</strong>!
<br><br>
Otrzymaliśmy twój formularz rejestracji. Oczekuj na dalsze informacje na swojej skrzynce mailowej. :) Odpowiedź może potrwać kilka dni, w zależności od oczekującej liczby użytkowników.
</article>
<?php
$nick=htmlspecialchars($_POST["nick"]);
$email=htmlspecialchars($_POST["email"]);
$url=htmlspecialchars($_POST["url"]);
$who=htmlspecialchars($_POST["who"]);
$how=htmlspecialchars($_POST["how"]);
$interests=htmlspecialchars($_POST["interests"]);
$to = 'smoorg@tylda.org';
$subject = 'Rejestracja usera' . "$nick";
$message = "Nick: $nick\n" .
"Email: $email\n" .
"Url: $url\n" .
"Opowiedz coś na swój temat: $who\n" .
"Jak do nas trafiłeś?: $how\n" .
"Zainteresowania: $interests\n"
;
$headers = array(
'From' => 'noreply@tylda.org',
'Reply-To' => 'noreply@tylda.org',
'X-Mailer' => 'PHP/' . phpversion()
);
mail($to, $subject, $message, $headers);
?>

View File

@ -1,3 +1,9 @@
@media only screen and (max-width: 850px) {
header#menu {
flex-direction: column !important;
}
}
:root { :root {
--main: #dd9a1a; --main: #dd9a1a;
--bg: #111; --bg: #111;
@ -17,24 +23,18 @@ body {
font-family: "Helvetica", "Arial", sans-serif; font-family: "Helvetica", "Arial", sans-serif;
} }
h1 {
margin-bottom: 1rem;
}
h2, h3, h4, h5, h6 {
margin: 0.5rem 0;
}
div.main-content { div.main-content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 60%;
margin: 0 auto; margin: 0 auto;
padding: 1rem; padding: 1rem;
} }
header#menu { header#menu {
display: flex; display: flex;
flex-direction: row;
height: 3rem;
border-width: 5px; border-width: 5px;
border-color: var(--main); border-color: var(--main);
border-style: double; border-style: double;
@ -72,9 +72,9 @@ article#content {
border-color: var(--main); border-color: var(--main);
border-style: double; border-style: double;
border-radius: 5px; border-radius: 5px;
margin: 2rem 0; margin-top: 2rem;
padding: 1rem; padding: 1rem;
gap: .5rem; gap: 8px;
padding-block: 2rem; padding-block: 2rem;
} }
@ -104,8 +104,7 @@ footer#footer > *:not(:last-child)::after {
pre.ascii { pre.ascii {
margin-bottom: 2rem; margin-bottom: 2rem;
font-size: 1rem; font-size: 15px;
overflow: auto;
} }
.user_home { .user_home {
@ -117,7 +116,6 @@ pre.ascii {
.form-row { .form-row {
display: flex; display: flex;
flex-direction: column;
justify-content: flex-end; justify-content: flex-end;
padding: .5em; padding: .5em;
} }
@ -133,87 +131,12 @@ pre.ascii {
} }
.form-row > button:hover { .form-row > button:hover {
background: var(--link); background: var(--main);
} }
.form-row > button { .form-row > button {
padding: .5em; padding: .5em;
background: var(--main); background: var(--link);
color: white; color: white;
border: 0; border: 0;
padding: 1rem; padding: 1rem;
} }
input, textarea, select {
background: #000;
color: #fff;
border: 1px solid var(--main);
}
ul li {
padding: 0.5rem;
margin-left: 2rem;
}
@media only screen and (min-width: 1200px) {
div.main-content {
width: 60%;
}
}
@media only screen
and (min-width: 576px)
and (max-width: 768px) {
header#menu {
flex-direction: column;
}
.form-row {
flex-direction: row;
}
pre.ascii {
font-size: 0.8rem;
}
}
@media only screen
and (min-width: 768px)
and (max-width: 992px) {
header#menu {
flex-direction: column;
}
.form-row {
flex-direction: row;
}
}
@media only screen
and (min-width: 992px)
and (max-width: 1200px) {
}
@media only screen
and (min-width: 1200px)
and (max-width: 1400px) {
header#menu {
flex-direction: column;
}
.form-row {
flex-direction: row;
}
}
@media only screen and (max-width: 576px) {
header#menu {
flex-direction: column;
margin-bottom: 2rem;
}
article#content {
font-size: 1em;
border: none;
border-color: none;
border-style: none;
border-radius: 0;
padding: 0rem;
}
pre.ascii {
font-size: 0.5rem;
}
}

View File

@ -1,20 +0,0 @@
<?php
include 'header.php';
?>
<h1>> Users </h1>
<article id="content">
Lista użytkowników i linki do ich blogów
<ul>
<?php
$host=htmlspecialchars($_SERVER['SERVER_NAME']);
//$host="";
foreach (scandir("/home/") as $file) {
if (in_array($file, array('.', '..'))) continue;
echo "<li><a href=\"/~$file\">~$file</a></li>";
}
?>
</ul>
</article>

View File

@ -1,47 +0,0 @@
<?php
include '../header.php';
?>
<pre class="ascii">
/$$$$$$$$ /$$ /$$ /$$ /$$ /$$ /$$ /$$
|__ $$__/ | $$ | $$ | $$ /$ | $$|__/| $$ |__/
| $$ /$$ /$$| $$ /$$$$$$$ /$$$$$$ | $$ /$$$| $$ /$$| $$ /$$ /$$
| $$| $$ | $$| $$ /$$__ $$ |____ $$ | $$/$$ $$ $$| $$| $$ /$$/| $$
| $$| $$ | $$| $$| $$ | $$ /$$$$$$$ | $$$$_ $$$$| $$| $$$$$$/ | $$
| $$| $$ | $$| $$| $$ | $$ /$$__ $$ | $$$/ \ $$$| $$| $$_ $$ | $$
| $$| $$$$$$$| $$| $$$$$$$| $$$$$$$ | $$/ \ $$| $$| $$ \ $$| $$
|__/ \____ $$|__/ \_______/ \_______/ |__/ \__/|__/|__/ \__/|__/
/$$ | $$
| $$$$$$/
\______/
</pre>
<i style="margin-bottom: 2rem;"><?php echo $slogan; ?></i>
<div id="top-bar">
<h1>> Wiki</h1>
</div>
<article id="content">
<i>Wiki jest aktualnie w trakcie tworzenia, poniżej znajdziesz najważniejsze informacje, które przydadzą Ci się na starcie ;)</i><br />
<h2>Poruszanie się po systemie</h2>
<p>Po zalogowaniu domyślnie będziesz mieć otwartą sesję TMUX z trzema zakładkami: <b>Mail (neomutt)</b>, <b>IRC (weechat)</b> oraz <b>shell</b> i kilkoma keybindami.</p>
<p>Keybindy, które mogą Ci się tu przydać to:</p>
<ul>
<li><b>F1</b> - przejście do karty pierwszej (mail)</li>
<li><b>F2</b> - przejście do karty drugiej (IRC)</li>
<li><b>F3</b> - przejście do karty trzeciej (shell)</li>
<li><b>F12</b> - zamknięcie sesji TMUX i wylogowanie (domyślnie)</li>
</ul>
<p>Możesz oczywiście dostosować całość do siebie, konfiguracja keybinów jest dostępna w twoim katalogu domowym w pliku <b>.tmux.conf</b></p>
<p>Jeśli chodzi o Weechat (IRC), najważniejsze, co musisz znać to <b>Alt + 1-9</b>, żeby poruszać się po kanałach :)</p><br /><br />
<h2>Usługi publiczne</h2>
<p>Domyślnie dla twojego konta uruchomiona jest strona internetowa na protokole HTTPS pod linkiem: <b>tylda.org/~username</b>. Pliki tejże strony możesz śmiało edytować, usuwać i robić z nimi co chcesz. Strona jest w twoim katalogu domowym pod <i>public_html</i>.</p>
<p>Dodatkowo dla każdego jest również uruchomiona kapsuła gemini dostępna pod linkiem: <b>gemini://tylda.org/~username</b>. Pliki kapsuły dla ciebie dostępne w katalogu domowym pod <i>public_gemini</i>.</p><br /><br />
<h2>Git</h2>
<p>Na ten moment publiczna rejestracja na gitea jest wyłączona, boty się rejestrowały. Natomiast każdemu, kto chce założyć swoje repo lub wspomóc nas przy tworzeniu projektu zachęcam do kontaktu na mail/IRC z <b>v0id1st</b> lub <b>smoorg</b>, założymy bez problemu.</p>
</article>
<?php
include '../footer.php';
?>