Compare commits

..

23 Commits

Author SHA1 Message Date
50bf7b13a7 css: better split medias 2025-10-09 23:17:37 +02:00
76687cc725 translate news.php, move it to main page 2025-10-09 23:16:58 +02:00
3098e5c010 css? 2025-10-09 13:31:56 +02:00
7c41c06d16 Merge pull request 'feature/news' (#6) from feature/news into main
Reviewed-on: #6
2025-10-09 13:30:35 +02:00
8b0a27358d minor chages for users.php
* article css
* h1 > Users
2025-10-09 03:10:02 +02:00
a077f2e95f news page 2025-10-09 03:09:49 +02:00
df15387f84 escape xd 2025-10-08 13:44:16 +02:00
5ce36803b8 Merge pull request 'users tab' (#5) from feature/users-tab into main
Reviewed-on: #5
Reviewed-by: v0id1st <v0id1st@tylda.org>
2025-10-08 13:42:29 +02:00
fea7b92687 link 2025-10-08 13:41:25 +02:00
ef777eb779 register 2025-10-08 13:33:14 +02:00
e19a66ff62 users tab 2025-10-08 12:15:37 +02:00
5bff409db4 Merge pull request 'feature/css-hell' (#4) from feature/css-hell into main
Reviewed-on: #4
2025-10-07 01:14:23 +02:00
2c21a866b1 media chaos
* dodane media na desktop (900+)
* dodane media na 480px
* dodane media dla telefonow (max-device-width)
2025-10-03 22:42:17 +02:00
8cfc95535d avoid hardcoding height for flex purposes 2025-10-03 21:23:10 +02:00
cdbd3140ba Merge pull request 'feature/simplify-form' (#3) from feature/simplify-form into main
Reviewed-on: #3
2025-09-30 17:47:38 +02:00
9f7d68bd5e wzmianka o tildeverse na index.php 2025-09-30 14:37:00 +02:00
d77fb7b2b6 Kilka zmian w formie rejestracji
* dodany klucz ssh
* usuniete pole skąd do nas trafiłeś
* dodane 4 wiersze do zainteresowań
* dodane max 500 znaków w zainteresowaniach
2025-09-30 14:35:08 +02:00
9c305c1a83 dodana czerwona gwiazdka na pola wymagane 2025-09-30 14:33:43 +02:00
7555926f10 git info 2025-09-25 13:17:16 +02:00
464de76751 wiki 2025-09-25 13:11:51 +02:00
a9f2a76d2a Merge pull request 'cleanup, register in one file' (#2) from update/merge-register into main
Reviewed-on: #2
2025-09-22 10:57:07 +02:00
68e4b418fd cleanup, register in one file 2025-09-22 10:36:14 +02:00
e6b84035e1 Merge pull request 'register form draft' (#1) from feature/register-form into main
Reviewed-on: #1
Reviewed-by: v0id1st <v0id1st@tylda.org>
2025-09-21 23:45:38 +02:00
8 changed files with 290 additions and 73 deletions

View File

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

View File

@ -35,8 +35,9 @@ $slogan = $slogans[rand(0, count($slogans) - 1)];
</div>
<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>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>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>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>Jeśli szukasz alternatywy dla współczesnej sieci dobrze trafiłeś.</p>
@ -50,11 +51,13 @@ $slogan = $slogans[rand(0, count($slogans) - 1)];
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>";
}
?>
</article>
<?php
include 'news.php';
include 'footer.php';
?>

60
news.php Normal file
View File

@ -0,0 +1,60 @@
<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,37 +1,76 @@
<?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.
<form action="register_post.php" method="POST">
<form action="register.php" method="POST">
<div class="form-row">
<label>Email*</label>
<label>
Email
<span color=red>*</span>
</label>
<input name="email" type="email" required>
</div>
<div class="form-row">
<label>Nick*</label>
<label>
Nick
<span color=red>*</span>
</label>
<input name="nick" type="string" min=3 max=20 pattern="[a-zA-Z0-9]+" required>
</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">
<label>Strona WWW</label>
<input name="url" type="url">
</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">
<label>Opowiedz coś na swój temat</label>
<textarea name="who" rows=8 maxlength=1000"></textarea>
@ -40,3 +79,10 @@ Poniższy formularz trafi do naszych administratorów, którzy go ocenią. Potra
<button type="submit">Submit</button>
</div>
</form>
</article>
<?php
}
?>

View File

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

20
users.php Normal file
View File

@ -0,0 +1,20 @@
<?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>

47
wiki/index.php Normal file
View File

@ -0,0 +1,47 @@
<?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';
?>