# Engineer у терміналі

Цей сайт відповідає на чотирьох протоколах, з однієї теки файлів на одному
сервері. Якщо ви живете в терміналі, відкривати браузер, щоб його читати, вам
не доведеться ніколи.

Усе нижче працює сьогодні проти живого сайту. Ніщо з цього не потребує
облікового запису, ключа чи клієнта, який треба самому збирати.

## Кожна сторінка існує і як Markdown

Кожна сторінка публікується двічі: як HTML і як чистий Markdown поруч.
Попросіть будь-яку з них.

```sh
# Близнюк, на ім'я
curl -sL https://engineer.company/uk/about/index.md

# Або попросіть сервер і дайте йому обрати
curl -sL -H 'Accept: text/markdown' https://engineer.company/uk/about/
```

Передайте це тому, що малює Markdown для вас:

```sh
curl -sL https://engineer.company/uk/portfolio/index.md | glow -
curl -sL https://engineer.company/uk/what-it-costs/index.md | bat -l md
```

Усі мови працюють однаково — `/about/index.md`, `/da/about/index.md`.

## Капсула Gemini

Gemini — невеликий протокол із тим самим відчуттям речей, що й цей сайт:
текстові документи поверх TLS, без скриптів, без cookie, без нічого, чим можна
за вами стежити. Кожна сторінка цього сайту існує і як
[gemtext](/uk/glossary/#gemtext).

```text
gemini://engineer.company/
```

Її читає будь-який клієнт Gemini — **Amfora**, **Lagrange** чи **Bombadillo** у
терміналі, **Castor** або **Kristall** у вікні. На Mac чи машині з Debian:

```sh
brew install amfora && amfora gemini://engineer.company/
```

## Нора Gopher

Gopher — протокол меню з 1991 року: чистий TCP, без шифрування, без скриптів, —
і сайт там є набором меню, по одному на теку.

```text
gopher://engineer.company/
```

**Lynx** говорить ним без налаштувань, так само як **Bombadillo** і
**gopher-cli**. Або попросіть селектор вручну — це весь протокол в одному
рядку:

```sh
printf '/uk/contact\r\n' | nc engineer.company 70
```

## Onion-сервіс

Той самий сайт через [Tor](/uk/glossary/#tor), для читача, чия мережа не
повинна знати, що він читає:

```text
http://engineer2ezpeji52ipphljcflzyhetvy5r6tnqubtq45nzlxxv6rsqd.onion/
```

Це навмисне звичайний `http://`: адреса [onion](/uk/glossary/#onion) — це
власний відкритий ключ сервісу, тож канал автентифіковано й зашифровано ще до
того, як прозвучить перший HTTP, а сертифікат лише вдруге доводив би ім'я, яке
адреса вже довела. Якщо Tor працює локально, `curl` дістається туди напряму:

```sh
ONION=engineer2ezpeji52ipphljcflzyhetvy5r6tnqubtq45nzlxxv6rsqd.onion
curl -sL --socks5-hostname 127.0.0.1:9050 "http://$ONION/uk/index.md"
```

## Читати роботу як дані

Портфоліо публікується у трьох форматах, і кожен несе повний текст кожного
запису, а не анонс:

```sh
curl -s https://engineer.company/uk/feed.json | jq -r '.items[] | .title'
curl -s https://engineer.company/uk/index.xml     # RSS
curl -s https://engineer.company/uk/atom.xml      # Atom
```

А ще сайт веде мапу самого себе для всього, що читає, а не повзає:

```sh
curl -s https://engineer.company/llms.txt
curl -s https://engineer.company/humans.txt
curl -s https://engineer.company/.well-known/security.txt
```

## Вихідний код, через SSH

Власний код сайту лежить на нашому git-сервері, а git говорить SSH:

```sh
ssh git.engineer.company
```

Це приведе вас до списку репозиторіїв, які ми публікуємо. Вебвигляд того самого
— на [git.engineer.company](https://git.engineer.company/).

## Навіщо все це

Одне розгортання пише одну теку, і чотири вхідні двері її читають — тож жодні з
них не можуть розійтися між собою і жодні не є окремо підтримуваною версією
сайту. Сторінка, яка добре читається як gemtext, — це сторінка, чия структура
справжня, а не намальована, і саме ця властивість робить її добре читаною у
зчитувачі екрана й правильно надрукованою на папері.
[Сторінка подяк](/uk/credits/) називає демонів за кожним із цих входів.

Ми будуємо речі, які добре читаються без браузера, бо це зазвичай ознака того,
що їх збудовано як слід, —
[попросіть нас збудувати таке вам](/uk/contact/) *(пайпи, коди виходу і все таке)*.

<https://engineer.company/uk/cli/>
