Compare commits

...

54 Commits

Author SHA1 Message Date
Ben Harris 9f5dcbd0ab make /wiki a <table> 2022-06-14 19:12:13 -04:00
Tito Sacchi 68d88e3acb Add tito's PGP key for WKD 2022-06-14 11:14:34 +02:00
Stef Dunlap 0eb69d70ad fixup typo in URL 2022-06-02 13:32:03 -04:00
Stef Dunlap 9a5ac93b49 add piepi.art to known tildes 2022-06-02 11:11:07 -04:00
Ben Harris 6bed905459 5th bday post 2022-05-31 12:22:50 -04:00
Ben Harris e4170c6497 add lith 2022-05-30 12:48:13 -04:00
Ben Harris 18b406511d clarify email retention 2022-05-26 10:42:23 -04:00
laker dc539c7adc fixed line 68 2022-05-04 18:08:14 +00:00
Ben Harris 4dbf9f234e fix original name of ttbp 2022-04-28 15:39:40 -04:00
Ben Harris 73879b96a6 show all repos 2022-03-25 15:32:49 -04:00
Ben Harris da81333caf fix header levels 2022-03-23 15:28:47 -04:00
Ben Harris 67c0ad8178 add note about quota command
also move the guidelines to the top
2022-03-23 15:27:28 -04:00
Ben Harris a22ade5e54 add quota news blurb 2022-03-23 15:15:07 -04:00
Ben Harris 5a0f30769e add notice about quota enforcement 2022-03-23 14:53:54 -04:00
Ben Harris 7f3a8f0646
add make dev config for phpstorm 2022-03-20 17:55:51 -04:00
Ben Harris 6c670bebbe add localrouter.php to make news/ and wiki/ links work 2022-03-18 15:06:40 -04:00
Ben Harris c629d9ed56 fix excessive spacing around headers 2022-03-18 14:46:39 -04:00
Ben Harris bfdb0e25ee build css with lineheight fixes 2022-03-09 12:24:56 -05:00
DJ Chase 678fa41f70 fix monospace issues
everything is now the same line height,
and forms and etc are now horizontally-aligned with the character grid.
additionally, paragraphs now have a full blank line between them.
2022-03-09 12:23:22 -05:00
Ben Harris dbdf1f8ae6 use mb 2022-03-08 12:49:49 -05:00
Ben Harris a77396b9a8 allow all valid pubkey types, not just ssh- 2022-03-08 12:47:56 -05:00
Ben Harris 329f648f74 add note about passwd 2022-02-25 16:00:40 -05:00
Ben Harris 184537041f remove github stars jquery 2022-02-21 18:18:34 -05:00
Ben Harris 24859260ba oops 2022-02-21 18:16:36 -05:00
Ben Harris 7b7bb33071 add link back to tilde.team from css demo pages 2022-02-21 18:15:25 -05:00
Ben Harris 5c824a2411 load js with defer instead of in the footer 2022-02-17 15:21:03 -05:00
Ben Harris fbd9166854 fix some problems
just a general tidy-up
2022-02-17 13:55:19 -05:00
Ben Harris b3f5c134be fix wiki links 2022-02-17 12:32:00 -05:00
Ben Harris 9ab17ca3ed remove forkawesome 2022-02-17 12:22:30 -05:00
Ben Harris e42f6f0449 update .drone.yml 2022-02-16 13:38:12 -05:00
Ben Harris d78c96a2c8 bump tildeteam/wiki version 2022-02-16 13:35:26 -05:00
Ben Harris 2c171571f9 styling fixes for wiki 2022-02-16 12:45:57 -05:00
Matt C fcfcd70b59 remove salyut.one and update xhec.one 2022-02-15 11:49:31 -05:00
Ben Harris 3c4926a4d5 update tildeteam/wiki and use new function call 2022-02-14 22:02:41 -05:00
Ben Harris 7e37858083 update some npm deps for css 2022-02-09 13:39:49 -05:00
Aoi Koizumi f1689c899e Added my GnuPG public key for WKD
Signed-off-by: Aoi Koizumi <novaburst@kalli.st>
2022-01-23 19:02:00 -03:00
Ben Harris e14c1f7a39 some tidying 2022-01-15 16:53:06 -05:00
Ben Harris 032c6459e0 fix heading sizes on account-recovery.md 2021-12-09 16:57:13 -05:00
Robert Miles 1fb85061e1 Allow ecdsa-sha2-* keys 2021-12-09 08:54:46 +00:00
Ben Harris 4b5bacefa7 this should've been removed with thelounge 2021-11-23 23:30:51 -05:00
Ben Harris 589ec7f54e show all sshfp types in footer 2021-09-29 12:03:04 -04:00
ZinRicky 045aa74fbd Added my certificate 2021-09-17 19:01:46 +02:00
Ben Harris f87750af30 escape form fields 2021-09-12 17:25:33 -04:00
~silver 35bff137f5 add key to WKD 2021-09-03 12:28:49 -04:00
rawktucc 8f3aeab09a adding my GPG key 2021-09-03 15:29:31 +00:00
Lovetocode999 d20f891f5e Add lovetocode999 key to WKD 2021-09-03 11:24:15 -04:00
Abdul Karim Kikar 01e0141885
Adding my key 2021-09-02 11:59:40 +02:00
Kneezle f0fef8d740 Added my key to WDK 2021-09-01 20:01:44 +00:00
Mark Cornick b3519643e9
Add mcornick key to WKD 2021-09-01 15:34:43 -04:00
Tommy Harris b7790c7567
add tobraha key to wkd
- encrypt me some cool stuff, por favor

Signed-off-by: Tommy Harris <tobraha@tilde.team>
2021-09-01 11:48:33 -06:00
Ben Harris 28c5e9318d add policy file 2021-09-01 10:40:04 -04:00
Ben Harris d86d7221cd add WKD and host-meta 2021-09-01 10:36:59 -04:00
Santiago Forero cc5161f5a6 fix contribution steps list on README.md 2021-08-31 21:40:36 +00:00
g1n 147fca2cd6 Add xinu.me tilde 2021-08-31 12:04:21 +00:00
100 changed files with 2592 additions and 917 deletions

View File

@ -21,5 +21,8 @@ trigger:
steps:
- name: deploy
commands:
- sudo -Hu www-data git -C /var/www/tilde.team pull --rebase origin master
- cd /var/www/tilde.team
- sudo -Hu www-data git fetch
- sudo -Hu www-data git reset --hard origin/master
- sudo -Hu www-data composer install

1
.gitignore vendored
View File

@ -5,6 +5,5 @@ mg.key
/vendor/
tilde.json
graffiti.txt
.well-known/
stats/
ttbp

8
.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

25
.idea/jsonSchemas.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JsonSchemaMappingsProjectConfiguration">
<state>
<map>
<entry key="composer.json">
<value>
<SchemaInfo>
<option name="name" value="composer.json" />
<option name="relativePathToSchema" value="https://raw.githubusercontent.com/composer/composer/main/res/composer-schema.json" />
<option name="applicationDefined" value="true" />
<option name="patterns">
<list>
<Item>
<option name="path" value="composer.json" />
</Item>
</list>
</option>
</SchemaInfo>
</value>
</entry>
</map>
</state>
</component>
</project>

8
.idea/modules.xml Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/tilde.team.iml" filepath="$PROJECT_DIR$/.idea/tilde.team.iml" />
</modules>
</component>
</project>

28
.idea/php.xml Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PhpIncludePathManager">
<include_path>
<path value="$PROJECT_DIR$/vendor/tildeteam/wiki" />
<path value="$PROJECT_DIR$/vendor/composer" />
<path value="$PROJECT_DIR$/vendor/symfony/yaml" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php80" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-ctype" />
<path value="$PROJECT_DIR$/vendor/symfony/deprecation-contracts" />
<path value="$PROJECT_DIR$/vendor/mnapoli/front-yaml" />
<path value="$PROJECT_DIR$/vendor/dflydev/dot-access-data" />
<path value="$PROJECT_DIR$/vendor/league/config" />
<path value="$PROJECT_DIR$/vendor/league/commonmark" />
<path value="$PROJECT_DIR$/vendor/nette/utils" />
<path value="$PROJECT_DIR$/vendor/nette/schema" />
<path value="$PROJECT_DIR$/vendor/psr/event-dispatcher" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.4">
<option name="suggestChangeDefaultLanguageLevel" value="false" />
</component>
<component name="PhpUnit">
<phpunit_settings>
<PhpUnitSettings custom_loader_path="$PROJECT_DIR$/vendor/autoload.php" />
</phpunit_settings>
</component>
</project>

View File

@ -0,0 +1,5 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="builtin server" type="PhpBuiltInWebServerConfigurationType" factoryName="PHP Built-in Web Server" document_root="$PROJECT_DIR$" port="9000" router_script="$PROJECT_DIR$/localrouter.php" use_router_script="true">
<method v="2" />
</configuration>
</component>

View File

@ -0,0 +1,8 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="watch css" type="MAKEFILE_TARGET_RUN_CONFIGURATION" factoryName="Makefile">
<makefile filename="$PROJECT_DIR$/css/Makefile" target="dev" workingDirectory="" arguments="">
<envs />
</makefile>
<method v="2" />
</configuration>
</component>

24
.idea/tilde.team.iml Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/vendor/tildeteam/wiki" />
<excludeFolder url="file://$MODULE_DIR$/vendor/composer" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/yaml" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-ctype" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/deprecation-contracts" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mnapoli/front-yaml" />
<excludeFolder url="file://$MODULE_DIR$/vendor/dflydev/dot-access-data" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/config" />
<excludeFolder url="file://$MODULE_DIR$/vendor/league/commonmark" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nette/utils" />
<excludeFolder url="file://$MODULE_DIR$/vendor/nette/schema" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/event-dispatcher" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

8
.well-known/host-meta Normal file
View File

@ -0,0 +1,8 @@
<?xml version='1.0' encoding='utf-8'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
<Link rel="urn:xmpp:alt-connections:xbosh"
href="https://tilde.team:5443/bosh" />
<Link rel="urn:xmpp:alt-connections:websocket"
href="wss://tilde.team:5443/ws" />
</XRD>

