Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

32 changed files with 1442 additions and 620 deletions

View File

@ -25,4 +25,4 @@ steps:
- sudo -Hu www-data git fetch
- sudo -Hu www-data git reset --hard origin/master
- sudo -Hu www-data composer install
- sudo -Hu www-data make -C css

View File

@ -1,15 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MessDetectorOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCSFixerOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PHPCodeSnifferOptionsConfiguration">
<option name="highlightLevel" value="WARNING" />
<option name="transferred" value="true" />
</component>
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/tildeteam/wiki" />
@ -30,15 +20,9 @@
<component name="PhpProjectSharedConfiguration" php_language_level="8.1">
<option name="suggestChangeDefaultLanguageLevel" value="false" />
</component>
<component name="PhpStanOptionsConfiguration">
<option name="transferred" value="true" />
</component>
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" />
</phpunit_settings>
</component>
<component name="PsalmOptionsConfiguration">
<option name="transferred" value="true" />
</component>
</project>

View File

@ -1,13 +0,0 @@
# webfinger
to add your own, run the `webfinger` tool at your shell.
it will prompt you for your fedi handle and save the correct json to `~/.webfinger.json`.
you can do this manually by grabbing the webfinger from your fedi host.
as an example, to get the webfinger response for `@ben@tilde.zone`
curl 'https://tilde.zone/.well-known/webfinger?resource=acct:ben@tilde.zone' > ~/.webfinger.json
see [webfinger.net](https://webfinger.net) for more info and a simple tester for your setup.

View File

@ -1,30 +0,0 @@
<?php
$trims = [
"acct:",
"@tilde.team",
"@fuckup.club",
"@nand.sh",
"@ttm.sh",
"@tild3.org",
"@tilde.chat",
"@tilde.news",
"@tilde.site",
"@tildeteam.net",
"@tildeteam.org",
"@tildeverse.net",
"@tildeverse.org",
];
$user = str_replace($trims, "", $_GET["resource"]);
$webfinger_file = "/home/$user/.webfinger.json";
if (file_exists($webfinger_file))
{
header("Content-type: application/jrd+json");
echo file_get_contents($webfinger_file);
}
else
header("Status: 404");
die();

View File

@ -1,7 +1,6 @@
{
"require": {
"tildeteam/wiki": "^2.0",
"mibe/feedwriter": "^1.1",
"ext-openssl": "*",
"ext-json": "*",
"ext-shmop": "*",

237
composer.lock generated
View File

@ -4,20 +4,20 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "932fa6699aef88e3be5f372d748d856d",
"content-hash": "4819cdd6fda4c82d5fb0f50ad5cf3897",
"packages": [
{
"name": "dflydev/dot-access-data",
"version": "v3.0.2",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/dflydev/dflydev-dot-access-data.git",
"reference": "f41715465d65213d644d3141a6a93081be5d3549"
"reference": "0992cc19268b259a39e86f296da5f0677841f42c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549",
"reference": "f41715465d65213d644d3141a6a93081be5d3549",
"url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c",
"reference": "0992cc19268b259a39e86f296da5f0677841f42c",
"shasum": ""
},
"require": {
@ -28,7 +28,7 @@
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
"scrutinizer/ocular": "1.6.0",
"squizlabs/php_codesniffer": "^3.5",
"vimeo/psalm": "^4.0.0"
"vimeo/psalm": "^3.14"
},
"type": "library",
"extra": {
@ -77,22 +77,22 @@
],
"support": {
"issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
"source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2"
"source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1"
},
"time": "2022-10-27T11:44:00+00:00"
"time": "2021-08-13T13:06:58+00:00"
},
{
"name": "league/commonmark",
"version": "2.3.9",
"version": "2.3.5",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "c1e114f74e518daca2729ea8c4bf1167038fa4b5"
"reference": "84d74485fdb7074f4f9dd6f02ab957b1de513257"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c1e114f74e518daca2729ea8c4bf1167038fa4b5",
"reference": "c1e114f74e518daca2729ea8c4bf1167038fa4b5",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/84d74485fdb7074f4f9dd6f02ab957b1de513257",
"reference": "84d74485fdb7074f4f9dd6f02ab957b1de513257",
"shasum": ""
},
"require": {
@ -112,7 +112,7 @@
"erusev/parsedown": "^1.0",
"ext-json": "*",
"github/gfm": "0.29.0",
"michelf/php-markdown": "^1.4 || ^2.0",
"michelf/php-markdown": "^1.4",
"nyholm/psr7": "^1.5",
"phpstan/phpstan": "^1.8.2",
"phpunit/phpunit": "^9.5.21",
@ -120,7 +120,7 @@
"symfony/finder": "^5.3 | ^6.0",
"symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0",
"unleashedtech/php-coding-standard": "^3.1.1",
"vimeo/psalm": "^4.24.0 || ^5.0.0"
"vimeo/psalm": "^4.24.0"
},
"suggest": {
"symfony/yaml": "v2.3+ required if using the Front Matter extension"
@ -185,20 +185,20 @@
"type": "tidelift"
}
],
"time": "2023-02-15T14:07:24+00:00"
"time": "2022-07-29T10:59:45+00:00"
},
{
"name": "league/config",
"version": "v1.2.0",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/config.git",
"reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"
"reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
"reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
"url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
"reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
"shasum": ""
},
"require": {
@ -207,7 +207,7 @@
"php": "^7.4 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^1.8.2",
"phpstan/phpstan": "^0.12.90",
"phpunit/phpunit": "^9.5.5",
"scrutinizer/ocular": "^1.8.1",
"unleashedtech/php-coding-standard": "^3.1",
@ -267,108 +267,7 @@
"type": "github"
}
],
"time": "2022-12-11T20:36:23+00:00"
},
{
"name": "mibe/feedwriter",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/mibe/FeedWriter.git",
"reference": "f4cc748ad8700e36663f08cfeebe7fd39b00eea2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mibe/FeedWriter/zipball/f4cc748ad8700e36663f08cfeebe7fd39b00eea2",
"reference": "f4cc748ad8700e36663f08cfeebe7fd39b00eea2",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"FeedWriter\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-3.0"
],
"authors": [
{
"name": "Michael Bemmerl",
"email": "mail@mx-server.de"
},
{
"name": "Phil Freo"
},
{
"name": "Paul Ferrett"
},
{
"name": "Brennen Bearnes"
},
{
"name": "Michael Robinson",
"email": "mike@pagesofinterest.net"
},
{
"name": "Baptiste Fontaine"
},
{
"name": "Kristián Valentín"
},
{
"name": "Brandtley McMinn"
},
{
"name": "Julian Bogdani"
},
{
"name": "Anis Uddin Ahmad",
"email": "anis.programmer@gmail.com"
},
{
"name": "Cedric Gampert"
},
{
"name": "Yamek"
},
{
"name": "thielj"
},
{
"name": "Pavel Khakhlou"
},
{
"name": "Daniel"
},
{
"name": "Tino Goratsch"
}
],
"description": "Generate feeds in either RSS 1.0, RSS 2.0 or ATOM formats",
"homepage": "https://github.com/mibe/FeedWriter",
"keywords": [
"RSS 1.0",
"atom",
"feed",
"rss",
"rss 2.0",
"rss2"
],
"support": {
"issues": "https://github.com/mibe/FeedWriter/issues",
"source": "https://github.com/mibe/FeedWriter/tree/master"
},
"time": "2016-11-19T20:47:44+00:00"
"time": "2021-08-14T12:15:32+00:00"
},
{
"name": "mnapoli/front-yaml",
@ -409,25 +308,25 @@
},
{
"name": "nette/schema",
"version": "v1.2.3",
"version": "v1.2.2",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
"reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f"
"reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f",
"reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f",
"url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df",
"reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df",
"shasum": ""
},
"require": {
"nette/utils": "^2.5.7 || ^3.1.5 || ^4.0",
"php": ">=7.1 <8.3"
"php": ">=7.1 <8.2"
},
"require-dev": {
"nette/tester": "^2.3 || ^2.4",
"phpstan/phpstan-nette": "^1.0",
"phpstan/phpstan-nette": "^0.12",
"tracy/tracy": "^2.7"
},
"type": "library",
@ -465,36 +364,34 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
"source": "https://github.com/nette/schema/tree/v1.2.3"
"source": "https://github.com/nette/schema/tree/v1.2.2"
},
"time": "2022-10-13T01:24:26+00:00"
"time": "2021-10-15T11:40:02+00:00"
},
{
"name": "nette/utils",
"version": "v4.0.0",
"version": "v3.2.8",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
"reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e"
"reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/cacdbf5a91a657ede665c541eda28941d4b09c1e",
"reference": "cacdbf5a91a657ede665c541eda28941d4b09c1e",
"url": "https://api.github.com/repos/nette/utils/zipball/02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
"reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
"shasum": ""
},
"require": {
"php": ">=8.0 <8.3"
"php": ">=7.2 <8.3"
},
"conflict": {
"nette/finder": "<3",
"nette/schema": "<1.2.2"
"nette/di": "<3.0.6"
},
"require-dev": {
"jetbrains/phpstorm-attributes": "dev-master",
"nette/tester": "^2.4",
"nette/tester": "~2.0",
"phpstan/phpstan": "^1.0",
"tracy/tracy": "^2.9"
"tracy/tracy": "^2.3"
},
"suggest": {
"ext-gd": "to use Image",
@ -508,7 +405,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.0-dev"
"dev-master": "3.2-dev"
}
},
"autoload": {
@ -552,9 +449,9 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v4.0.0"
"source": "https://github.com/nette/utils/tree/v3.2.8"
},
"time": "2023-02-02T10:41:53+00:00"
"time": "2022-09-12T23:36:20+00:00"
},
{
"name": "psr/event-dispatcher",
@ -608,16 +505,16 @@
},
{
"name": "symfony/deprecation-contracts",
"version": "v3.2.0",
"version": "v3.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3"
"reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/1ee04c65529dea5d8744774d474e7cbd2f1206d3",
"reference": "1ee04c65529dea5d8744774d474e7cbd2f1206d3",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918",
"reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918",
"shasum": ""
},
"require": {
@ -626,7 +523,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.3-dev"
"dev-main": "3.1-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -655,7 +552,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.0"
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.1"
},
"funding": [
{
@ -671,20 +568,20 @@
"type": "tidelift"
}
],
"time": "2022-11-25T10:21:52+00:00"
"time": "2022-02-25T11:15:52+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.27.0",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"shasum": ""
},
"require": {
@ -699,7 +596,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -737,7 +634,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
},
"funding": [
{
@ -753,20 +650,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2022-05-24T11:49:31+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.27.0",
"version": "v1.26.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"shasum": ""
},
"require": {
@ -775,7 +672,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
"dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -820,7 +717,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
},
"funding": [
{
@ -836,20 +733,20 @@
"type": "tidelift"
}
],
"time": "2022-11-03T14:55:06+00:00"
"time": "2022-05-10T07:21:04+00:00"
},
{
"name": "symfony/yaml",
"version": "v6.2.5",
"version": "v6.1.4",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19"
"reference": "86ee4d8fa594ed45e40d86eedfda1bcb66c8d919"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19",
"reference": "2bbfbdacc8a15574f8440c4838ce0d7bb6c86b19",
"url": "https://api.github.com/repos/symfony/yaml/zipball/86ee4d8fa594ed45e40d86eedfda1bcb66c8d919",
"reference": "86ee4d8fa594ed45e40d86eedfda1bcb66c8d919",
"shasum": ""
},
"require": {
@ -894,7 +791,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/yaml/tree/v6.2.5"
"source": "https://github.com/symfony/yaml/tree/v6.1.4"
},
"funding": [
{
@ -910,7 +807,7 @@
"type": "tidelift"
}
],
"time": "2023-01-10T18:53:53+00:00"
"time": "2022-08-02T16:17:38+00:00"
},
{
"name": "tildeteam/wiki",

2
css/.gitignore vendored
View File

@ -1,2 +0,0 @@
hacker.css
dracula.css

5
css/dracula.css Normal file

File diff suppressed because one or more lines are too long

5
css/hacker.css Normal file

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@
*/
select {
background-color: darken(@btn-default-bg, 5%);
background-color: darken(@btn-default-bg,5%);
border-color: @btn-default-border;
padding: 5px;
}
@ -31,29 +31,12 @@ a {
text-decoration: underline;
}
.btn-default {
.btn-styles(@btn-default-bg);
}
.btn-primary {
.btn-styles(@btn-primary-bg);
}
.btn-success {
.btn-styles(@btn-success-bg);
}
.btn-info {
.btn-styles(@btn-info-bg);
}
.btn-warning {
.btn-styles(@btn-warning-bg);
}
.btn-danger {
.btn-styles(@btn-danger-bg);
}
.btn-default { .btn-styles(@btn-default-bg); }
.btn-primary { .btn-styles(@btn-primary-bg); }
.btn-success { .btn-styles(@btn-success-bg); }
.btn-info { .btn-styles(@btn-info-bg); }
.btn-warning { .btn-styles(@btn-warning-bg); }
.btn-danger { .btn-styles(@btn-danger-bg); }
// Forms
@ -180,28 +163,15 @@ tr.active {
}
}
.alert-success .close {
.close-styles(@brand-success);
}
.alert-info .close {
.close-styles(@brand-info);
}
.alert-warning .close {
.close-styles(@brand-warning);
}
.alert-danger .close {
.close-styles(@brand-danger);
}
.alert-success .close { .close-styles(@brand-success); }
.alert-info .close { .close-styles(@brand-info); }
.alert-warning .close { .close-styles(@brand-warning); }
.alert-danger .close { .close-styles(@brand-danger); }
// Modals
// Apply close button mixin
.modal-header .close {
.close-styles(@close-color);
}
.modal-header .close { .close-styles(@close-color); }
// List groups
@ -217,7 +187,6 @@ tr.active {
border: 1px solid #222;
}
}
p {
word-wrap: break-word;
overflow-wrap: break-word;
@ -228,17 +197,14 @@ tr.active {
background: @hacker-primary-lighter;
color: @hacker-bg
}
*::selection {
background: @hacker-primary-lighter;
color: @hacker-bg
}
::-moz-selection {
background: @hacker-primary-lighter;
color: @hacker-bg
}
*::-moz-selection {
background: @hacker-primary-lighter;
color: @hacker-bg

View File

@ -1,50 +1,9 @@
// import bootstrap base
@import "../node_modules/bootstrap/less/bootstrap.less";
// @import (inline) "plex.css";
// import custom variables
@import "variables.less";
// dracula colors by SinaCutie
@hacker-primary-darker: darken(@hacker-primary, 20%); /* Primary 1 */
@hacker-primary-dark: darken(@hacker-primary, 10%); /* Primary 2 */
@hacker-primary: #F8F8F2; /* Main primary */
@hacker-primary-light: lighten(@hacker-primary, 10%); /* Primary 3 */
@hacker-primary-lighter: lighten(@hacker-primary, 20%); /* Primary 3 */
@hacker: @hacker-primary-lighter; /* Body text */
@hacker-bg: #282A36; /* Body bg */
@hacker-box-bg: lighten(@hacker-bg, 10%); /* Container elem bg */
@hacker-box-border: lighten(@hacker-bg, 20%); /* Container border */
@brand-primary: @hacker-primary;
@brand-success: #50FA7B;
@brand-warning: #F1FA8C;
@brand-danger: #FF5555;
@brand-info: #8BE9FD;
@comment: #6272A4;
@link-color: #BD93F9;
@pre-color: @hacker-primary;
@btn-default-color: @hacker-primary-lighter;
@btn-default-bg: @comment;
@btn-default-border: @hacker-box-border;
@btn-primary-bg: @hacker-primary-light;
@table-bg-active: @comment;
@panel-bg: @hacker-bg;
@panel-inner-border: @hacker-box-bg;
@panel-footer-bg: @hacker-box-bg;
@panel-default-heading-bg: lighten(@hacker-bg, 10%);
@panel-primary-text: @hacker-primary;
@panel-primary-border: @hacker-box-bg;
@panel-primary-heading-bg: @hacker-box-bg;
@list-group-active-bg: @comment;
@progress-bar-color: lighten(@hacker-primary-lighter, 10%);
@progress-bar-bg: #FFB86C;
@import "dracula_variables.less";
// import custom theme changes
@import "_theme.less";

View File

@ -0,0 +1,367 @@
/*
A Bootstrap theme for 31337 H4X0RS
by Tobin Brown, 2015
forked by benharri for tilde.team
dracula colors for tilde.team by SinaCutie
Palette URL: http://paletton.com/#uid=12U0u0knnfti5bkladVnSlVo6tw
*/
// Hacker Colors
@hacker-primary-darker: darken(@hacker-primary, 20%); /* Primary 1 */
@hacker-primary-dark: darken(@hacker-primary, 10%); /* Primary 2 */
@hacker-primary: #F8F8F2; /* Main primary */
@hacker-primary-light: lighten(@hacker-primary, 10%); /* Primary 3 */
@hacker-primary-lighter: lighten(@hacker-primary, 20%); /* Primary 3 */
@hacker: @hacker-primary-lighter; /* Body text */
@hacker-bg: #282A36; /* Body bg */
@hacker-box-bg: lighten(@hacker-bg, 10%); /* Container elem bg */
@hacker-box-border: lighten(@hacker-bg, 20%); /* Container border */
// Bootstrap Colors
@gray-darker: #181417;
@gray-dark: #453c44;
@gray: #675b65;
@gray-light: #907f8d;
@gray-lighter: #b9adb6;
@brand-primary: @hacker-primary;
@brand-success: #50FA7B;
@brand-warning: #F1FA8C;
@brand-danger: #FF5555;
@brand-info: #8BE9FD;
@comment: #6272A4;
// Scaffolding
@body-bg: @hacker-bg;
@text-color: @hacker;
@link-color: #BD93F9;
@link-hover-color: lighten(@link-color, 10%);
@padding-base-vertical: 6px;
@padding-base-horizontal: 2ch;
@padding-large-vertical: 10px;
@padding-large-horizontal: 3ch;
@padding-small-vertical: 5px;
@padding-small-horizontal: 1ch;
@border-radius-base: 2;
@border-radius-large: 4;
@border-radius-small: 1;
@line-height-base: 1.428571429;
@line-height-with-unit: 1.428571429em;
@line-height-large: @line-height-base * 2;
@line-height-small: @line-height-base;
@component-active-color: @hacker-bg;
@component-active-bg: @hacker-primary-lighter;
// Typography
@font-family-monospace: "IBM Plex Mono", "JetBrains Mono", "Fira Mono", Consolas, Inconsolata, monospace;
@font-family-sans-serif: @font-family-monospace;
@font-family-serif: @font-family-monospace;
@font-family-base: @font-family-monospace;
@font-size-base: 16px;
@font-size-large: ceil(@font-size-base * 1.25);
@font-size-small: ceil(@font-size-base * 0.85);
@font-size-h1: floor((@font-size-base * 3));
@font-size-h2: floor((@font-size-base * 2.5));
@font-size-h3: floor((@font-size-base * 2));
@font-size-h4: floor((@font-size-base * 1.5));
@font-size-h5: floor((@font-size-base * 1.25));
@font-size-h6: @font-size-base;
@line-height-computed: floor(@font-size-base * @line-height-base);
@headings-font-family: @font-family-base;
@headings-font-weight: 500;
@headings-line-height: @line-height-base;
@headings-color: @hacker-primary-lighter;
// Code
@code-color: @hacker-primary-lighter;
@code-bg: @hacker-box-bg;
@kbd-color: @hacker-primary-lighter;
@kbd-bg: @hacker-box-bg;
@pre-color: @hacker-primary;
@pre-bg: @hacker-box-bg;
@pre-border-color: @hacker-box-border;
// Buttons
@btn-font-weight: normal;
@btn-default-color: @hacker-primary-lighter;
@btn-default-bg: @comment;
@btn-default-border: @hacker-box-border;
@btn-primary-color: @hacker-bg;
@btn-primary-bg: @hacker-primary-light;
@btn-primary-border: darken(@btn-primary-bg, 10%);
@btn-success-color: @hacker-bg;
@btn-success-bg: @brand-success;
@btn-success-border: darken(@btn-success-bg, 10%);
@btn-warning-color: @hacker-bg;
@btn-warning-bg: @brand-warning;
@btn-warning-border: darken(@btn-warning-bg, 10%);
@btn-danger-color: @hacker-bg;
@btn-danger-bg: @brand-danger;
@btn-danger-border: darken(@btn-danger-bg, 10%);
@btn-info-color: @hacker-bg;
@btn-info-bg: @brand-info;
@btn-info-border: darken(@btn-info-bg, 10%);
@btn-link-disabled-color: @gray-light;
// Well
@well-bg: @hacker-box-bg;
@well-border: @hacker-box-border;
// Dropdowns
@dropdown-bg: @hacker-box-bg;
@dropdown-border: @hacker-box-border;
@dropdown-divider-bg: @hacker-box-border;
@dropdown-link-active-color: @component-active-color;
@dropdown-link-active-bg: @component-active-bg;
@dropdown-link-color: @hacker-primary-light;
@dropdown-link-hover-color: @link-hover-color;
@dropdown-link-hover-bg: @gray-darker;
@dropdown-link-disabled-color: @gray-light;
@dropdown-header-color: @headings-color;
@dropdown-caret-color: #000000;
// Custom colors
@dropdown-header-bg: lighten(@dropdown-bg, 10%);
// Forms
@input-bg: @hacker-bg;
@input-bg-disabled: lighten(@hacker-bg, 20%);
@input-color: @hacker;
@input-border: @hacker-box-border;
@input-border-focus: @component-active-bg;
@input-border-radius: @border-radius-base;
@input-color-placeholder: @hacker;
@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2);
@input-height-large: (floor(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2);
@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2);
@legend-color: @headings-color;
@legend-border-color: @hacker-box-border;
@input-group-addon-bg: @hacker-bg;
@input-group-addon-border-color: @input-border;
// Table
@table-cell-padding: 8px;
@table-condensed-cell-padding: 5px;
@table-cell-padding: 8px;
@table-condensed-cell-padding: 5px;
@table-bg: @hacker-box-bg;
@table-bg-accent: lighten(@hacker-bg, 13%);
@table-bg-hover: darken(@gray-darker, 5%); /* Match active */
@table-bg-active: @comment;
@table-border-color: @hacker-box-border;
// Custom colors
@table-heading-color: @hacker-primary-lighter;
@table-heading-bg: darken(@hacker-box-bg, 5%);
@table-hover-color: @hacker-primary-lighter;
@table-active-color: @hacker-primary-lighter;
// Navbar
@navbar-height: 50px;
@navbar-margin-bottom: @line-height-computed;
@navbar-default-color: @hacker;
@navbar-default-bg: @hacker-box-bg;
@navbar-default-border: @hacker-bg;
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
@navbar-default-link-color: @link-color;
@navbar-default-link-hover-color: @link-hover-color;
@navbar-default-link-hover-bg: @hacker-bg;
@navbar-default-link-active-color: @hacker-bg;
@navbar-default-link-active-bg: @hacker-primary-lighter;
@navbar-default-link-disabled-color: #CCCCCC;
@navbar-default-link-disabled-bg: transparent;
@navbar-default-brand-color: @navbar-default-link-color;
@navbar-default-brand-hover-color: lighten(@navbar-default-link-color, 10%);
@navbar-default-brand-hover-bg: transparent;
@navbar-default-toggle-hover-bg: #DDDDDD;
@navbar-default-toggle-icon-bar-bg: #888888;
@navbar-default-toggle-border-color: #DDDDDD;
// Navs Tabs
@nav-link-padding: 10px 15px;
@nav-link-hover-bg: @gray-darker;
@nav-disabled-link-color: @hacker-primary-light;
@nav-disabled-link-hover-color: @gray-light;
@nav-tabs-border-color: #444444;
@nav-tabs-link-hover-border-color: #444444;
@nav-tabs-active-link-hover-bg: @hacker-primary-lighter;
@nav-tabs-active-link-hover-color: @hacker-bg;
@nav-tabs-active-link-hover-border-color: #444444;
@nav-tabs-justified-link-border-color: #DDDDDD;
@nav-tabs-justified-active-link-border-color: @body-bg;
@nav-pills-border-radius: @border-radius-base;
@nav-pills-active-link-hover-bg: @component-active-bg;
@nav-pills-active-link-hover-color: @component-active-color;
// Panel
@panel-bg: @hacker-bg;
@panel-body-padding: 15px;
@panel-heading-padding: 10px 15px;
@panel-footer-padding: @panel-heading-padding;
@panel-border-radius: @border-radius-base;
@panel-inner-border: @hacker-box-bg;
@panel-footer-bg: @hacker-box-bg;
@panel-default-text: @hacker-bg;
@panel-default-border: @hacker-box-bg;
@panel-default-heading-bg: lighten(@hacker-bg, 10%);
@panel-primary-text: @hacker-primary;
@panel-primary-border: @hacker-box-bg;
@panel-primary-heading-bg: @hacker-box-bg;
@panel-success-text: @state-success-text;
@panel-success-border: @state-success-border;
@panel-success-heading-bg: @state-success-bg;
@panel-info-text: @state-info-text;
@panel-info-border: @state-info-border;
@panel-info-heading-bg: @state-info-bg;
@panel-warning-text: @state-warning-text;
@panel-warning-border: @state-warning-border;
@panel-warning-heading-bg: @state-warning-bg;
@panel-danger-text: @state-danger-text;
@panel-danger-border: @state-danger-border;
@panel-danger-heading-bg: @state-danger-bg;
// Jumbotron
@jumbotron-padding: 30px;
@jumbotron-color: inherit;
@jumbotron-bg: lighten(@hacker-bg, 10%);
@jumbotron-heading-color: @headings-color;
@jumbotron-font-size: ceil((@font-size-base * 1.5));
// Pagination
@pagination-bg: @hacker-bg;
@pagination-border: #444444;
@pagination-hover-bg: @gray-darker;
@pagination-hover-color: @link-hover-color;
@pagination-hover-border: @pagination-border;
@pagination-active-bg: @component-active-bg;
@pagination-active-color: @component-active-color;
@pagination-active-border: @pagination-border;
@pagination-disabled-color: @hacker-primary;
@pagination-disabled-bg: @pagination-bg;
@pagination-disabled-border: @pagination-border;
@pager-bg: @pagination-bg;
@pager-border: @pagination-border;
@pager-border-radius: 0;
@pager-hover-bg: @pagination-hover-bg;
@pager-active-bg: @pagination-active-bg;
@pager-active-color: @pagination-active-color;
@pager-bg: @pagination-bg;
@pager-disabled-color: @gray-light;
// Form States
@state-warning-text: @brand-warning;
@state-warning-bg: lighten(@hacker-bg, 10%);
@state-warning-border: darken(spin(@state-warning-bg, -10), 3%);
@state-danger-text: @brand-danger;
@state-danger-bg: lighten(@hacker-bg, 10%);
@state-danger-border: darken(spin(@state-danger-bg, -10), 3%);
@state-success-text: @brand-success;
@state-success-bg: lighten(@hacker-bg, 10%);
@state-success-border: darken(spin(@state-success-bg, -10), 5%);
@state-info-text: @brand-info;
@state-info-bg: lighten(@hacker-bg, 10%);
@state-info-border: darken(spin(@state-info-bg, -10), 7%);
// ToolTip
@tooltip-max-width: 200px;
@tooltip-color: #FFFFFF;
@tooltip-bg: #000000;
@tooltip-arrow-width: 5px;
@tooltip-arrow-color: @tooltip-bg;
@tooltip-opacity: .9;
// Popover
@popover-bg: @hacker-box-bg;
@popover-max-width: 276px;
@popover-border-color: rgba(0,0,0,.2);
@popover-fallback-border-color: #333333;
@popover-title-bg: darken(@popover-bg, 3%);
@popover-arrow-width: 10px;
@popover-arrow-color: @popover-bg;
@popover-arrow-outer-width: (@popover-arrow-width + 1);
@popover-arrow-outer-color: rgba(0,0,0,.25);
@popover-arrow-outer-fallback-color: #999999;
// List Group
@list-group-bg: lighten(@hacker-bg, 5%);
@list-group-border: #222222;
@list-group-border-radius: @border-radius-base;
@list-group-hover-bg: lighten(@hacker-bg, 10%);
@list-group-active-color: @hacker-primary-lighter;
@list-group-active-bg: @comment;
@list-group-active-border: @list-group-active-bg;
@list-group-active-text-color: @hacker-bg;
@list-group-link-color: @hacker;
@list-group-link-heading-color: @hacker;
// Modal
@modal-content-bg: @hacker-box-bg;
@modal-content-border-color: transparent;
@modal-content-fallback-border-color: #999999;
@modal-backdrop-bg: @hacker-bg;
@modal-backdrop-opacity: .5;
@modal-header-border-color: lighten(@hacker-bg, 10%);
@modal-footer-border-color: @modal-header-border-color;
// Badge
@badge-color: @hacker;
@badge-bg: @hacker-bg;
// Progress bars
@progress-bg: @hacker-box-bg;
@progress-bar-color: lighten(@hacker-primary-lighter, 10%);
@progress-bar-bg: #FFB86C;
@progress-bar-success-bg: @brand-success;
@progress-bar-warning-bg: @brand-warning;
@progress-bar-danger-bg: @brand-danger;
@progress-bar-info-bg: @brand-info;
// Breadcrumb
@breadcrumb-bg: @hacker-box-bg;
@breadcrumb-color: @hacker-primary-light;
@breadcrumb-active-color: lighten(@hacker, 10%);
// Close
@close-color: @hacker-primary-light;
@close-text-shadow: none;
// Labels
@label-color: @hacker-bg;
// hr
@hr-border: lighten(@hacker-bg, 20%);

View File

@ -3,7 +3,7 @@
// @import (inline) "plex.css";
// import custom variables
@import "variables.less";
@import "hacker_variables.less";
// import custom theme changes
@import "_theme.less";

View File

@ -1,56 +1,49 @@
@font-face {
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 300;
src: local('IBM Plex Mono Light Italic'), local('IBMPlexMono-LightItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-LightItalic.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 300;
src: local('IBM Plex Mono Light Italic'), local('IBMPlexMono-LightItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-LightItalic.woff2) format('woff2');
}
/* latin */
@font-face {
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 400;
src: local('IBM Plex Mono Italic'), local('IBMPlexMono-Italic'), url(https://tilde.team/fonts/plex/IBMPlexMono-Italic.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 400;
src: local('IBM Plex Mono Italic'), local('IBMPlexMono-Italic'), url(https://tilde.team/fonts/plex/IBMPlexMono-Italic.woff2) format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 500;
src: local('IBM Plex Mono Medium Italic'), local('IBMPlexMono-MediumItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-MediumItalic.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 500;
src: local('IBM Plex Mono Medium Italic'), local('IBMPlexMono-MediumItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-MediumItalic.woff2) format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 700;
src: local('IBM Plex Mono Bold Italic'), local('IBMPlexMono-BoldItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-BoldItalic.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: italic;
font-weight: 700;
src: local('IBM Plex Mono Bold Italic'), local('IBMPlexMono-BoldItalic'), url(https://tilde.team/fonts/plex/IBMPlexMono-BoldItalic.woff2) format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 300;
src: local('IBM Plex Mono Light'), local('IBMPlexMono-Light'), url(https://tilde.team/fonts/plex/IBMPlexMono-Light.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 300;
src: local('IBM Plex Mono Light'), local('IBMPlexMono-Light'), url(https://tilde.team/fonts/plex/IBMPlexMono-Light.woff2) format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 400;
src: local('IBM Plex Mono'), local('IBMPlexMono'), url(https://tilde.team/fonts/plex/IBMPlexMono-Regular.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 400;
src: local('IBM Plex Mono'), local('IBMPlexMono'), url(https://tilde.team/fonts/plex/IBMPlexMono-Regular.woff2) format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 500;
src: local('IBM Plex Mono Medium'), local('IBMPlexMono-Medium'), url(https://tilde.team/fonts/plex/IBMPlexMono-Medium.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 500;
src: local('IBM Plex Mono Medium'), local('IBMPlexMono-Medium'), url(https://tilde.team/fonts/plex/IBMPlexMono-Medium.woff2) format('woff2');
}
@font-face {
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 700;
src: local('IBM Plex Mono Bold'), local('IBMPlexMono-Bold'), url(https://tilde.team/fonts/plex/IBMPlexMono-Bold.woff2) format('woff2');
font-family: 'IBM Plex Mono';
font-style: normal;
font-weight: 700;
src: local('IBM Plex Mono Bold'), local('IBMPlexMono-Bold'), url(https://tilde.team/fonts/plex/IBMPlexMono-Bold.woff2) format('woff2');
}

929
css/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -2,11 +2,11 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://tilde.team/css/hacker.css">
<title>my page</title>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://tilde.team/css/hacker.css">
<title>my page</title>
</head>
<body>

View File

@ -52,7 +52,7 @@
<ul class="nav navbar-nav navbar-right">
<li><a href="/signup/">sign up</a></li>
<li><a href="/wiki/">wiki</a></li>
<li><a href="https://donate.bhh.sh/">donate</a></li>
<li><a href="https://bhh.sh/donate/">donate</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">~team stuff

View File

@ -96,9 +96,7 @@ $parser = wiki::factory(true);
<div class="col-md-6">
<h2 id="projects">~projects~</h2>
<?php // readonly token, gitea changed perms on this endpoint
$repo_url = "https://tildegit.org/api/v1/orgs/team/repos?limit=100&token=448c748ee0082f46ccf246daf759874ca5d067cb";
foreach (json_decode(file_get_contents($repo_url)) ?? [] as $repo):
<?php foreach (json_decode(file_get_contents("https://tildegit.org/api/v1/orgs/team/repos?limit=100")) ?? [] as $repo):
if ($repo->archived) continue; ?>
<div class="list-group">

View File

@ -1,16 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg"
width="240"
height="240">
<g fill="white" stroke="black">
<path d="M4 120L120 4l116 116"
stroke-width="8" stroke-linecap="round"/>
<path d="M210 200V40H30v160z"
stroke-width="3.5"/>
<path d="M236 120l-116 45L4 120v116h232z"
stroke-width="8" stroke-linejoin="round"/>
</g>
<path d="M70.33 110.55c1.05-2.68 2.55-4.86 4.27-7.21 8.94-12.2 19.62-11.8 32.66-6.53 15.52 6.28 30.61 17.28 48.22 12.37 7.41-2.07 13.19-7.01 17.78-13.05 1.57-2.07 5.1-5.34 4.62-8.24-.4-2.41-3.28-4.63-4.96-6.18-1.44-1.34-2.35-1.55-4.1-2.06-4.03 5.7-8.79 13.2-15.39 16.14-8.44 3.77-17.13-1.08-24.62-4.64-14.02-6.65-30.38-14.54-46.17-10.13-9.71 2.71-27.87 16.42-17.44 26.45 1.78 1.71 2.86 2.43 5.13 3.09"
fill="black"/>
<path d="M4 236l116-96 116 96z"
fill="white" stroke="black" stroke-width="8" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 886 B

View File

@ -1,7 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg"
width="240" height="240">
<path d="M34.05 232.58c1.75-20.09 9.89-38.03 23.92-52.71 6.68-7 16.25-14.23 23.85-18.04 2.25-1.13 4.25-2.19 4.44-2.36s-1.73-2.59-4.27-5.37c-10.61-11.61-14.96-28.28-11.56-44.32 2.16-10.19 6.24-17.53 14.04-25.25 7.97-7.89 13.49-11.12 23.35-13.64 8.91-2.28 16.39-2.28 25.3 0 9.85 2.52 15.38 5.75 23.35 13.64 7.79 7.72 11.88 15.06 14.04 25.25 3.38 15.94-1.01 32.78-11.54 44.3-2.55 2.79-4.49 5.22-4.29 5.39s2.19 1.23 4.44 2.36c7.6 3.81 17.17 11.04 23.85 18.04 14.02 14.68 22.16 32.62 23.92 52.71l.65 7.42H33.4zM0 42.94c2.94-1.13 14.48-1.06 21.29.68 9.85 2.52 15.38 5.75 23.35 13.64 7.79 7.72 11.88 15.06 14.04 25.25 3.38 15.94-1.01 32.78-11.54 44.3-2.55 2.79-4.49 5.22-4.29 5.39s2.19 1.23 4.44 2.36c7.14 3.58 16.61 10.62 23.13 17.2 3.47 3.51 6.13 6.52 5.91 6.69s-3.27 2.2-6.77 4.5c-8.18 5.37-20.74 18.26-26.68 27.37-2.56 3.92-5.95 10.57-7.55 14.77l-2.9 7.64H16.21 0zm205.54 162.02c-1.62-4.27-5.34-11.33-8.25-15.69-6.25-9.35-19.86-22.86-27.98-27.78-3.12-1.89-5.68-3.75-5.68-4.13s2.97-3.55 6.59-7.05c6.83-6.58 14.52-12.2 21.59-15.75 2.25-1.13 4.25-2.2 4.44-2.37s-1.73-2.59-4.27-5.37c-10.61-11.61-14.96-28.28-11.56-44.32 2.16-10.19 6.24-17.53 14.04-25.25 3.8-3.76 9.02-7.96 11.61-9.34 8.79-4.67 24.75-7.44 31.89-5.52l2.05.55v169.79h-15.75-15.75z"
fill="black" stroke="white" stroke-width="8" paint-order="stroke"/>
<path d="M84.48 217.12c.75-1.91 1.82-3.48 3.06-5.16 6.39-8.72 14.03-8.44 23.35-4.67 11.1 4.49 21.89 12.36 34.48 8.84 5.3-1.48 9.43-5.02 12.72-9.33 1.13-1.48 3.65-3.82 3.3-5.9-.29-1.72-2.35-3.31-3.55-4.42-1.03-.96-1.68-1.11-2.93-1.47-2.88 4.08-6.29 9.44-11 11.54-6.03 2.69-12.25-.77-17.61-3.32-10.03-4.76-21.72-10.4-33.01-7.25-6.95 1.94-19.93 11.74-12.47 18.91 1.27 1.22 2.05 1.74 3.67 2.21"
fill="white"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1,5 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg"
width="240" height="240">
<path d="M127.26 10.25c1.89 8.99 4.12 15.75-.14 24.77-3.13 6.62-7.72 12.53-12.67 17.94-3.4 3.71-7.7 6.48-11.1 10.25-7.33 8.12-10.89 19.48-6.69 29.89 1.38 3.42 3.32 6.47 5.55 9.4 2.9 3.8 6.24 7.25 10.53 9.4-2.18-4.35-4.7-8.61-4.98-13.67-1.13-20.27 21.65-29.97 32.03-43.56 11.38-14.89 2.44-35.75-12.53-44.41m-17.08 1.71c.77 4.18 1.42 8.13-1.14 11.96-4.88 7.33-18.14 13.21-13.24 23.91a20 20 0 0 0 2.56 4.27c1.25 1.54 2.49 2.47 4.13 3.42-3.56-12.3 7.24-16.34 12.53-25.62 3.76-6.61 1.66-14.18-4.84-17.94M80.28 81.99c2.96-1.09 5.97-2.59 8.54-4.56a21.1 21.1 0 0 0 4.55-4.84c10.4-14.97-8.22-27.17-11.1-41-1.5-7.21 1.49-11.3 4.84-17.08-3.21.68-6 2.29-8.54 4.41-1.73 1.44-3.55 3.13-4.84 4.98-9.64 13.88 6.63 27.23 9.68 40.14 1.63 6.91-.86 11.78-3.13 17.94m52.95-15.37v.85c3.45 2.18 7.11 4.21 11.1 5.27 26.92 7.1 23.38-41.27 50.39-33.45-5.08-7.15-18.47-8.95-25.62-3.99-11.33 7.87-12.76 24.27-26.48 30.18-3.05 1.31-6.15 1.14-9.4 1.14m-104.2-8.54v.85c18.34 0 27.15 20.02 31.32 35.02 2.05 7.39 2.91 14.88 7.4 21.35 10.38 14.95 26.02 10.39 40.71 7.69-2.13-1.65-5.01-1.21-7.69-1.99-7.21-2.1-13.04-7.94-16.8-14.24C74.93 91.6 80.1 67.6 63.2 57.51c-3.01-1.8-6.01-2.43-9.4-3.13-3.29-.69-6.9-.94-10.25-.28a92.5 92.5 0 0 0-14.52 3.99m179.36-.85c-4.11 4-7.86 5.69-13.67 5.12-9.11-.89-20.69-8.97-26.19 3.42-.95 2.13-1.57 4.56-1.99 6.83 5.58-3.23 8.39-5.8 15.37-5.12 6.11.59 12.46 4.48 18.79 2.28 4.15-1.44 9.36-8.43 7.69-12.53m9.4 14.52c-6.74 8.26-15.64 12.81-26.48 12.81-19.42 0-41.05-17.03-58.08 0-2.44 2.44-4.38 5.45-5.84 8.54-2.39 5.05-3.41 10.79-4.41 16.23h.85c1.5-2.99 3.55-5.36 5.98-7.69 19.79-18.97 44.07 6.8 65.77 2.28 11.6-2.42 18.35-12.78 21.21-23.63.67-2.55 1.88-6.38 1-8.54M23.91 74.31v.85c4.15 2.08 7.86 4.16 10.11 8.54 3.82 7.42 1.36 19.12 12.1 21.21 1.62.32 3.5.25 5.12 0a19.6 19.6 0 0 0 5.12-1.57c-3.58-2.77-7.21-3.94-9.96-8.54-4.64-7.77-3-20.21-14.8-21.35-2.63-.26-5.11.65-7.69.85m-9.4 22.21c0 4.54-.26 9.28 1.14 13.67 2.93 9.19 11.44 12.18 20.21 12.67 2.82.16 5.6-1 8.54-.71 10.9 1.06 18.77 4.17 24.77 13.67h.85c0-3.81.01-7.37-.71-11.1-.46-2.35-.82-4.76-2.14-6.83-8.75-13.8-27.11-4.4-39.86-8.83-7.09-2.46-8.23-8.15-12.81-12.53m157.15 6.83c0 5.37-.24 11.19 1.99 16.23 3.88 8.72 11.89 9.4 20.21 9.4 12.73 0 27.66-1.51 32.46 13.67h.85c0-4.54.26-9.28-1.14-13.67-5.58-17.48-26.53-10.25-39.86-13.95-7.22-2.01-9.21-7.78-14.52-11.67m-40.14 12.81v.85a27.8 27.8 0 0 1 10.25 2.28c13.37 5.76 18.49 20.33 21.07 33.59 2.26 11.6 3.74 23.79 15.66 29.75 2.46 1.23 5.04 1.58 7.69 2.14 2.76.58 5.69.85 8.54.57 5.59-.54 11.05-2.36 16.23-4.27-1.89-1.37-5.21-1.13-7.69-1.99-5.22-1.81-10.08-6.5-13.38-10.82-13.45-17.61-8.56-52.75-37.01-55.52-7.46-.73-14.21 2.1-21.35 3.42m-4.27 11.1c2.18 4.35 4.7 8.61 4.98 13.67 1.13 20.27-21.65 29.97-32.03 43.56-11.38 14.89-2.44 35.75 12.53 44.41-1.89-8.99-4.12-15.75.14-24.77 3.13-6.62 7.72-12.53 12.67-17.94 3.4-3.71 7.7-6.48 11.1-10.25 7.33-8.12 10.89-19.48 6.69-29.89-1.38-3.42-3.32-6.47-5.55-9.4-2.9-3.8-6.24-7.25-10.53-9.4m-11.96 2.56c-1.5 2.99-3.55 5.36-5.98 7.69-20.75 19.89-46.5-9.3-69.18-1.42-13.98 4.86-16.13 19.17-19.64 31.32 3.4-2.14 5.82-5.92 9.4-8.26 4.51-2.94 12.57-4.85 17.94-4.55 16.3.91 33.35 12.21 49.54 5.69 9.44-3.8 14.44-12.46 16.94-21.92.68-2.56 2.17-6.55 1-8.54m70.04 5.98v.85c13.55 1.43 10.35 18.89 17.22 26.48 4.23 4.67 9.9 2.98 15.23 2.56-2.35-2.99-6.7-4.06-9.11-7.69-5.2-7.81-1.16-19.96-12.24-23.34a13.2 13.2 0 0 0-5.12-.57 19.4 19.4 0 0 0-5.98 1.71m-26.48 20.5c-4.43 2.8-9.36 4.84-12.53 9.4-8.59 12.38 3.77 22.91 8.97 33.31 2.63 5.26 4.04 12.36 1.57 17.94-.99 2.23-2.8 3.93-3.99 5.98 3.21-.68 5.99-2.29 8.54-4.41 1.73-1.44 3.55-3.13 4.84-4.98 9.52-13.71-6.66-26.5-9.68-39.29-.8-3.38-1.07-7.75 0-11.1.77-2.41 3.07-4.65 2.28-6.83M46.98 199v.85c2.74 1.88 5.39 3.46 8.54 4.55 8.21 2.85 16.49.85 21.92-6.26 3.01-3.94 4.66-8.69 7.4-12.81 5.62-8.42 12.64-13.67 22.78-13.67-5.58-7.86-20.33-9.06-27.33-2.56C69.79 178.84 67 204.8 46.98 199m27.33-32.46c-4.38 4.38-8.31 5.73-14.52 5.12-8.66-.84-18.09-6.64-24.48 2.56-1.58 2.28-2.09 5.08-2.85 7.69 5.17-2.99 8.06-5.75 14.52-5.12 6.58.64 12.7 5.44 19.64 3.13 4.21-1.4 9.98-9.51 7.69-13.38m64.06 17.08c3.58 12.37-7.28 16.4-12.53 25.62-3.71 6.52-1.61 14.2 4.84 17.94-.77-4.17-1.42-8.13 1.14-11.96 4.96-7.44 18.19-13.11 13.24-23.91a20 20 0 0 0-2.56-4.27c-1.25-1.54-2.49-2.47-4.13-3.42z"
fill="black"/>
</svg>

Before

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -1,32 +0,0 @@
<?php
require_once __DIR__ .'/../vendor/autoload.php';
use FeedWriter\ATOM;
use tildeteam\wiki;
$feed = new ATOM();
$parser = wiki::factory();
$feed->setTitle("tilde.team news");
$feed->setLink("https://tilde.team/news/");
$feed->setDescription("updates and news for tilde.team");
foreach (glob("pages/*.md") as $page)
{
$file = $parser->parse(file_get_contents($page));
$yaml = $file->getYAML();
if (!$yaml["published"]) continue;
$item = $feed->createNewItem();
$item->setTitle($yaml["title"]);
$item->setLink("https://tilde.team/news/" . basename($page, ".md"));
$item->setDate($yaml["date"]);
$item->setContent($file->getContent());
$feed->addItem($item);
}
$feed->printFeed();

View File

@ -30,8 +30,6 @@ if (!isset($_GET["page"]) || !file_exists("pages/{$_GET['page']}.md")) {
<a href="https://tildegit.org/team/site/src/branch/master/news">source</a> and open a PR!
</p>
<p>also available as a <a href="feed.php">feed</a></p>
<hr>
<h3>updates:</h3>

View File

@ -1,20 +0,0 @@
---
published: true
date: may 30 2024
title: "happy 7th birthday, tilde.team!"
author: ben
---
my, how time flies!
somehow seven years have passed since i set up tilde.team.
life has been a bit busy lately and i haven't had as much time as i would like to spend on tilde stuff.
luckily, most things seem to keep running with little interference and folks keep making cool stuff and building community.
if you haven't been around in a while, stop by! ssh in, update your homepage, and maybe even pop in to irc to say hi :)
happy birthday tilde.team!
see ya around the interwebs,
~ben

View File

@ -21,7 +21,7 @@ currently it supports:
currently, this vm is hosted on a server i rent from hetzner in germany, so feel free to put your chat client
etc here if you get better ping.
the user creation script copies over the `~/.ssh/authorized_keys` file in your $HOME on ~team. feel free to adjust as
the user creation script copied over the `~/.ssh/authorized_keys` file in your $HOME on ~team. feel free to adjust as
needed or holler if you need an admin for something. you should be able to just ssh user@bsd.tilde.team instead of
user@tilde.team

View File

@ -31,8 +31,6 @@ tilde.team has a mailserver. here are your options:
| smtp | smtp.tilde.team | 587 | starttls |
| smtps | smtp.tilde.team | 465 | tls |
note: these domains all resolve to the same IP of our main server.
### alternate domains and addresses
because [~ben](https://tilde.team/~ben/) hoards domain names, you can
@ -71,13 +69,13 @@ echo myotheraddress@example.com > ~/.forward
```
we also have [sieve](http://sieve.info) and
[managesieve](https://doc.dovecot.org/admin_manual/pigeonhole_managesieve_server/) support.
[managesieve](https://wiki1.dovecot.org/ManageSieve) support.
scripts belong in `~/sieve/`, with the active sieve script
named `~/.dovecot.sieve` (to conform with managesieve).
here are some [example sieve scripts](
https://doc.dovecot.org/configuration_manual/sieve/examples/)
https://wiki.dovecot.org/Pigeonhole/Sieve/Examples)
managesieve is available on the default port (4190) if you want
to use an external managesieve client (like the [thunderbird add-on](

View File

@ -82,13 +82,3 @@ print(f"Hello {name}!")
remember, anything that can read environment variables and write to stdout can
be used to make CGI, as long as the server can figure out how to execute it.
##how to set a CGI script as executable
The CGI script must be marked as executable in order to actually run.
To make the script executable, run this command:
```
chmod +x SCRIPT_NAME.cgi
```

View File

@ -9,61 +9,44 @@ category:
- technical
---
To file and exchange texts, `txt` uses plain-text headers on the top of
text files. The basic headers include an
To file and exchange texts, `txt` uses plain-text headers on the top of text files. The basic headers include an
identifier, topics, authors and a date. It also needs to know basic repository information.
## Initialise
`txt init` will initialise a text repository in the current directory.
A `.logarion` directory is created, containing a configuration file, which is
editable with a text editor.
That's where you can name the text repository and declare the archivists'
names, which will also function as the default author name for new texts.
`txt init` will initialise a text repository in the current directory. A `.logarion` directory is created, containing a
configuration file, which editable with a text editor. That's where you can name the text repository and declare the
archivists' names, which will also function as the default author name for new texts.
## New texts
To create new text files with the header fields to populate, use
`txt new "title"`, replacing `title` with the text's title.
The command will return the filename of the new text.
The filename starts with a part of the ID and the title of the text.
Use the file name to open it with your text editor.
To create new text files with the header fields to populate, use `txt new "title"`, replacing `title` with the text's
title. The command will return the filename of the new text. The filename starts with a part of the ID and the title of
the text. Use the file name to open it with your text editor.
## Filing
New texts can be filed in different subdirectories to create sub-repositories
of finished texts.
One use of that is to separate some of the texts to share with others.
Use `txt file ..`, replacing the dots with text file names and directories,
and txt will file (hard-link) each text into every directory specified.
New texts can be filed in different subdirectories to create sub-repositories of finished texts. One use of that is to
separate some of the texts to share with others. Use `txt file ..`, replacing the dots with text file names and
directories, and txt will file (hard-link) each text into every directory specified.
Note, this is different from using the Topics header field to declare the
text's subjects.
Note, this is different from using the Topics header field to declare the text's subjects.
## Convert
Generate web sites and Gemini capsuled of a text collection using
`txt convert`.
First `txt file` some texts in a subdirectory
(`txt file a.txt b.txt .. some/`) then call `txt convert somedir`.
It will scan all text files in there and convert them to other formats.
It will also produce index files for those formats and also generate an
`index.pck` file.
This index pack is a feed for other people using `txt`.
Upload the `index.pck` and the text files of the subdirectory to a host of
your choice.
If the host provides HTTP or Gemini access, upload `.htm` and `.gem` files
respectively.
Generate web sites and Gemini capsuled of a text collection using `txt convert`. First `txt file` some texts in a
subdirectory (`txt file a.txt b.txt .. some/`) then call `txt convert somedir`. It will scan all text files in there and
convert them to other formats. It will also produce index files for those formats and also generate and `index.pck`
file. This index pack is a feed for other people using `txt. Upload the `
index.pck` and the text files of the subdirectory to a host of your choice. If the host provides HTTP or Gemini access, upload `
.htm` and `.gem` files respectively.
## Pull
To use `txt` to clone remote repositories, add the URLs of the repositories in
`peers.priv.conf` or `peers.pub.conf`.
Both files must be created first.
Once the files are populated with the URLs, run `txt pull` and it will clone
all of the text files shared in those repositories in a local `peers/`
subdirectory.
To use `txt` to clone remote repositories, add the URLs of the repositories in `peers.priv.conf` or `peers.pub.conf`.
Both files must be created first. Once the files are populated with the URLs, run `txt pull` and it will clone all of
the text files shared in those repositories in a local `peers/` subdirectory.
As the name suggests, `peers.priv.conf` is private and the URLs contained in it will not be copied into `index.pck`.
On the other hand, URLs in `peers.pub.conf` will be included in the
`index.pck`, providing a way to discover other text repositories.
As the name suggests `peers.priv.conf` is private and the URLs contained in it will not be copied into `index.pck`. On
the other hand, URLs in `peers.pub.conf` will be included in the `index.pck`, providing a way to discover other text
repositories.

View File

@ -13,48 +13,46 @@ https://tildegit.org/team/site/src/branch/master/wiki/pages/other-tildes.md)
also see the [known tildes](https://tilde.wiki/wiki/Known_tildes) section on tilde.wiki.
| status | tilde name | description | where to join |
|--------|------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| | [bonn.cafe](https://bonn.cafe) | bonn.cafe is a tilde running on a Raspberry Pi Zero 2 and is located in the Old Town of Bonn, Germany. It strives to be a calm, creative playground with a focus on learning and smol computing. | Send email to olav@bonn.cafe with your ssh pubkey, desired username, and a statement describing your interest in joining. |
| | [cosmic.voyage](https://cosmic.voyage) | cosmic.voyage is an Ubuntu server focused on collaborative sci-fi storytelling. The background story is visible on the homepage. New authors are welcome to join and take on the voice of various ships, outposts, and colonies scattered across the universe, sending text messages back to a relay at Earth's L4 point. | [signup information here](https://cosmic.voyage/join.html) |
| | [ctrl-c.club](http://ctrl-c.club) | A place for the curious to poke around and play. SSH access, web pages, games, and programming languages on tap. | [signup form](http://goo.gl/forms/oviL1wYSrV) |
| | [dimension.sh](https://dimension.sh/) | dimension.sh is a small public linux shell host (or pubnix system) that is open to anyone who wants to learn, experiment, and socialize with other like minded people. | [signup form](https://dimension.sh/join.html) |
| | [envs.net](https://envs.net/) | envs.net is a minimalist, non-commercial shared unix system and will always be free to use. | [signup here](https://envs.net/signup) |
| | [hackers.cool](http://hackers.cool) | A tilde.club started by some nerd at Hacker School. As such, it's got a lot of Hacker Schoolers on it, but everyone is welcome! | [signup form](https://docs.google.com/forms/d/1PHnXadDW1WySCB9frIefjXI3P6bt8n_p4YMyiPPD4O4/viewform) |
| | [palvelin.club](http://palvelin.club) | Finnish language tilde server. | [signup form](https://docs.google.com/forms/d/1tTGiOU0z3M92nCb5Lv3Tv_sJXGLh8kj5Gl79Gx4ZOdM/viewform) |
| | [pebble.ink](http://pebble.ink) | pebble.ink is a project almost, but not quite, like tilde.club | ask [@phildini](https://twitter.com/phildini) or try [this signup form](http://pebble.ink/apply.html) |
| | [piepi.art](https://piepi.art) | aka [🥧π.to](https://🥧π.to/) is a tilde, art project, and zine. Users are encouraged to make their page with pi or pie related art (of any format or medium) which is currated into a zine. | email your public key and desired username to [kindrobot@tilde.team](mailto:kindrobot@tilde.team) |
| | [projectsegfau.lt](https://projectsegfau.lt) | Open source development and hosted services | [signup form](https://projectsegfau.lt/pubnix/register) |
| closed | [protocol.club](http://protocol.club) | protocol.club explores the fundamental and unique learning opportunities provided by the implementation of standardized protocols. It is a place for curious minds to explore and experiment, to educate and be educated about protocols and implementations old and new alike. While inspired by tilde.club and federated with the rest of the tildeverse via NNTP (et cetera), protocol.club has a stronger focus on its particular mission and has several differences from other tilde boxes, namely: we have a Code of Conduct, and we have some resources available locally to aid development of protocol implementations and new draft protocols. We also serve pages over HTTPS. | [signup form](https://docs.google.com/forms/d/11sJKpZnqaqNVR-rYRfCxKl05iSpjJa85XbigY8xbzBM/viewform?c=0&w=1) |
| | [rawtext.club](https://rawtext.club) | rawtext.club (RTC) is an experimental public access shell server with a focus on use of collaborative projects for gnu/linux skill building. Projects include simple, command line social tools and utilities, or whatever lightweight programs users are interested in. RTC does not use IRC, and instead focuses on other slower and more thoughtful forms of user interaction. | Send email to admin@rawtext.club with your ssh pubkey, desired username, and a statement describing your interest in joining. |
| | [remotes.club](https://remotes.club) | Anyone who works remotely is welcome. | [signup form](https://www.remotes.club/request.php) |
| | [rw.rs](http://rw.rs) | An experimental software community with a 199X aesthetic. | [signup via pull request](https://github.com/adsr/rw.rs/) |
| | [skylab.org](http://skylab.org) | An open-source community co-operative with ~150 members that has existed since 1997. Based in Portland, Oregon, United States with a userbase across the world, we have quietly existed. Featuring geektalk community chat, a variety of tools and hosting running on FreeBSD. | Email [skylabstatus@gmail.com](mailto:skylabstatus@gmail.com) with subject line SKYLAB.ORG and an email containing your desired username, full name, public SSH key and an acknowledgement to play nice. |
| | [squiggle.city](http://squiggle.city) | squiggle.city is a Debian server in the spirit of tilde.club. It's for making web pages and learning about the command line. If you are reading [userland](https://p1k3.com/userland-book/), which is about how to unix, squiggle.city is a place to explore the ideas it contains. | email [bbearnes@gmail.com](mailto:bbearnes@gmail.com) with your ssh pubkey and a promise to not be a jerk |
| | [texto-plano.xyz](https://texto-plano.xyz) | A small UNIX system community in the spirit of [Tilde.club](https://tilde.club), [RTC](https://rawtext.club) and the [small Internet](http://gopher.muffinlabs.com/republic.circumlunar.space/~spring/phlog/2019-01-16__The_Small_Internet.txt) in Spanish language (we use OpenBSD) | Send your public key and your username to [admin@texto-plano.xyz](mailto:admin@texto-plano.xyz) |
| | [theasylum](https://theasylum.team) | invite-only tilde catering to programmers of all languages | join #theasylum on tilde.chat, and let us get to know you |
| | [tilde.amcforum.wiki](https://tilde.amcforum.wiki) | A new small tilde that provides shell accounts to those who want to learn, or just socialise. | [signup instructions](https://amcnix.glitch.me) |
| | [tilde.cafe](https://tilde.cafe) | tilde.cafe is a new debian server offering ssh, web hosting, email and more - easy going with plans to host games | [signup form](https://tilde.cafe/signup/) |
| | [tilde.fun](https://tilde.fun) | This is a Linux machine on the internet where you can get a shell account. | Message one of the admins |
| | [tilde.guru](https://tilde.guru) | A public freebsd server focused around learning, open source and minimalism. | [signup instructions](https://tilde.guru/signup) |
| | [tilde.institute](https://tilde.institute) | Provides a space dedicated to the OpenBSD operating system. Includes a functional BCHS stack for users to experiment with and use to create web applications. | [signup form](https://tilde.institute/signup) |
| | [tilde.pink](gopher://tilde.pink) | A gopher only tilde, providing shell acounts with email and gopher services running on a DragonflyBSD server. The site is accessible via [web proxy](https://proxy.tilde.pink) | [signup form](gopher://tilde.pink/1/signup.gph) |
| | [tilde.town](https://tilde.town) | tilde.town is an open, welcoming and safe place for the exploration of lo-fi HTML art, hi-fi javascript experiments, generative poetic works, and digital socialization in a post-facebook age. | [signup form](https://cgi.tilde.town/users/signup) |
| | [vern.cc](https://vern.cc) | ~vern is a non-commercial shared GNU/Linux system focused on services and free software | [signup form](https://vern.cc/register) |
| | [xinu.me](https://xinu.me) | Experimental community for socializing, developing digital skills and collaborating through the system shell. In Spanish, mainly. | [signup instructions](https://xinu.me/inscripcion.html) |
| down | [breadpunk.club](https://breadpunk.club) | breadpunk.club is a small tilde focused on bread-making and community-building. see the [manifesto](https://breadpunk.club/docs/manifesto/) for more information on our mission. | [signup information here](https://breadpunk.club/join/) |
| down | [hextilde.xyz](https://hextilde.xyz) | hextilde.xyz - HEXadecimal Arch Tilde | [signup form](https://hextilde.xyz/signup) |
| down | [nand.club](http://nand.club) | a new anti-capitalist, solarpunk tilde | [signup info here](http://nand.club) |
| down | [summit pubnix](https://www.summit.tildex.com) | summit is an intentional and inclusive community for developing, making, learning, teaching, socializing, and enjoying various aspects of GNU/Linux in a free/non-commercial environment. If you need help or have any questions, feel free to ask in #pubnix on irc.tilde.chat. | [signup form](https://www.summit.tildex.com/join) |
| down | [southlondon.cc](https://southlondon.cc) | a nice debian server hosted in the uk. it's got ssh access, web hosting, an xmpp server that sorta works and some slightly more interesting things coming soon. | [take a look at this page](https://southlondon.cc/signup) |
| | [thunix](https://thunix.net) | thunix offers Secure Shell (SSH) accounts, Web Hosting, Email Accounts, and many other things to people free of charge. | [signup info here](https://www.thunix.net/signup.php) |
| down | [tilde.best](https://tilde.best) | tilde.best is a Debian server which is aiming to have a *best* community and *best* features. | email [root@tilde.best](mailto:root@tilde.best) with your ssh pubkey, desired username and reason why you want to join |
| down | [tilde.cat](https://tilde.cat) | This is (or rather might be) public shell server like [the club](https://tilde.club), [the town](https://tilde.town), or other ~ servers. | [signup form](http://signup.tilde.cat) |
| down | [tilde.center](https://tilde.center) | A public unix server focused around decentralization, federation, and home-brewed open source projects. | [signup form](https://tilde.center/signup.php) |
| down | [tilde.pw](https://tilde.pw) | tilde.pw is a unix server with some people on it and that unix server hosts webpages and other things too. | [signup form](https://tilde.pw/signup.php) |
| down | [tildespark](https://tildespark.ddns.net) | Tilde Spark is a constantly evolving intentional community devoted to free software, open hardware and meeting new people! | [signup info here](https://tildespark.ddns.net/ikiwiki/tildespark/howtojoin/) |
| empty | [ttylde](https://ttylde.karx.xyz) | ttylde is an experimental tilde running FreeBSD. Currently seeking new members! | [signup form](https://ttylde.karx.xyz/signup.php) |
| down | [unix.lgbt](https://unix.lgbt) | unix.lgbt is an explictly LGBTQ+ friendly public unix/tilde! we offer web, gemini, irc and various other community services. | [signup form](https://unix.lgbt/register.php) |
| down | [wilde.ftp.sh](http://wilde.ftp.sh/) | The world's first (and possibly only) Windows-based tilde! | [signup form](http://wilde.ftp.sh/signup.php) |
| down | [xhec.one](https://xhec.one) | A brand new ~ running on OpenBSD. Seeking members and suggestions for content :) | [signup instructions](https://xhec.one) |
| down | [yourtilde.com](https://yourtilde.com) | If you're looking for a new ~, to learn and play, come check us out. | [signup form](https://yourtilde.com/sign-up) |
| tilde name | description | where to join | notes |
|------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------|
| [bonn.cafe](https://bonn.cafe) | bonn.cafe is a tilde running on a Raspberry Pi Zero 2 and is located in the Old Town of Bonn, Germany. It strives to be a calm, creative playground with a focus on learning and smol computing. | Send email to olav@bonn.cafe with your ssh pubkey, desired username, and a statement describing your interest in joining. | |
| [breadpunk.club](https://breadpunk.club) | breadpunk.club is a small tilde focused on bread-making and community-building. see the [manifesto](https://breadpunk.club/docs/manifesto/) for more information on our mission. | [signup information here](https://breadpunk.club/join/) | |
| [cosmic.voyage](https://cosmic.voyage) | cosmic.voyage is an Ubuntu server focused on collaborative sci-fi storytelling. The background story is visible on the homepage. New authors are welcome to join and take on the voice of various ships, outposts, and colonies scattered across the universe, sending text messages back to a relay at Earth's L4 point. | [signup information here](https://cosmic.voyage/join.html) | |
| [ctrl-c.club](http://ctrl-c.club) | A place for the curious to poke around and play. SSH access, web pages, games, and programming languages on tap. | [signup form](http://goo.gl/forms/oviL1wYSrV) | |
| [dimension.sh](https://dimension.sh/) | dimension.sh is a small public linux shell host (or pubnix system) that is open to anyone who wants to learn, experiment, and socialize with other like minded people. | [signup form](https://dimension.sh/join.html) | |
| [envs.net](https://envs.net/) | envs.net is a minimalist, non-commercial shared unix system and will always be free to use. | [signup here](https://envs.net/signup) | |
| [hackers.cool](http://hackers.cool) | A tilde.club started by some nerd at Hacker School. As such, it's got a lot of Hacker Schoolers on it, but everyone is welcome! | [signup form](https://docs.google.com/forms/d/1PHnXadDW1WySCB9frIefjXI3P6bt8n_p4YMyiPPD4O4/viewform) | |
| [hextilde.xyz](https://hextilde.xyz) | hextilde.xyz - HEXadecimal Arch Tilde | [signup form](https://hextilde.xyz/signup) | |
| [nand.club](http://nand.club) | a new anti-capitalist, solarpunk tilde | [signup info here](http://nand.club) | down |
| [palvelin.club](http://palvelin.club) | Finnish language tilde server. | [signup form](https://docs.google.com/forms/d/1tTGiOU0z3M92nCb5Lv3Tv_sJXGLh8kj5Gl79Gx4ZOdM/viewform) | |
| [pebble.ink](http://pebble.ink) | pebble.ink is a project almost, but not quite, like tilde.club | ask [@phildini](https://twitter.com/phildini) or try [this signup form](http://pebble.ink/apply.html) | |
| [piepi.art](https://piepi.art) | aka [🥧π.to](https://🥧π.to/) is a tilde, art project, and zine. Users are encouraged to make their page with pi or pie related art (of any format or medium) which is currated into a zine. | email your public key and desired username to [kindrobot@tilde.team](mailto:kindrobot@tilde.team) | |
| [protocol.club](http://protocol.club) | protocol.club explores the fundamental and unique learning opportunities provided by the implementation of standardized protocols. It is a place for curious minds to explore and experiment, to educate and be educated about protocols and implementations old and new alike. While inspired by tilde.club and federated with the rest of the tildeverse via NNTP (et cetera), protocol.club has a stronger focus on its particular mission and has several differences from other tilde boxes, namely: we have a Code of Conduct, and we have some resources available locally to aid development of protocol implementations and new draft protocols. We also serve pages over HTTPS. | [signup form](https://docs.google.com/forms/d/11sJKpZnqaqNVR-rYRfCxKl05iSpjJa85XbigY8xbzBM/viewform?c=0&w=1) | down |
| [rawtext.club](https://rawtext.club) | rawtext.club (RTC) is an experimental public access shell server with a focus on use of collaborative projects for gnu/linux skill building. Projects include simple, command line social tools and utilities, or whatever lightweight programs users are interested in. RTC does not use IRC, and instead focuses on other slower and more thoughtful forms of user interaction. | Send email to admin@rawtext.club with your ssh pubkey, desired username, and a statement describing your interest in joining. | |
| [remotes.club](https://remotes.club) | Anyone who works remotely is welcome. | [signup form](https://www.remotes.club/request.php) | |
| [rw.rs](http://rw.rs) | An experimental software community with a 199X aesthetic. | [signup via pull request](https://github.com/adsr/rw.rs/) | |
| [skylab.org](http://skylab.org) | An open-source community co-operative with ~150 members that has existed since 1997. Based in Portland, Oregon, United States with a userbase across the world, we have quietly existed. Featuring geektalk community chat, a variety of tools and hosting running on FreeBSD. | Email [skylabstatus@gmail.com](mailto:skylabstatus@gmail.com) with subject line SKYLAB.ORG and an email containing your desired username, full name, public SSH key and an acknowledgement to play nice. | |
| [southlondon.cc](https://southlondon.cc) | a nice debian server hosted in the uk. it's got ssh access, web hosting, an xmpp server that sorta works and some slightly more interesting things coming soon. | [take a look at this page](https://southlondon.cc/signup) | |
| [squiggle.city](http://squiggle.city) | squiggle.city is a Debian server in the spirit of tilde.club. It's for making web pages and learning about the command line. If you are reading [userland](https://p1k3.com/userland-book/), which is about how to unix, squiggle.city is a place to explore the ideas it contains. | email [bbearnes@gmail.com](mailto:bbearnes@gmail.com) with your ssh pubkey and a promise to not be a jerk | |
| [summit pubnix](https://www.summit.tildex.com) | summit is an intentional and inclusive community for developing, making, learning, teaching, socializing, and enjoying various aspects of GNU/Linux in a free/non-commercial environment. If you need help or have any questions, feel free to ask in #pubnix on irc.tilde.chat. | [signup form](https://www.summit.tildex.com/join) | down |
| [texto-plano.xyz](https://texto-plano.xyz) | A small UNIX system community in the spirit of [Tilde.club](https://tilde.club), [RTC](https://rawtext.club) and the [small Internet](http://gopher.muffinlabs.com/republic.circumlunar.space/~spring/phlog/2019-01-16__The_Small_Internet.txt) in Spanish language (we use OpenBSD) | Send your public key and your username to [admin@texto-plano.xyz](mailto:admin@texto-plano.xyz) | |
| [theasylum](https://theasylum.team) | invite-only tilde catering to programmers of all languages | join #theasylum on tilde.chat, and let us get to know you | |
| [thunix](https://thunix.net) | thunix offers Secure Shell (SSH) accounts, Web Hosting, Email Accounts, and many other things to people free of charge. | [signup info here](https://www.thunix.net/signup.php) | |
| [tilde.best](https://tilde.best) | tilde.best is a Debian server which is aiming to have a *best* community and *best* features. | email [root@tilde.best](mailto:root@tilde.best) with your ssh pubkey, desired username and reason why you want to join | down |
| [tilde.cafe](https://tilde.cafe) | tilde.cafe is a new debian server offering ssh, web hosting, email and more - easy going with plans to host games | [signup form](https://tilde.cafe/signup/) | |
| [tilde.cat](https://tilde.cat) | This is (or rather might be) public shell server like [the club](https://tilde.club), [the town](https://tilde.town), or other ~ servers. | [signup form](http://signup.tilde.cat) | down |
| [tilde.center](https://tilde.center) | A public unix server focused around decentralization, federation, and home-brewed open source projects. | [signup form](https://tilde.center/signup.php) | down |
| [tilde.guru](https://tilde.guru) | A public freebsd server focused around learning, open source and minimalism. | [signup instructions](https://tilde.guru/signup) | |
| [tilde.fun](https://tilde.fun) | This is a Linux machine on the internet where you can get a shell account. | `ssh tilde@tilde.fun` | down |
| [tilde.institute](https://tilde.institute) | Provides a space dedicated to the OpenBSD operating system. Includes a functional BCHS stack for users to experiment with and use to create web applications. | [signup form](https://tilde.institute/signup) | | | |
| [tilde.pink](gopher://tilde.pink) | A gopher only tilde, providing shell acounts with email and gopher services running on a DragonflyBSD server. The site is accessible via [web proxy](https://proxy.tilde.pink) | [signup form](gopher://tilde.pink/1/signup.gph) | |
| [tilde.pw](https://tilde.pw) | tilde.pw is a unix server with some people on it and that unix server hosts webpages and other things too. | [signup form](https://tilde.pw/signup.php) | |
| [tilde.town](https://tilde.town) | tilde.town is an open, welcoming and safe place for the exploration of lo-fi HTML art, hi-fi javascript experiments, generative poetic works, and digital socialization in a post-facebook age. | [signup form](https://cgi.tilde.town/users/signup) | |
| [tildespark](https://tildespark.ddns.net) | Tilde Spark is a constantly evolving intentional community devoted to free software, open hardware and meeting new people! | [signup info here](https://tildespark.ddns.net/ikiwiki/tildespark/howtojoin/) | down |
| [ttylde](https://ttylde.karx.xyz) | ttylde is an experimental tilde running FreeBSD. Currently seeking new members! | [signup form](https://ttylde.karx.xyz/signup.php) | |
| [unix.lgbt](https://unix.lgbt) | unix.lgbt is an explictly LGBTQ+ friendly public unix/tilde! we offer web, gemini, irc and various other community services. | [signup form](https://unix.lgbt/register.php) | |
| [vern.cc](https://vern.cc) | ~vern is a non-commercial shared GNU/Linux system focused on services and free software | [signup form](https://vern.cc/register) | |
| [wilde.ftp.sh](http://wilde.ftp.sh/) | The world's first (and possibly only) Windows-based tilde! | [signup form](http://wilde.ftp.sh/signup.php) | down |
| [xhec.one](https://xhec.one) | A brand new ~ running on OpenBSD. Seeking members and suggestions for content :) | [signup instructions](https://xhec.one) | |
| [yourtilde.com](https://yourtilde.com) | If you're looking for a new ~, to learn and play, come check us out. | [signup form](https://yourtilde.com/sign-up) | |
| [xinu.me](https://xinu.me) | Experimental community for socializing, developing digital skills and collaborating through the system shell. In Spanish, mainly. | [signup instructions](https://xinu.me/inscripcion.html) | |

View File

@ -117,15 +117,15 @@ pick your fighter: [[mac](#mac)] | [[windows](#windows-10)] | [[linux](#linux)]
1. create your .ssh directory:
```bash
mkdir -m 700 ~/.ssh
```
```bash
mkdir -m 700 ~/.ssh
```
1. create your keys:
```bash
ssh-keygen -t ed25519 -a 100
```
```bash
ssh-keygen -t ed25519 -a 100
```
1. if you press enter to accept the defaults, your public and private key will
be located at `~/.ssh/id_ed25519.pub` and `~/.ssh/id_ed25519` respectively