View File

@ -0,0 +1,12 @@
{
"links": [
{
"rel": "urn:xmpp:alt-connections:xbosh",
"href": "https://tilde.team:5443/bosh"
},
{
"rel": "urn:xmpp:alt-connections:websocket",
"href": "wss://tilde.team:5443/ws"
}
]
}

View File

@ -0,0 +1,26 @@
# tilde.team WKD
if you have a gpg key for your @tilde.team email, you can publish your pubkey here.
first, clone (and fork if needed) the site repo.
find the wkd hash of your email.
i'll show the example of my key:
$ gpg --list-keys --with-wkd ben@tilde.team
pub rsa4096 2018-06-28 [C] [expires: 2023-08-27]
FC2255B7BBC7EABD4EFAFA1068907D8BCCD85A5A
uid [ultimate] Ben Harris <ben@tilde.team>
qpui546ptjbsz3rqaetbdz8wj9op6nur@tilde.team
uid [ultimate] Ben Harris <benharri@hashbang.sh>
dk83ceeke8ohb85nrwo35ed66cgx6so6@hashbang.sh
uid [ unknown] Ben Harris <ben@libera.chat>
qpui546ptjbsz3rqaetbdz8wj9op6nur@libera.chat
sub rsa4096 2018-06-28 [S]
sub rsa4096 2018-06-28 [E]
sub rsa4096 2018-06-28 [A]
gpg --export ben@tilde.team > ~/.well-known/openpgpkey/hu/qpui546ptjbsz3rqaetbdz8wj9op6nur
commit and send a patch or pull request!

View File

@ -0,0 +1,242 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=ioIA
-----END PGP PUBLIC KEY BLOCK-----

View File

View File

@ -25,22 +25,22 @@ see also [css/](css/) for info on the theme and working with that.
1. clone this repo
1. install deps (markdown parser)
2. install deps (markdown parser)
```bash
composer install
```
1. start a php development server
3. start a php development server
```bash
php -S localhost:9000
php -S localhost:9000 localrouter.php
```
1. create a feature branch
4. create a feature branch
```bash
git checkout -b my-cool-feature
```
1. [open a PR](https://tildegit.org/team/site/pulls)
5. [open a PR](https://tildegit.org/team/site/pulls)
thanks!

View File

@ -1,5 +1,11 @@
{
"require": {
"tildeteam/wiki": "^1.0.0"
"tildeteam/wiki": "^2.0",
"ext-openssl": "*",
"ext-json": "*",
"ext-shmop": "*",
"ext-sockets": "*",
"ext-posix": "*",
"ext-mbstring": "*"
}
}

676
composer.lock generated
View File

@ -4,123 +4,290 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "21b797601a3035a039996278b8e9b035",
"content-hash": "a938f0c9200db6bf821ba64b8fd9b39f",
"packages": [
{
"name": "erusev/parsedown",
"version": "1.7.4",
"name": "dflydev/dot-access-data",
"version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown.git",
"reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3"
"url": "https://github.com/dflydev/dflydev-dot-access-data.git",
"reference": "0992cc19268b259a39e86f296da5f0677841f42c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
"reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3",
"url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c",
"reference": "0992cc19268b259a39e86f296da5f0677841f42c",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"phpstan/phpstan": "^0.12.42",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
"scrutinizer/ocular": "1.6.0",
"squizlabs/php_codesniffer": "^3.5",
"vimeo/psalm": "^3.14"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
"psr-4": {
"Dflydev\\DotAccessData\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Dragonfly Development Inc.",
"email": "info@dflydev.com",
"homepage": "http://dflydev.com"
},
{
"name": "Beau Simensen",
"email": "beau@dflydev.com",
"homepage": "http://beausimensen.com"
},
{
"name": "Carlos Frutos",
"email": "carlos@kiwing.it",
"homepage": "https://github.com/cfrutos"
},
{
"name": "Colin O'Dell",
"email": "colinodell@gmail.com",
"homepage": "https://www.colinodell.com"
}
],
"description": "Given a deep data structure, access data by dot notation.",
"homepage": "https://github.com/dflydev/dflydev-dot-access-data",
"keywords": [
"access",
"data",
"dot",
"notation"
],
"support": {
"issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
"source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1"
},
"time": "2021-08-13T13:06:58+00:00"
},
{
"name": "league/commonmark",
"version": "2.2.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
"reference": "13d7751377732637814f0cda0e3f6d3243f9f769"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/13d7751377732637814f0cda0e3f6d3243f9f769",
"reference": "13d7751377732637814f0cda0e3f6d3243f9f769",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
"php": ">=5.3.0"
"league/config": "^1.1.1",
"php": "^7.4 || ^8.0",
"psr/event-dispatcher": "^1.0",
"symfony/deprecation-contracts": "^2.1 || ^3.0",
"symfony/polyfill-php80": "^1.15"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35"
"cebe/markdown": "^1.0",
"commonmark/cmark": "0.30.0",
"commonmark/commonmark.js": "0.30.0",
"composer/package-versions-deprecated": "^1.8",
"erusev/parsedown": "^1.0",
"ext-json": "*",
"github/gfm": "0.29.0",
"michelf/php-markdown": "^1.4",
"phpstan/phpstan": "^0.12.88 || ^1.0.0",
"phpunit/phpunit": "^9.5.5",
"scrutinizer/ocular": "^1.8.1",
"symfony/finder": "^5.3",
"symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0",
"unleashedtech/php-coding-standard": "^3.1",
"vimeo/psalm": "^4.7.3"
},
"suggest": {
"symfony/yaml": "v2.3+ required if using the Front Matter extension"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "2.3-dev"
}
},
"autoload": {
"psr-0": {
"Parsedown": ""
"psr-4": {
"League\\CommonMark\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
"BSD-3-Clause"
],
"authors": [
{
"name": "Emanuil Rusev",
"email": "hello@erusev.com",
"homepage": "http://erusev.com"
"name": "Colin O'Dell",
"email": "colinodell@gmail.com",
"homepage": "https://www.colinodell.com",
"role": "Lead Developer"
}
],
"description": "Parser for Markdown.",
"homepage": "http://parsedown.org",
"description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
"homepage": "https://commonmark.thephpleague.com",
"keywords": [
"commonmark",
"flavored",
"gfm",
"github",
"github-flavored",
"markdown",
"md",
"parser"
],
"time": "2019-12-30T22:54:17+00:00"
"support": {
"docs": "https://commonmark.thephpleague.com/",
"forum": "https://github.com/thephpleague/commonmark/discussions",
"issues": "https://github.com/thephpleague/commonmark/issues",
"rss": "https://github.com/thephpleague/commonmark/releases.atom",
"source": "https://github.com/thephpleague/commonmark"
},
"funding": [
{
"url": "https://www.colinodell.com/sponsor",
"type": "custom"
},
{
"url": "https://www.paypal.me/colinpodell/10.00",
"type": "custom"
},
{
"url": "https://github.com/colinodell",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/league/commonmark",
"type": "tidelift"
}
],
"time": "2022-02-13T15:00:57+00:00"
},
{
"name": "erusev/parsedown-extra",
"version": "0.8.1",
"name": "league/config",
"version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/erusev/parsedown-extra.git",
"reference": "91ac3ff98f0cea243bdccc688df43810f044dcef"
"url": "https://github.com/thephpleague/config.git",
"reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/91ac3ff98f0cea243bdccc688df43810f044dcef",
"reference": "91ac3ff98f0cea243bdccc688df43810f044dcef",
"url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
"reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
"shasum": ""
},
"require": {
"erusev/parsedown": "^1.7.4"
"dflydev/dot-access-data": "^3.0.1",
"nette/schema": "^1.2",
"php": "^7.4 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35"
"phpstan/phpstan": "^0.12.90",
"phpunit/phpunit": "^9.5.5",
"scrutinizer/ocular": "^1.8.1",
"unleashedtech/php-coding-standard": "^3.1",
"vimeo/psalm": "^4.7.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.2-dev"
}
},
"autoload": {
"psr-0": {
"ParsedownExtra": ""
"psr-4": {
"League\\Config\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
"BSD-3-Clause"
],
"authors": [
{
"name": "Emanuil Rusev",
"email": "hello@erusev.com",
"homepage": "http://erusev.com"
"name": "Colin O'Dell",
"email": "colinodell@gmail.com",
"homepage": "https://www.colinodell.com",
"role": "Lead Developer"
}
],
"description": "An extension of Parsedown that adds support for Markdown Extra.",
"homepage": "https://github.com/erusev/parsedown-extra",
"description": "Define configuration arrays with strict schemas and access values with dot notation",
"homepage": "https://config.thephpleague.com",
"keywords": [
"markdown",
"markdown extra",
"parsedown",
"parser"
"array",
"config",
"configuration",
"dot",
"dot-access",
"nested",
"schema"
],
"time": "2019-12-30T23:20:37+00:00"
"support": {
"docs": "https://config.thephpleague.com/",
"issues": "https://github.com/thephpleague/config/issues",
"rss": "https://github.com/thephpleague/config/releases.atom",
"source": "https://github.com/thephpleague/config"
},
"funding": [
{
"url": "https://www.colinodell.com/sponsor",
"type": "custom"
},
{
"url": "https://www.paypal.me/colinpodell/10.00",
"type": "custom"
},
{
"url": "https://github.com/colinodell",
"type": "github"
}
],
"time": "2021-08-14T12:15:32+00:00"
},
{
"name": "mnapoli/front-yaml",
"version": "1.8.0",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/mnapoli/FrontYAML.git",
"reference": "76baa8ca538e111bfe53ac49c6a512ec5ea2bf54"
"reference": "58d2c735db395000eb9c181acdc7fb9a901e4a1a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/mnapoli/FrontYAML/zipball/76baa8ca538e111bfe53ac49c6a512ec5ea2bf54",
"reference": "76baa8ca538e111bfe53ac49c6a512ec5ea2bf54",
"url": "https://api.github.com/repos/mnapoli/FrontYAML/zipball/58d2c735db395000eb9c181acdc7fb9a901e4a1a",
"reference": "58d2c735db395000eb9c181acdc7fb9a901e4a1a",
"shasum": ""
},
"require": {
"erusev/parsedown": "~1.0",
"php": ">=7.3",
"symfony/yaml": "~2.1|^3.0|^4.0|^5.0"
"league/commonmark": "^2.0",
"php": "^7.4|^8.0",
"symfony/yaml": "^4.0|^5.0|^6.0"
},
"require-dev": {
"league/commonmark": "~1.4",
"phpunit/phpunit": "^9.4"
"phpunit/phpunit": "^9.0"
},
"type": "library",
"autoload": {
@ -132,20 +299,220 @@
"license": [
"MIT"
],
"time": "2020-12-04T10:52:19+00:00"
"support": {
"source": "https://github.com/mnapoli/FrontYAML/tree/2.0.2"
},
"time": "2021-12-19T17:35:56+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.2.0",
"name": "nette/schema",
"version": "v1.2.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
"url": "https://github.com/nette/schema.git",
"reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
"reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
"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.2"
},
"require-dev": {
"nette/tester": "^2.3 || ^2.4",
"phpstan/phpstan-nette": "^0.12",
"tracy/tracy": "^2.7"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause",
"GPL-2.0-only",
"GPL-3.0-only"
],
"authors": [
{
"name": "David Grudl",
"homepage": "https://davidgrudl.com"
},
{
"name": "Nette Community",
"homepage": "https://nette.org/contributors"
}
],
"description": "📐 Nette Schema: validating data structures against a given Schema.",
"homepage": "https://nette.org",
"keywords": [
"config",
"nette"
],
"support": {
"issues": "https://github.com/nette/schema/issues",
"source": "https://github.com/nette/schema/tree/v1.2.2"
},
"time": "2021-10-15T11:40:02+00:00"
},
{
"name": "nette/utils",
"version": "v3.2.7",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
"reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99",
"reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99",
"shasum": ""
},
"require": {
"php": ">=7.2 <8.2"
},
"conflict": {
"nette/di": "<3.0.6"
},
"require-dev": {
"nette/tester": "~2.0",
"phpstan/phpstan": "^1.0",
"tracy/tracy": "^2.3"
},
"suggest": {
"ext-gd": "to use Image",
"ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
"ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
"ext-json": "to use Nette\\Utils\\Json",
"ext-mbstring": "to use Strings::lower() etc...",
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
"ext-xml": "to use Strings::length() etc. when mbstring is not available"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.2-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause",
"GPL-2.0-only",
"GPL-3.0-only"
],
"authors": [
{
"name": "David Grudl",
"homepage": "https://davidgrudl.com"
},
{
"name": "Nette Community",
"homepage": "https://nette.org/contributors"
}
],
"description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
"homepage": "https://nette.org",
"keywords": [
"array",
"core",
"datetime",
"images",
"json",
"nette",
"paginator",
"password",
"slugify",
"string",
"unicode",
"utf-8",
"utility",
"validation"
],
"support": {
"issues": "https://github.com/nette/utils/issues",
"source": "https://github.com/nette/utils/tree/v3.2.7"
},
"time": "2022-01-24T11:29:14+00:00"
},
{
"name": "psr/event-dispatcher",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/event-dispatcher.git",
"reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
"reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
"shasum": ""
},
"require": {
"php": ">=7.2.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\EventDispatcher\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Standard interfaces for event handling.",
"keywords": [
"events",
"psr",
"psr-14"
],
"support": {
"issues": "https://github.com/php-fig/event-dispatcher/issues",
"source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
},
"time": "2019-01-08T18:20:26+00:00"
},
{
"name": "symfony/deprecation-contracts",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8",
"reference": "6f981ee24cf69ee7ce9736146d1c57c2780598a8",
"shasum": ""
},
"require": {
@ -154,7 +521,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2-dev"
"dev-main": "2.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@ -182,32 +549,52 @@
],
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"time": "2020-09-07T11:33:47+00:00"
"support": {
"source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-07-12T14:48:14+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.22.1",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
"reference": "30885182c981ab175d4d034db0f6f469898070ab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
"reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
"reference": "30885182c981ab175d4d034db0f6f469898070ab",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.22-dev"
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@ -244,32 +631,132 @@
"polyfill",
"portable"
],
"time": "2021-01-07T16:49:33+00:00"
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-10-20T20:35:02+00:00"
},
{
"name": "symfony/yaml",
"version": "v5.2.5",
"name": "symfony/polyfill-php80",
"version": "v1.24.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "298a08ddda623485208506fcee08817807a251dd"
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "57b712b08eddb97c762a8caa32c84e037892d2e9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd",
"reference": "298a08ddda623485208506fcee08817807a251dd",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9",
"reference": "57b712b08eddb97c762a8caa32c84e037892d2e9",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php80\\": ""
},
"classmap": [
"Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ion Bazan",
"email": "ion.bazan@gmail.com"
},
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2021-09-13T13:58:33+00:00"
},
{
"name": "symfony/yaml",
"version": "v5.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "e80f87d2c9495966768310fc531b487ce64237a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/e80f87d2c9495966768310fc531b487ce64237a2",
"reference": "e80f87d2c9495966768310fc531b487ce64237a2",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"symfony/deprecation-contracts": "^2.1",
"symfony/polyfill-ctype": "~1.8"
"symfony/deprecation-contracts": "^2.1|^3",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"symfony/console": "<4.4"
"symfony/console": "<5.3"
},
"require-dev": {
"symfony/console": "^4.4|^5.0"
"symfony/console": "^5.3|^6.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
@ -302,19 +789,36 @@
],
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"time": "2021-03-06T07:59:01+00:00"
"support": {
"source": "https://github.com/symfony/yaml/tree/v5.4.3"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2022-01-26T16:32:32+00:00"
},
{
"name": "tildeteam/wiki",
"version": "1.0.0",
"version": "2.0.8",
"source": {
"type": "git",
"url": "https://tildegit.org/team/tildewiki",
"reference": "519497aa9ed64b5f614a544d98096e448b8860e2"
"reference": "dcbb9740225768c74cfd0002a150549cd6df4bc4"
},
"require": {
"erusev/parsedown-extra": "^0.8.1",
"mnapoli/front-yaml": "^1.8.0"
"mnapoli/front-yaml": "^2.0.0",
"php": "^7.4|^8.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5"
@ -337,13 +841,13 @@
"role": "Developer"
}
],
"description": "parsedown extensions for tilde wikis",
"description": "unified extensions for tilde wikis",
"homepage": "https://tildegit.org/team/tildewiki",
"keywords": [
"markdown",
"wiki"
],
"time": "2021-03-17T16:29:47+00:00"
"time": "2022-02-16T18:31:48+00:00"
}
],
"packages-dev": [],
@ -352,6 +856,14 @@
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": []
"platform": {
"ext-openssl": "*",
"ext-json": "*",
"ext-shmop": "*",
"ext-sockets": "*",
"ext-posix": "*",
"ext-mbstring": "*"
},
"platform-dev": [],
"plugin-api-version": "2.2.0"
}

View File

@ -11,7 +11,7 @@ dev: build
$(lightserver) -s . -p 9000 -w "index.html, **/*.less \# make" -o
%.css: node_modules less/*.less
$(info building $@)
$(info building $@:)
$(lessc) less/$*.less $*.css --clean-css="--s1 --advanced --compatibility=ie8"
node_modules: package.json package-lock.json Makefile

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1,12 @@
<!DOCTYPE html>
<html>
<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">
<title>tilde theme</title>
<title>tilde dracula theme</title>
<link href="dracula.css" rel="stylesheet">
<style>
@ -69,6 +69,7 @@
<li>
<a href="//reddit.com/r/itsaunixsystem" target="_blank">H4x0rs Only</a>
</li>
<li><a href="/">&lt;- back</a></li>
</ul>
</div>
</div>
@ -352,13 +353,16 @@ end</pre>
<option>5</option>
</select>
<br>
<select multiple="" class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<label>
Sample Dropdown
<select multiple="" class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</label>
</div>
</div>
<div class="form-group">
@ -409,7 +413,10 @@ end</pre>
<label class="control-label">Input addons</label>
<div class="input-group">
<span class="input-group-addon">$</span>
<input class="form-control" type="text">
<label>
Text Input
<input class="form-control" type="text">
</label>
<span class="input-group-btn">
<button class="btn btn-default" type="button">Button</button>
</span>
@ -794,15 +801,7 @@ end</pre>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<!-- Github stars script -->
<script>jQuery(document).ready(function ($) {
$.getJSON("https://tildegit.org/api/v1/repos/team/site", function (data) {
$("#stars").text(data['stars_count'] + " stars");
});
});</script>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="utf-8">
@ -69,6 +69,7 @@
<li>
<a href="//reddit.com/r/itsaunixsystem" target="_blank">H4x0rs Only</a>
</li>
<li><a href="/">&lt;- back</a></li>
</ul>
</div>
</div>
@ -352,13 +353,16 @@ end</pre>
<option>5</option>
</select>
<br>
<select multiple="" class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
<label>
Sample Dropdown
<select multiple="" class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</label>
</div>
</div>
<div class="form-group">
@ -409,7 +413,10 @@ end</pre>
<label class="control-label">Input addons</label>
<div class="input-group">
<span class="input-group-addon">$</span>
<input class="form-control" type="text">
<label>
Text Input
<input class="form-control" type="text">
</label>
<span class="input-group-btn">
<button class="btn btn-default" type="button">Button</button>
</span>
@ -794,15 +801,7 @@ end</pre>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<!-- Github stars script -->
<script>jQuery(document).ready(function ($) {
$.getJSON("https://tildegit.org/api/v1/repos/team/site", function (data) {
$("#stars").text(data['stars_count'] + " stars");
});
});</script>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>

View File

@ -1,6 +1,7 @@
/*!
* Bootstrap v3.3.7 (http://getbootstrap.com)
* Copyright 2011-2016 Twitter, Inc.
* Copyright 2022 DJ Chase
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked by mio for tilde.team
*/
@ -208,3 +209,21 @@ tr.active {
background: @hacker-primary-lighter;
color: @hacker-bg
}
ul.table-of-contents {
margin-bottom: 22px;
padding-bottom: 22px;
border-bottom: 1px solid @hacker-box-border;
}
// Headings
h1, h2 {
font-weight: bold;
}
// Space between paragraphs
p {
&:not(:last-child) {
margin-bottom: @line-height-with-unit;
}
}

View File

@ -41,16 +41,18 @@ Palette URL: http://paletton.com/#uid=12U0u0knnfti5bkladVnSlVo6tw
@link-color: #BD93F9;
@link-hover-color: lighten(@link-color, 10%);
@padding-base-vertical: 6px;
@padding-base-horizontal: 12px;
@padding-base-horizontal: 2ch;
@padding-large-vertical: 10px;
@padding-large-horizontal: 16px;
@padding-large-horizontal: 3ch;
@padding-small-vertical: 5px;
@padding-small-horizontal: 10px;
@padding-small-horizontal: 1ch;
@border-radius-base: 2;
@border-radius-large: 4;
@border-radius-small: 1;
@line-height-large: 1.33;
@line-height-small: 1.5;
@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;
@ -69,11 +71,10 @@ Palette URL: http://paletton.com/#uid=12U0u0knnfti5bkladVnSlVo6tw
@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-base: 1.428571429;
@line-height-computed: floor(@font-size-base * @line-height-base);
@headings-font-family: @font-family-base;
@headings-font-weight: 500;
@headings-line-height: 1.2;
@headings-line-height: @line-height-base;
@headings-color: @hacker-primary-lighter;

View File

@ -39,22 +39,24 @@ Palette URL: http://paletton.com/#uid=12U0u0knnfti5bkladVnSlVo6tw
@link-color: @hacker-primary-lighter;
@link-hover-color: lighten(@link-color, 10%);
@padding-base-vertical: 6px;
@padding-base-horizontal: 12px;
@padding-base-horizontal: 2ch;
@padding-large-vertical: 10px;
@padding-large-horizontal: 16px;
@padding-large-horizontal: 3ch;
@padding-small-vertical: 5px;
@padding-small-horizontal: 10px;
@padding-small-horizontal: 1ch;
@border-radius-base: 2;
@border-radius-large: 4;
@border-radius-small: 1;
@line-height-large: 1.33;
@line-height-small: 1.5;
@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-monospace: "IBM Plex Mono", "JetBrains Mono", "Fira Mono", Consolas, Inconsolata, ui-monospace, monospace;
@font-family-sans-serif: @font-family-monospace;
@font-family-serif: @font-family-monospace;
@font-family-base: @font-family-monospace;
@ -67,11 +69,10 @@ Palette URL: http://paletton.com/#uid=12U0u0knnfti5bkladVnSlVo6tw
@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-base: 1.428571429;
@line-height-computed: floor(@font-size-base * @line-height-base);
@headings-font-family: @font-family-base;
@headings-font-weight: 500;
@headings-line-height: 1.2;
@headings-line-height: @line-height-base;
@headings-color: @hacker-primary-lighter;

1702
css/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@
},
"dependencies": {
"bootstrap": "3.4.1",
"less": "3.11.1",
"less": "3.13.1",
"less-plugin-clean-css": "1.5.1",
"light-server": "^2.9.1"
},

View File

@ -1,16 +1,22 @@
<hr>
<footer class="text-center">
<pre>ECDSA fingerprint: SHA256:R3qNfKIF3IiXhKCbFX6rCKl73yzexi9Wodsow6XFres</pre>
<div class="collapse" id="sshfp">
<pre>
ECDSA: SHA256:R3qNfKIF3IiXhKCbFX6rCKl73yzexi9Wodsow6XFres
ED25519: SHA256:FErDF9upMkSg/yzw0N7i2o971LT/Bocd1qrDDpE315I
RSA: SHA256:JR5oQPfC34ogd/SeIcMpaGR8BiBo4ciI5xWyBVCjj5o</pre>
</div>
<a href="https://tildegit.org/team/site">site source</a>
~
<a href="https://tildegit.org/team/site/src/branch/master/<?=str_ireplace("/var/www/tilde.team/", "", $filepath)?>">page source</a>
<a href="https://tildegit.org/team/site/src/branch/master/<?=str_ireplace("/var/www/tilde.team/", "", $filepath ?? "")?>">page source</a>
~
<a href="https://bhh.sh/donate/">donate</a>
~
<a data-toggle="collapse" href="#sshfp" aria-expanded="false" aria-controls="sshfp">
ssh fingerprints
</a>
</footer>
</div>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>

View File

@ -15,8 +15,11 @@
<link rel="icon" type="image/png" sizes="192x192" href="/apple-touch-icon-precomposed.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<script defer src="/js/jquery.min.js"></script>
<script defer src="/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="/css/hacker.css">
<link rel="stylesheet" href="/css/fork-awesome.min.css">
<style>
/* offset #fragments */
:target:before {

View File

@ -16,7 +16,7 @@ Site: https://tilde.team/~virtual/ virtual@tilde.team
Location tildeverse, the internet
Users: tilde.team teammates
Sites: https://tilde.team/~<username>/ (see https://tilde.team for a list)
Sites: https://tilde.team/~<username>/ (see https://tilde.team/users/ for a list)
Location: tildeverse, the internet
@ -24,7 +24,6 @@ Location: tildeverse, the internet
Name: Paul Ford, for inspiring tilde.team through tilde.club
/* SITE */
Last update: 2018/08/13
Last update: 2022/02/17
Components: Bootstrap 3
Software: PHP

View File

@ -4,8 +4,7 @@ include 'header.php';
require __DIR__.'/vendor/autoload.php';
use tildeteam\wiki;
$parser = wiki::factory();
wiki::$bootstrap = wiki::$forkawesome = true;
$parser = wiki::factory(true);
?>
<div class="jumbotron">
@ -30,7 +29,7 @@ wiki::$bootstrap = wiki::$forkawesome = true;
</p>
<p>
i created this tilde after hearing about paul ford's
<a href="http://tilde.club/">tilde.club</a>. when i was unable
<a href="https://tilde.club/">tilde.club</a>. when i was unable
to join due to the waitlist, i decided to create my own tilde.
</p>
@ -97,7 +96,7 @@ wiki::$bootstrap = wiki::$forkawesome = true;
<div class="col-md-6">
<h2 id="projects">~projects~</h2>
<?php foreach (json_decode(file_get_contents("https://tildegit.org/api/v1/orgs/team/repos")) ?? [] 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">

7
localrouter.php Normal file
View File

@ -0,0 +1,7 @@
<?php
if (preg_match('/^.*\/(news|wiki)\/(.*)$/', $_SERVER["REQUEST_URI"], $matches))
{
$_GET["page"] = $matches[2];
}
return false;

View File

@ -9,9 +9,7 @@ $additional_head = "
<meta property='og:site_name' content='tilde.team news'>
";
$parser = wiki::factory();
wiki::$bootstrap = wiki::$forkawesome = true;
$parser = wiki::factory(true);
if (!isset($_GET["page"]) || !file_exists("pages/{$_GET['page']}.md")) {

View File

@ -14,4 +14,4 @@ there are no ssl certs for these subdomains, so you will have to request those w
edit: there is now a wildcard cert from letsencrypt for *.tilde.team, so you can use https with your username as a subdomain!! :)
edit2: there are now more than one domains that will server your user page. see [the wiki article about it](/wiki/?page=tildepages)
edit2: there are now more than one domains that will server your user page. see [the wiki article about it](/wiki/tildepages)

View File

@ -5,6 +5,6 @@ title: mastodon
author: ben
---
hey tilders, there's a mastodon instance out there at <a href="https://social.tilde.team/">social.tilde.team</a> for members of the tilde community (and any others who are interested in an actually <em>social</em> social network. see you on there!
hey tilders, there's a mastodon instance out there at <a href="https://social.tilde.team/">social.tilde.team</a> for members of the tilde community (and any others who are interested in an actually <em>social</em> social network). see you on there!
edit: the mastodon instance is now at [tilde.zone](https://tilde.zone)
update: the mastodon instance is at [tilde.zone](https://tilde.zone)

View File

@ -10,4 +10,4 @@ tilde.team is now on a beefy vps! 4cores, 6gb ram, and 100gb ssd space!
everything is where you left it, but you will get a scary notice about a man-in-the-middle attack when you connect over ssh. (this is just because the IP address changed). the new IP is 104.223.31.252 and the ECDSA fingerprint is: `SHA256:CoJQp1mGtYJOZscJul6Ba94o2NsuzZTUI/b76JLGy3A` for your verification purposes.
edit: it wasn't as stable as i thought... see [part 2](?page=020_migration_again)
edit: it wasn't as stable as i thought... see [part 2](020_migration_again)

View File

@ -5,4 +5,4 @@ title: tildemail
author: ben
---
what started as an initiative to get local mail working ended up with us just setting up a full mailserver with smtp and imap. see the [email wiki](/wiki/?page=email) for more info and [webmail](https://mail.tilde.team) for easy access.
what started as an initiative to get local mail working ended up with us just setting up a full mailserver with smtp and imap. see the [email wiki](/wiki/email) for more info and [webmail](https://mail.tilde.team) for easy access.

View File

@ -5,6 +5,6 @@ title: tilde.team gopher server and proxy
author: ben
---
we're now running a [gopher server](/wiki/?page=gopher) and [http proxy](https://gopher.tilde.team)! connect to [gopher://tilde.team](gopher://tilde.team) or use [our http proxy](https://gopher.tilde.team) for when you don't have a gopher-capable browser handy
we're now running a [gopher server](/wiki/gopher) and [http proxy](https://gopher.tilde.team)! connect to [gopher://tilde.team](gopher://tilde.team) or use [our http proxy](https://gopher.tilde.team) for when you don't have a gopher-capable browser handy
to get started in gopherspace, check out [gopher.zone](https://gopher.zone) or use [`bb`](https://tildegit.org/team/bashblog), [`feels`](https://github.com/modgethanc/ttbp), or [`burrow`](https://github.com/tilde-team/burrow) at the shell!

View File

@ -7,4 +7,4 @@ author: khuxkm
tilde.team is now on an even beeeeefier rig. bare metal this time! 4cores (8 threads), 64gb ram!
just like [last time](/news/?page=015_migration), everything is where you left it, but you **will** get a scary notice about a man-in-the-middle attack when you connect over ssh. (this is just because the IP address changed). the new IP is 195.201.242.48 and the ECDSA fingerprint is: `SHA256:R3qNfKIF3IiXhKCbFX6rCKl73yzexi9Wodsow6XFres` for your verification purposes.
just like [last time](/news/015_migration), everything is where you left it, but you **will** get a scary notice about a man-in-the-middle attack when you connect over ssh. (this is just because the IP address changed). the new IP is 195.201.242.48 and the ECDSA fingerprint is: `SHA256:R3qNfKIF3IiXhKCbFX6rCKl73yzexi9Wodsow6XFres` for your verification purposes.

View File

@ -13,6 +13,6 @@ How this affects you:
The behavior of some users in the tilde.chat Discord has been unacceptable and does not comply with our code of conduct. Upon further review, we have decided that managing the Discord server is a bit more than we can handle without discussing moderation in-depth. As such, ben and I (khuxkm) have decided to make it READ-ONLY until we have come to a more permanent decision (which may be to close it permanently).
If you have any thoughts/ideas for the future of the discord bridge, please drop a line to ben or myself on IRC or by email (@tilde.team [or any of the other domains](/wiki/?page=email)). We can be found in the #sudoers channel.
If you have any thoughts/ideas for the future of the discord bridge, please drop a line to ben or myself on IRC or by email (@tilde.team [or any of the other domains](/wiki/email)). We can be found in the #sudoers channel.
Thanks for <del>flying tildeverse</del> being a member of the tildeverse and working with us to figure out a chat solution that works for everyone!

View File

@ -13,4 +13,4 @@ later!
update: i've written up a [post mortem](/~ben/blog/november-13-post-mortem.html) ~ben
update 2: i've written a [article from my perspective](https://tilde.team/~fosslinux/blog/on-november-13th-i-made-a-bit-of-an-oops.html) ~fosslinux
update 2: i've written an [article from my perspective](https://tilde.team/~fosslinux/blog/on-november-13th-i-made-a-bit-of-an-oops.html) ~fosslinux

View File

@ -9,7 +9,7 @@ we now have new mailing lists for the tildeverse :D
~teamers, you are automatically signed up to the ~team mailing list.
see [the list archives](https://lists.tildeverse.org/hyperkitty/list/tildeteam@lists.tildeverse.org/) for topics that you've missed, or just send an email to the list directly (tildeteam@lists.tildeverse.org) to start a new thread/topic.
see [the list archives](https://lists.tildeverse.org/hyperkitty/list/tildeteam@lists.tildeverse.org/) for topics that you've missed, or just email the list directly (tildeteam@lists.tildeverse.org) to start a new thread/topic.
all lists and settings can be found at https://lists.tildeverse.org

View File

@ -7,7 +7,7 @@ author: ben
i've been preparing a large upgrade for tilde.team to ubuntu 20.04 focal fossa.
the new vm has a fresh install and will help to address some of the long-standing
the new vm has a fresh install and will help to address some long-standing
issues that i've been wanting to fix for quite some time now
---

View File

@ -0,0 +1,18 @@
---
published: true
date: march 23 2022
title: disk quotas
author: ben
---
as of today, we will be enforcing per-user disk quotas here on tilde.team.
this was a manual chore that i have been meaning to set up for a while.
the limits will be 1gb as a soft limit then 3gb as the hard limit.
there's a 1-week grace period after reaching 1gb for you to find and remove files.
see the [disk usage wikipage](/wiki/disk-usage) for help on finding large files.
thanks for keeping this a usable system for everyone :)

24
news/pages/033_5_years.md Normal file
View File

@ -0,0 +1,24 @@
---
published: true
date: may 31 2022
title: 5 years of tilde.team
author: ben
---
as of may 30 tilde.team is 5 years old!
the early days were hectic and the memories for me are a bit hazy so i'm going
off the date that the domain was registered.
according to WHOIS info:
Creation Date: 2017-05-30T20:25:48Z
at the time of writing (one day late) we have 1224 members. 219 people have logged
in since the last reboot.
i'm not particularly good at words but tilde.team has been a massive part of my
life over the last 5 years and i'm so grateful for all you folks who make it fun
and enjoyable to hang out here.
keep on making cool things and see ya 'round!

View File

@ -41,13 +41,13 @@ else {
// keep this as a string so we can escape it easily with htmlspecialchars()
$snippet = '<!-- tilde.team ring fragment-->
<div id="newring">
<center>
<div style="text-align: center;">
[<a href="https://tilde.team/ring/?action=prev&me=USERNAME">previous</a>]
[<a href="https://tilde.team/ring/?action=random&me=USERNAME">random</a>]
[<a href="https://tilde.team/ring/?action=next&me=USERNAME">next</a>]
<br>
<a href="https://tilde.team/ring/">how to join this webring</a>
</center>
</div>
</div>';
$title = "webring - how to join";

View File

@ -20,9 +20,9 @@ unset($navbar);
foreach ($services as $name => $service) {
if ($nav) { ?>
<li><a href="<?=$service["url"]?>" role="menuitem"><i class="fa fa-<?=$service["fa"]?>"></i> <?=$name?></a></li>
<li><a href="<?=$service["url"]?>" role="menuitem"><?=$name?></a></li>
<?php } else { ?>
<a href="<?=$service["url"]?>" class="btn btn-default"><i class="fa fa-<?=$service["fa"]?>"></i> <?=$name?></a>
<a href="<?=$service["url"]?>" class="btn btn-default"><?=$name?></a>
<?php }
}

View File

@ -231,8 +231,7 @@ class Net_DNS2
break;
default:
;
}
}
}
//
@ -538,7 +537,7 @@ class Net_DNS2
$x = (8 - (count($part[0]) + count($part[1])));
for ($i = 0; $i < $x; $i++) {
array_push($missing, '0000');
$missing[] = '0000';
}
$missing = array_merge($part[0], $missing);
@ -1153,15 +1152,15 @@ class Net_DNS2_BitMap
$bitstr = '';
for ($i=0; $i<$bm[$window]['length'] * 8; $i++) {
if (isset($bm[$window][$i])) {
for ($i=0; $i< $bitdata['length'] * 8; $i++) {
if (isset($bitdata[$i])) {
$bitstr .= '1';
} else {
$bitstr .= '0';
}
}
$output .= pack('CC', $window, $bm[$window]['length']);
$output .= pack('CC', $window, $bitdata['length']);
$output .= pack('H*', self::bigBaseConvert($bitstr));
}
@ -1358,7 +1357,7 @@ class Net_DNS2_Cache
return null;
}
};
}
?><?php
@ -3767,7 +3766,7 @@ class Net_DNS2_Cache_File extends Net_DNS2_Cache
fclose($fp);
}
}
};
}
?><?php
@ -3978,7 +3977,7 @@ class Net_DNS2_Cache_Shm extends Net_DNS2_Cache
fclose($fp);
}
}
};
}
?><?php
@ -5781,7 +5780,6 @@ class Net_DNS2_RR_IPSECKEY extends Net_DNS2_RR
break;
case self::GATEWAY_TYPE_DOMAIN:
;
break;
default:
@ -5798,7 +5796,6 @@ class Net_DNS2_RR_IPSECKEY extends Net_DNS2_RR
case self::ALGORITHM_DSA:
case self::ALGORITHM_RSA:
;
break;
default:
@ -5905,7 +5902,6 @@ class Net_DNS2_RR_IPSECKEY extends Net_DNS2_RR
//
switch($this->gateway_type) {
case self::GATEWAY_TYPE_NONE:
;
break;
case self::GATEWAY_TYPE_IPV4:
@ -5926,7 +5922,6 @@ class Net_DNS2_RR_IPSECKEY extends Net_DNS2_RR
//
switch($this->algorithm) {
case self::ALGORITHM_NONE:
;
break;
case self::ALGORITHM_DSA:

View File

@ -207,4 +207,3 @@
return true;
}
}
?>

View File

@ -1283,7 +1283,7 @@
{
if (trim($line) !== "")
{
if ($line{0} !== "\xFF" && (($tagname === "/ul" && $line{0} !== "-") || ($tagname === "/ol" && !(int)$line{0}))) $prefix2 = "\xFF\xFF";
if ($line[0] !== "\xFF" && (($tagname === "/ul" && $line[0] !== "-") || ($tagname === "/ol" && !(int)$line[0]))) $prefix2 = "\xFF\xFF";
else $prefix2 = "";
$lines[$num] = $prefix . $prefix2 . trim($line);
@ -1373,8 +1373,7 @@
if ($htmlmessage == "" && !count($attachments))
{
// Plain-text e-mail.
$destheaders = "";
$destheaders .= $messagefromaddr;
$destheaders = $messagefromaddr;
if ($headers != "") $destheaders .= $headers;
$destheaders .= "MIME-Version: 1.0\r\n";
if (!isset($options["usemail"]) || !$options["usemail"]) $destheaders .= $messagetoaddr;
@ -1391,8 +1390,7 @@
{
// MIME e-mail (HTML, text, attachments).
$mimeboundary = "--------" . self::MIME_RandomString(25);
$destheaders = "";
$destheaders .= $messagefromaddr;
$destheaders = $messagefromaddr;
if ($headers != "") $destheaders .= $headers;
$destheaders .= "MIME-Version: 1.0\r\n";
if (!isset($options["usemail"]) || !$options["usemail"]) $destheaders .= $messagetoaddr;
@ -1516,4 +1514,3 @@
}
}
}
?>

View File

@ -205,4 +205,3 @@
return "&#" . $num . ";";
}
}
?>

View File

@ -1,6 +1,11 @@
<?php
$filepath = __FILE__;
include __DIR__.'/../header.php';
function esc($v): string
{
return isset($_REQUEST[$v]) ? htmlspecialchars($_REQUEST[$v]) : "";
}
?>
<div class="container" id="app">
@ -19,24 +24,32 @@ include __DIR__.'/../header.php';
<form method="post">
<?php include 'signup-handler.php'; ?>
<div class="form-group">
<label>your desired username (numbers and lowercase letters only, no spaces)</label>
<input class="form-control" name="username" value="<?=$_REQUEST["username"] ?? ""?>" type="text" required>
<div>
<label>
your desired username (numbers and lowercase letters only, no spaces)
<input class="form-control" name="username" value="<?=esc("username")?>" type="text" required>
</label>
</div>
<div class="form-group">
<label>email to contact you with account info</label>
<input class="form-control" name="email" value="<?=$_REQUEST["email"] ?? ""?>" type="text" required>
</div>
<div>
<label>
email to contact you with account info
<input class="form-control" name="email" value="<?=esc("email")?>" type="text" required>
</label>
</div>
<div class="form-group">
<label>what interests you about tilde.team?</label>
<textarea class="form-control" name="interest" id="" cols="30" rows="10"><?=$_REQUEST["interest"] ?? ""?></textarea>
</div>
<div>
<label>
what interests you about tilde.team? we want to make sure you're a real human being :)
<textarea required class="form-control" name="interest" id="" cols="40" rows="7"><?=esc("interest")?></textarea>
</label>
</div>
<div class="form-group">
<label>SSH public key</label>
<textarea required class="form-control" name="sshkey" id="" cols="30" rows="10"><?=$_REQUEST["sshkey"] ?? ""?></textarea>
<div>
<label>
SSH public key
<textarea required class="form-control" name="sshkey" id="" cols="30" rows="10"><?=esc("sshkey")?></textarea>
</label>
<p>if you don't have a key, don't worry! <a href="/wiki/ssh">check out our guide to ssh keys</a> and make sure that you only put your pubkey here</p>
</div>

View File

@ -22,7 +22,32 @@ function add_ban_info($name, $email) {
file_put_contents("/var/signups_banned", $user_info.PHP_EOL, FILE_APPEND);
}
function forbidden_name($name) {
function starts_with($string, $prefix)
{
return mb_substr($string, 0, mb_strlen($prefix)) === $prefix;
}
function is_ssh_pubkey($string)
{
// list from sshd(8)
$valid_pubkeys = [
'sk-ecdsa-sha2-nistp256@openssh.com',
'ecdsa-sha2-nistp256',
'ecdsa-sha2-nistp384',
'ecdsa-sha2-nistp521',
'sk-ssh-ed25519@openssh.com',
'ssh-ed25519',
'ssh-dss',
'ssh-rsa',
];
foreach ($valid_pubkeys as $pub)
if (starts_with($string, $pub)) return true;
return false;
}
function forbidden_name($name): bool
{
$badnames = [
'0x0',
'abuse',
@ -88,14 +113,17 @@ function forbidden_name($name) {
);
}
function forbidden_email($email) {
function forbidden_email($email): bool
{
$femail = file("/var/banned_emails.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
return in_array($email, $femail);
}
function forbidden_sshkey($sshkey) {
function forbidden_sshkey($sshkey): bool
{
$fsshkey = file("/var/banned_sshkeys.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($fsshkey as $line_num => $line) {
$fsk = [];
foreach ($fsshkey as $line) {
$fsk_line = explode(' ',trim($line));
$fsk[] = $fsk_line[1];
}
@ -113,7 +141,7 @@ if (isset($_REQUEST["username"]) && isset($_REQUEST["email"])) {
if ($name == "")
$message .= "<li>fill in your desired username</li>\n";
else {
if ($name != "" && strlen($name) < 2)
if (strlen($name) < 2)
$message .= "<li>username is too short (2 character min)</li>\n";
if (strlen($name) > 32)
@ -147,10 +175,10 @@ if (isset($_REQUEST["username"]) && isset($_REQUEST["email"])) {
$message .= "<li>please explain why you're interested so we can make sure you're a real human being</li>";
$sshkey = trim($_REQUEST["sshkey"]);
if ($sshkey == "" || mb_substr($sshkey, 0, 4) !== "ssh-")
if ($sshkey == "" || !is_ssh_pubkey($sshkey))
$message .= '<li>ssh key required: please create one and submit the public key. '
. 'see our <a href="https://tilde.team/wiki/?page=ssh">ssh wiki</a> or '
. 'hop on <a href="https://web.tilde.chat/?join=team">irc</a> and ask for help</li>';
. 'see our <a href="https://tilde.team/wiki/ssh">ssh wiki</a> or '
. 'hop on <a href="https://tilde.chat/kiwi/#team">irc</a> and ask for help</li>';
else {
if ($name != "" && $email != "") {
if (forbidden_sshkey($sshkey)) {
@ -163,7 +191,7 @@ if (isset($_REQUEST["username"]) && isset($_REQUEST["email"])) {
// no validation errors
if ($message == "") {
$makeuser = "makeuser {$_REQUEST["username"]} {$_REQUEST["email"]} \"{$sshkey}\"";
$makeuser = "makeuser {$_REQUEST["username"]} {$_REQUEST["email"]} \"$sshkey\"";
$msgbody = "
username: {$_REQUEST["username"]}
@ -175,24 +203,24 @@ $makeuser
if (mail('sudoers', 'new tilde.team signup', $msgbody)) {
echo '<div class="alert alert-success" role="alert">
email sent! we\'ll get back to you soon (usually within a day) with login instructions! <a href="/">back to tilde.team home</a>
</div>';
email sent! we\'ll get back to you soon (usually within a day) with login instructions! <a href="/">back to tilde.team home</a>
</div>';
// temp. add to forbidden to prevent double signups (cleanup after user creation)
file_put_contents("/var/signups_current", $name.PHP_EOL, FILE_APPEND);
file_put_contents("/var/signups", $makeuser.PHP_EOL, FILE_APPEND);
} else {
echo '<div class="alert alert-danger" role="alert">
something went wrong... please send an email to <a href="mailto:sudoers@tilde.team">sudoers@tilde.team</a> with details of what happened
</div>';
something went wrong... please send an email to <a href="mailto:sudoers@tilde.team">sudoers@tilde.team</a> with details of what happened
</div>';
}
} else {
?>
?>
<div class="alert alert-warning" role="alert">
<strong>notice: </strong>
<?=$message?>
</div>
<?php
<?php
}
}
?>

View File

@ -25,7 +25,7 @@ $total_users = shell_exec("members team | wc -w");
$user = basename($user); ?>
<li style="list-style: none; margin-left: -40px;">
<a href="/~<?=$user?>/" class="list-group-item">
<h6 class="list-group-item-heading">~<?=$user?></h5>
<h6 class="list-group-item-heading">~<?=$user?></h6>
</a>
</li>
<?php endforeach; ?>

View File

@ -9,9 +9,7 @@ $additional_head = "
<meta property='og:site_name' content='tilde.team wiki'>
";
$parser = wiki::factory();
wiki::$bootstrap = wiki::$forkawesome = true;
$parser = wiki::factory(true);
if (!isset($_GET["page"]) || !file_exists("pages/{$_GET['page']}.md")) {
@ -34,14 +32,21 @@ if (!isset($_GET["page"]) || !file_exists("pages/{$_GET['page']}.md")) {
<hr>
<h2>pages:</h2>
<ul>
<?php foreach (glob("pages/*.md") as $page) {
$yaml = $parser->parse(file_get_contents($page))->getYAML();
if (!$yaml["published"]) continue; ?>
<li><a href="<?=basename($page, ".md")?>"><?=$yaml["title"]?></a></li>
<?php } ?>
</ul>
<table class="table table-responsive table-hover table-striped">
<thead>
<tr>
<th>title</th>
<th>description</th>
</tr>
</thead>
<tbody>
<?php foreach (glob("pages/*.md") as $page) {
$yaml = $parser->parse(file_get_contents($page))->getYAML();
if (!$yaml["published"]) continue; ?>
<tr><td><a href="<?=basename($page, ".md")?>"><?=$yaml["title"]?></a></td> <td><?=$yaml["description"] ?? ""?></td></tr>
<?php } ?>
</tbody>
</table>
<?php } else {
@ -59,9 +64,9 @@ if (!isset($_GET["page"]) || !file_exists("pages/{$_GET['page']}.md")) {
// show a single page ?>
<a href=".">&lt; ~wiki</a>
<h1><?=$yml['title']?></h1>
<hr>
<?=$pg->getContent()?>
<?=$pg->getContent()?>
<hr>
<a href="https://tildegit.org/team/site/src/branch/master/wiki/pages/<?=$_GET["page"]?>.md">
<i class="fa fa-edit"></i> source

View File

@ -7,8 +7,6 @@ category:
- main
---
# account recovery
if you ever lose access to your tilde.team account, there are a couple ways
to get back in.
@ -26,10 +24,12 @@ if you've also lost your password, please send a mail to sudoers@tilde.team
with your new pubkey from the email address you signed up with. this is the
only thing besides sending the welcome email that we use your email address for.
# password
## password
if you've forgotten your password, it's a similar process to ssh keys.
> if you still know it, use the `passwd` command to change it.
if you still have access to your shell, send a mail using `mutt` to sudoers@tilde.team
to request a password reset.

View File

@ -7,7 +7,6 @@ category:
- main
---
# administration
1. [adding users](#adding-users)
2. [backups](#backups)
3. [bypassing resource limits as services user](#bypassing-resource-limits)

View File

@ -7,8 +7,6 @@ category:
- main
---
# advanced ssh
Some more advanced ssh topics.
## SSH Tunnels

View File

@ -7,8 +7,6 @@ category:
- main
---
# bsd.tilde.team
tilde.team offers an alternate host: [bsd.tilde.team](https://bsd.tilde.team), which runs freebsd 13.
currently it supports:

View File

@ -7,8 +7,6 @@ category:
- main
---
# Command Line Shell, for _Absolute_ Beginners
So, you want to join a public-access shell community like tilde.team, but you don't yet have experience using GNU+Linux or other UNIX-like operating systems? This tutorial is designed to give you enough guidance that you can get started and move on to successfully directing your future learning. Once you get a basic level of self-sufficiency, tilde.team is a great place to practice and learn more.
## GNU+Linux is a text-based operating system. And it takes work and thought to start using.

View File

@ -7,8 +7,6 @@ category:
- main
---
# code of conduct
> **tl;dr** learn by doing and helping. be excellent to each other. have fun!

View File

@ -7,12 +7,38 @@ category:
- main
---
# disk usage
files tend to keep growing and growing until you run out of disk space all of a sudden.
let's take a look at some tools to keep an eye on disk usage.
## tilde.team guidelines
even though we have plenty of disk space to go around on tilde.team,
we request that you keep your usage below 1 gb.
a good rule of thumb is to consider if _all_ teammates
were to use the same amount of resources and how that would affect
the experience for everyone else.
> as of march 2022, disk quotas will now be enforced.
> 1gb soft limit where you will get reminded.
> 3gb hard limit where you will no longer be able to write more files.
admins regularly take a look at disk usage in `/home` and may
request that you delete large or unnecessary files.
please check with admins if you expect to use a lot of disk
for a short period of time so we can adjust your quota temporarily.
## handy tools
### quota
run `quota` to see your current usage and grace period (if you're over).
add `-s` to print using friendlier units.
### du
`du` (short for `d`isk `u`sage) is the go-to tool.
@ -30,6 +56,7 @@ to see the disk usage of the current directory, run:
check the manpage for more information and additional switches
### ncdu
`ncdu` (short for `nc`urses `d`isk `u`sage) is extremely useful for visualizing
@ -44,6 +71,7 @@ space.
press `?` to see additional keybinds once you've started it up. you can change
the sort order, open a shell, and delete files without closing the program.
### df
`df` (short for `d`isk `f`ree) lists mounted disks with usage, free space,
@ -53,18 +81,3 @@ disk usage
don't forget to use `-h` to get human readable units.
## tilde.team guidelines
even though we have plenty of disk space to go around on tilde.team,
we request that you try to keep your usage below 1 gb.
a good rule of thumb is to consider if _all_ teammates
were to use the same amount of resources and how that would affect
the experience for everyone else.
admins occasionally take a look at disk usage in `/home` and may
request that you delete large or unnecessary files.
please check with admins if you expect to use a lot of disk
for a short period of time so we don't bother you excessively.

View File

@ -7,15 +7,12 @@ category:
- main
---
# tilde.team domains
because [~ben](https://tilde.team/~ben/) hoards domain names, the following domains are associated with tilde.team and/or the tildeverse somehow:
* [fuckup.club](http://fuckup.club) - alias
* [nand.sh](https://nand.sh/) - alias
* [ttm.sh](https://ttm.sh/) - url shortener
* [tild3.org](https://tild3.org/) - alias
* [tildə.net](https://tildə.net/) - alias
* [tilde.chat](https://tilde.chat/) - irc net
* [tilde.life](http://tilde.life/) - redirect
* [tilde.news](https://tilde.news/) - lobste.rs clone

View File

@ -7,8 +7,6 @@ category:
- main
---
# email
tilde.team has a mailserver. here are your options:
### clients and connection settings

View File

@ -7,8 +7,6 @@ category:
- main
---
# finger
the [finger protocol](https://en.wikipedia.org/wiki/Finger_protocol) was created way back in 1977. its purpose was to display information about the queried user of a system, or all the users of a system.
it fell out of use in the 1990s due to various security concerns. the old finger daemons were buggy and easily exploited, while the information garnered from a query could be used for social engineering attacks. nowadays, the finger daemons have been refined and are no longer so vulnerable.

View File

@ -7,8 +7,6 @@ category:
- main
---
# gemini
tilde.team offers gemini hosting!
see our homepage for a list of users.

View File

@ -7,8 +7,6 @@ category:
- main
---
# getting started
this guide is not very thorough or complete. if you want something nicer, try [our cli for beginners article](cli-for-beginners).
---
@ -68,7 +66,8 @@ Type: `ls` to see where you are. You should see a directory called "public_html"
Type: `cd public_html` to move into that folder. (cd stands for change directory.)
Type: `ls` to see where you are. You should see your index.php file
Editing your index.php file
## Editing your index.php file
Type: `nano index.php` to open your index.php file and begin editing

View File

@ -7,14 +7,12 @@ category:
- main
---
# tilde.team goals and roadmap
[living draft of this document](https://pad.tilde.team/code/#/2/code/edit/RFBUqXec+9+MlZzx4mnhU3ps/)
[living draft of this document](https://pad.tildeverse.org/code/#/2/code/edit/RFBUqXec+9+MlZzx4mnhU3ps/)
these ideas are partly about building one system (in this case, tilde.team) but also about supporting a
broader ecosystem of inter-connected systems.
broader ecosystem of interconnected systems.
1. develop a clear system identity as an alternative social environment for the techncially-inclined;
1. develop a clear system identity as an alternative social environment for the technically-inclined;
specifically, serving as a non-commercial alternative to the mainstream, corporate-owned media and social media.
the dual points of (1) an alternative social/communications medium and (2) technically inclined user base are
important because, together, they put the users in the role of protecting (and enjoying!) the tools of

View File

@ -7,8 +7,6 @@ category:
- main
---
# gopher
the [gopher protocol](http://en.wikipedia.org/wiki/Gopher_(protocol)) was
created in 1991. it didn't survive long due to [draconic licensing](
http://www.nic.funet.fi/pub/vms/networking/gopher/gopher-software-licensing-policy.ancient).

View File

@ -7,12 +7,10 @@ category:
- main
---
# [tildeverse irc](https://tilde.chat)
hi teammates!
the tilde.chat irc network is available publicly at irc.tilde.chat:6697 (with ssl) as a round robin of
[available nodes](https://tilde.chat/wiki/?page=servers).
[available nodes](https://tilde.chat/wiki/servers).
to connect directly to our node, you can use the following addresses:
- localhost port 6667 when at your shell or via ssh port-forwarding
@ -53,7 +51,7 @@ location (`~/.weechat/relay_socket`). to get started using it, follow these step
- port 443
- your relay password
* weechat-android:
* [weechat-android](https://github.com/ubergeek42/weechat-android) and [lith](https://github.com/lithapp/lith):
- connection type: websocket (ssl)
- websocket path: weechat
- relay host: $user.ttm.sh
@ -66,14 +64,14 @@ location (`~/.weechat/relay_socket`). to get started using it, follow these step
## znc
the system znc authenticates using your shell password (same as with email and
[nextcloud](https://cloud.tilde.team). reach out to an admin on irc or send an
email to [sudoers@tilde.team](mailto:sudoers@tilde.team).
[nextcloud](https://cloud.tilde.team)). reach out to an admin on irc or
email [sudoers@tilde.team](mailto:sudoers@tilde.team).
the webadmin interface is available at [znc.tilde.team](https://znc.tilde.team).
the web interface is available at [znc.tilde.team](https://znc.tilde.team).
client connections are on port 6699 with ssl.
you can add network connections (up to 10) via webadmin or via a direct client
you can add network connections (up to 10) via web or via a direct client
connection.
see the [znc wiki](https://wiki.znc.in/Connecting_to_ZNC) for more information.

View File

@ -7,8 +7,6 @@ category: education
- main
---
# Learning Opportunities
## Coding Challenge Websites
There are many coding challenge websites on the Internet today. below are a few of them. the tilde.team shell is a great place to work on solutions to the challenges.

View File

@ -2,19 +2,18 @@
author: ~evn
published: true
title: lua
description: set up tools to write lua code
category:
- main
---
# Lua
This page will explain how to set up your tilde.team account for
[Lua](https://www.lua.org/) programming.
## Luarocks
[Luarocks](https://luarocks.org/) is a package manager for the Lua, similar to
Python's PIP, Perl's PPM, and other programming laguages' package mangers. To
Python's PIP, Perl's PPM, and other programming languages' package mangers. To
download and install a package from the Luarocks repository type the following
into a terminal:
`luarocks install [package-name] --local`
@ -25,7 +24,7 @@ rather than the default path of '/usr/local/', which tilde.team users do not
have write access to.
Lua uses the environment variables 'LUA_PATH' and 'LUA_CPATH' to find installed
packages. By default these paths do not include the paths that Luarocks installs
packages. By default, these paths do not include the paths that Luarocks installs
package to, so the Lua interpreter will not be able to find installed packages.
The `luarocks path` command can be used to modify the LUA_PATH and LUA_CPATH
environment variables to include the paths that Luarocks installs packages to.

View File

@ -1,14 +1,12 @@
---
author: ~erxeto
published: true
title: mailing lists
description: tildeverse mailing lists netiquette
title: mailing list netiquette
description: tildeverse mailing lists etiquette guide
category:
- main
---
# mailing lists netiquette
the tildeverse has now its own mailing list service. you can take a look at:
[lists.tildeverse.org](https://lists.tildeverse.org/)
@ -21,9 +19,9 @@ there.
some email clients have popularized email usage patterns which are considered
poor form on many mailing lists. please review some of our suggestions for
participating more smoothly in discussions on the tildeverse. this advice will
likely serve you well outside of the tildeverse as well.
likely serve you well outside the tildeverse as well.
if you have any troubles following this guides or don't know how to configure
if you have any troubles following these guides or don't know how to configure
your email client for this purpose, ask on irc (#meta or #team), you'll find
always somebody willing to help.

View File

@ -1,14 +1,12 @@
---
author: ~ben
published: true
title: manifesto
title: tilde.team manifesto
description: tilde.team manifesto
category:
- main
---
# tilde.team manifesto
> tilde.team is a shared system that provides an inclusive, non-commercial space
> for teaching, learning, practicing and enjoying the social medium of unix.

View File

@ -7,48 +7,49 @@ category:
- main
---
# other tildes
if you're starting a tilde and want to be added to this list, [open a PR :)](
https://tildegit.org/team/site/src/branch/master/wiki/pages/other-tildes.md)
| tilde name | description | where to join | notes |
| --- | --- | --- | ---|
| [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) | |
| [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) | |
| [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/) | |
| [salyut.one](https://salyut.one) | a new, freebsd based tilde ! we don't bite :) | [signup instructions](https://salyut.one/welcome.html) | |
| [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) | |
| [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.my.to](https://tilde.my.to) | If you're looking for a great tilde, to learn and play and also maybe break things, come check tilde.my.to out. | [signup request is via mail](https://tilde.my.to) | |
| [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) | |
| [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 Arch Linux. 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) | |
also see the [known tildes](https://tilde.wiki/wiki/Known_tildes) section on tilde.wiki.
| tilde name | description | where to join | notes |
|------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------|
| [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) | |
| [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) | |
| [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.my.to](https://tilde.my.to) | If you're looking for a great tilde, to learn and play and also maybe break things, come check tilde.my.to out. | [signup request is via mail](https://tilde.my.to) | |
| [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) | |
| [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

@ -7,8 +7,6 @@ category:
- main
---
# privacy policy
tilde.team takes privacy seriously and, as such, remains committed to being in
compliance with the GDPR, which took effect may 25, 2018.
@ -22,9 +20,8 @@ which may include mails to and from your tilde.team account.
## how long do we retain data?
your email address is retained only long enough to process your account
creation and notify you of that completion. IPs are retained for a maximum of
30 days.
your email address is retained for account recovery purposes.
IPs are retained for a maximum of 30 days.
## how can i request a copy of my data?

View File

@ -7,10 +7,7 @@ category:
- main
---
hosting public git repos
========================
Besides the [Gitea instance][1] of tildeverse, you could easily setup a
Besides the [Gitea instance][1] of tildeverse, you could easily set up a
read-only clone URL fetchable using git clone similar to this one:
```
@ -216,8 +213,8 @@ Note that the output will be empty if `my_repo` has no commits. In general, use
$ stagit-index repo_dir1 repo_dir2 ... > index.html
```
to generate index for multiple repositories. You should also copy over or
symlink some of the assets files in stagit's repository, such as `style.css`,
to generate index for multiple repositories. you should also copy over or
symlink some asset files in stagit's repository, such as `style.css`,
`logo.png`, etc. to
```
@ -293,7 +290,7 @@ $ git am < <patch>
```
See the [blog post][14] of Drew DeVault for using git with mutt, and check out
[aerc][15] if you want an modern alternative for mutt built from such workflow.
[aerc][15] if you want a modern alternative for mutt built from such workflow.
[1]: https://tildegit.org/
[2]: https://tilde.team/~kst/git/grm.tilde/file/README.html

View File

@ -7,8 +7,6 @@ category:
- main
---
# tilde.team services
i'll keep this wiki page updated with the services that we run and maintain :)
as a founding member of the [tildeverse](https://tildeverse.org), tilde.team hosts a number of services for the tildeverse to share.

View File

@ -7,8 +7,6 @@ category:
- main
---
# spartan
tilde.team offers spartan hosting!
see our homepage for a list of users.

View File

@ -7,8 +7,6 @@ category:
- main
---
# ssh
_or, how to tell other computers to do cool things_
---
@ -28,12 +26,14 @@ use ssh.tilde.team to reach the secondary ip and use 80 and 443 for ssh.
so, for example, you can do:
```
ssh -p 443 user@ssh.tilde.team
ssh user@tilde.team # this uses port 22, which can be blocked on some networks
```
ssh -p 443 user@ssh.tilde.team
ssh user@tilde.team # this uses port 22, which can be blocked on some networks
tilde.team's ECDSA key fingerprint is SHA256:R3qNfKIF3IiXhKCbFX6rCKl73yzexi9Wodsow6XFres.
tilde.team's fingerprints are:
ECDSA: SHA256:R3qNfKIF3IiXhKCbFX6rCKl73yzexi9Wodsow6XFres
ED25519: SHA256:FErDF9upMkSg/yzw0N7i2o971LT/Bocd1qrDDpE315I
RSA: SHA256:JR5oQPfC34ogd/SeIcMpaGR8BiBo4ciI5xWyBVCjj5o
the key fingerprints are in dns as sshfp records as well, which you can check against
by setting VerifyHostKeyDNS to yes in your `~/.ssh/config`.
@ -88,7 +88,7 @@ SSH supports a handful of types of cryptographic keys. The most used are [RSA](
RSA is the de-facto standard and is supported everywhere (just choose a big
enough key like 4096 bits to be secure). Ed25519 is designed to be faster and
smaller withouth sacrificing security, so is best suited for embedded devices
smaller without sacrificing security, so is best suited for embedded devices
or machines with low resources. It's supported on tilde (and really on any
modern system) but you may find older systems which do not support it.
@ -103,7 +103,7 @@ a password any time you used them (impractical) or use something like [ssh-agent
We don't have documentation for this [(yet)](https://tildegit.org/team/site/src/branch/master/wiki)
so either go with no password keys, or ask on IRC ([#team](https://web.tilde.chat/?join=team)) for help.
pick your fighter: [[mac](#mac)] | [[windows](#windows)] | [[linux](#linux)]
pick your fighter: [[mac](#mac)] | [[windows](#windows-10)] | [[linux](#linux)]
---
@ -288,4 +288,4 @@ where username is your username (~ben would use `ssh ben@tilde.team`)
---
this tutorial is based on and uses parts of [the tilde.club ssh primer](https://github.com/tildeclub/tilde.club/blob/master/docs/ssh.md) and [the tilde.town ssh guide](https://tilde.town/wiki/getting-started/ssh.html).
this tutorial is based on and uses parts of [the tilde.club ssh primer](https://github.com/tildeclub/tilde.club/blob/master/docs/ssh.md) and [the tilde.town ssh guide](https://tilde.town/wiki/getting-started/ssh.html).

View File

@ -7,8 +7,6 @@ category:
- main
---
# stuff to do while you're here
- `chat` - opens weechat connected to #meta and #team
- `cat $(which chat)` to see what defaults we're setting
- `mutt` - command line mail client for @tilde.team mail
@ -16,7 +14,6 @@ category:
- `bbj` - command line bbs (bulletin board and jelly)
- source here: [gitea mirror](https://tildegit.org/bbj/bbj) and [github fork](https://github.com/bbj-dev/bbj)
- `who` - see who else is connected right now
- `webirc` - register for access to our [thelounge webchat client](https://irc.tilde.team)
- `pb` - [pastebin](https://paste.tilde.team)
- `talk` - old school tty-sharing tool: see `man talk` for more info
- `finger` - get info on other users (local and remote on other tildeverse member servers)

View File

@ -2,30 +2,27 @@
author: ~cmccabe
published: true
title: teaching and learning on tilde.team
description:
description: how to find and get help learning
category:
- main
- main
---
# teaching and learning on tilde.team
**tl;dr** bring project ideas. bring your skills. learn by doing.
help others who are trying to learn. share what you're working on.
## 1. start learning, start teaching!
an important goal of tilde.team is to help you learn linux, programming, and
general computing skills through the command line interface. we think it is
important that this happens in a fun social environment. for this reason we
general computing skills through the command line interface. we think it is
important that this happens in a fun social environment. for this reason we
encourage users to meet each other, to collaborate, to ask questions when
you're stuck on something, and to offer help to others who are learning.
stuck for ideas? or looking for a bigger challenge? tilde.team also maintains
a [list of internship opportunities and code challenge websites](
https://tilde.team/wiki/learning-opportunities). this list is a new
feature of the site, so please contribute by letting us know (by email,
IRC or pull request) of any other opportunities you know of.
https://tilde.team/wiki/learning-opportunities). this list is a new
feature of the site, so please contribute by letting us know (by email,
IRC or pull request) of any other opportunities you know of.
## 2. learning resources

View File

@ -7,6 +7,4 @@ category:
- main
---
# my-new-page
wiki content here!

View File

@ -7,8 +7,6 @@ category:
- main
---
# tildeblogs with [bashblog](https://tildegit.org/team/bashblog)
bashblog is available system-wide as `bb`
tildeblogs can be built with [bashblog](https://tildegit.org/team/bashblog)

View File

@ -7,9 +7,6 @@ category:
- main
---
# tildepages
because [~ben](https://tilde.team/~ben/) hoards domain names, you can
use the following domains with your tildepage:
@ -19,7 +16,6 @@ see also the [master list of domains](domains).
* nand.sh
* ttm.sh
* tild3.org
* tildə.net
* tilde.ninja
* tilde.site
* tilde.team

View File

@ -7,8 +7,6 @@ category:
- main
---
# terms of service
tilde.team relies on the common courtesy and consideration of users to make
its services fair for everyone. the following offences will result in a service ban:

View File

@ -7,9 +7,7 @@ category:
- main
---
# FEELS MANUAL
`ttbp` stands for "tilde.team blogging platform", the original working name for
`ttbp` stands for "tilde.town blogging platform", the original working name for
this project. the complete codebase is available on
[tildegit](https://tildegit.org/team/ttbp).
@ -91,7 +89,7 @@ designed to give individuals control over their content.
when you start your ttbp, you have the option of publishing or not publishing
your blog.
if you opt to not publish, your entires will never be accessible from outside of
if you opt to not publish, your entries will never be accessible from outside
the tilde.team network; other tilde.team users will still be able to read your
entries through the ttbp interface, or by directly accessing your
`~/.ttbp/entries` directory.

View File

@ -7,8 +7,6 @@ category:
- main
---
# daemonize all the things
so you've got a process that you want to keep running. you might have it in a
tmux or screen session. let's use systemd user units to manage it!

View File

@ -7,8 +7,6 @@ category:
- main
---
# xmpp
[![](https://compliance.conversations.im/badge/tilde.team)](
https://compliance.conversations.im/server/tilde.team/)
@ -26,7 +24,7 @@ recommended clients are:
if you have a recommended client for mac platforms, feel free to discuss
and add it to this list.
we have a tilde.team MUC (multi user chat) at [team@conference.tilde.team](
we have a tilde.team MUC (multi-user chat) at [team@conference.tilde.team](
xmpp:team@conference.tilde.team?join), feel free to stop by!
## biboumi