Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В конце 90-х почти каждый житель Сети стремился завести личный сайт или хотя бы страничку на бесплатном хостинге. Где ещё выложить резюме, опубликовать фотографии, новые статьи? Какой URL напечатать на визитке? Проводились даже всероссийские конкурсы на лучшую домашнюю страницу.
Потом выросли соцсети типа ЖЖ, «Одноклассников», «ВКонтакте» — и личные странички сошли на нет. Кто теперь вспомнит о тех бесплатных хостингах, которые рекламировались на каждом углу?
Но сейчас история делает новый виток — и персональные сайты опять входят в моду, только на современных технологиях.
Зачем нужен личный сайт
Корпорации превратили современный интернет в сладкий сироп, который привлекает людей через стимуляцию базовой системы удовольствия и вознаграждения. Люди здесь ходят по проложенным маршрутам, нажимают на нужные кнопки и смотрят рекомендованные видео. Индивидуальность ограничена заданными рамками.
Личные сайты — попытка вернуть настоящие, реальные человеческие отношения и коммуникации. Вместо воображаемых «друзей» в соцсетях, которые ставят вам лайки.
Кроме фундаментальной задачи по трансформации веба, личные сайты решают несколько практических задач: от ведения дневника до сохранения закладок и медиаархива.
▍ 1. Сохранение закладок
Если сохранять букмарки в браузере, есть риск их потерять. На личном сайте они уже не пропадут. Более того, мы получаем полезные отзывы от читателей, если появилась лучшая замена указанным инструментам. И комментарии по поводу остальных закладок.
Раньше были популярны сайты для обмена закладками, такие как Digg. Ведь это очень классно: покопаться в тысячах закладок своих друзей или коллег. Наверняка найдёте что-то интересное. Собственно, по такой логике и был создан Reddit, тоже сайт для публикации ссылок (с голосованием).
Пример закладок на личном сайте
▍ 2. Сохранение RSS-фидов
Как и закладки, коллекцию своих RSS-фидов тоже удобно сохранить на будущее. Этот список можно импортировать в любой RSS-ридер, тут же на своём сайте можно его редактировать и пополнять при необходимости. Есть удобные RSS-ридеры для самохостинга, такие как TinyTinyRSS и FreshRSS, а также ряд облачных решений.
RSS-ридер на самохостинге
У каждого популярного ресурса в интернете есть фид. Вот небольшой список для примера:
Добавьте
.rss
в конце URL:- Главная страница: https://reddit.com/.rss
- Подреддит:
- reddit.com/r/programming.rss
- reddit.com/r/LifeProTips/top.rss
- Пользователь: reddit.com/u/spez.rss
- Несколько подреддитов:
- reddit.com/user/reddit/m/admin_faves.rss
- reddit.com/r/programming+javascript+unixporn.rss
▍ YouTube
- Канал: youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw
- Плейлист: youtube.com/feeds/videos.xml?playlist_id=PL3A5849BDE0581B19
▍ GitHub
- Релизы: github.com/3b1b/manim/releases.atom
- Коммиты: github.com/3b1b/manim/commits/master.atom
- Теги: github.com/3b1b/manim/tags.atom
▍ GitLab
- Активность: gitlab.com/inkscape/inkscape.atom
- Коммиты: gitlab.com/inkscape/inkscape/-/commits/master?format=atom
- Теги: gitlab.com/inkscape/inkscape/-/tags/master?format=atom
- Задачи: gitlab.com/inkscape/inkscape/-/issues.atom?state=opened
▍ Stack Overflow
- Тег(и):
- stackoverflow.com/feeds/tag?tagnames=haskell&sort=newest
- stackoverflow.com/feeds/tag?tagnames=haskell+java&sort=newest
Twitter закрыл официальные фиды в 2013 году. Но можно использовать сторонний фронтенд nitter.net.
- Пользователь: nitter.net/xkcd/rss
▍ Medium
- Пользователь: medium.com/feed/@Medium
- Тег: medium.com/feed/tag/programming
Специальные скраперы (1, 2, 3) сделают фид из любой страницы.
Есть ещё сервис Kill the Newsletter!, который конвертирует почтовые рассылки в RSS, но это уже для самых больших фанатов.
▍ 3. Дневник и блог
Личный блог — это публичный дневник человека. А ценность дневника объяснит любой психотерапевт. Записи нужны для тренировки памяти, упорядочения мыслей, повышения качества сна, уверенности в себе, хорошего настроения, общего умиротворения и радости от жизни. Ведение дневника входит в программу реабилитации после психологических расстройств, алкогольной и наркотической зависимости.
Ведение дневника реально меняет человека. Это мощное терапевтическое средство.
Конечно, настоящий дневник не должен быть публичным, потому что туда человек изливает сокровенные мысли, чувства, сомнения и тревоги, записывая в том числе некоторые интимные события. Но практика именно публичных размышлений с обратной связью от читателей как ничто другое закаляет характер и наводит порядок в голове.
Полная свобода публиковать что хочешь — освобождает.
Любые записи из личного можно спокойно дублировать на Хабр, потому что здесь пару лет назад разрешили кросспостинг.
▍ 4. Медиаархив
Люди публикуют сотни фотографий и видеороликов в соцсетях, но забыли, зачем создавались такие сервисы в первую очередь. Все эти фотографии и видео призваны дополнять личную историю человека, дополнять его дневник и биографию. То есть это банально часть личного дневника, открытая для публики.
Личный сайт — подходящее место для публикации персональных фотографий и видеороликов, которыми мы хотим поделиться с миром. Если основная масса фотографий не предназначена для посторонних глаз, то для друзей и родственников можно сделать отдельный запароленный раздел.
▍ Другие задачи
- Деловое резюме для работодателя и клиентов.
- Изучение веб-разработки на практических задачах (например, первый таск: соскрапить свои статьи с Хабра и выложить их на своём сайте).
- Гарантия сохранности и доступности контента (фото, тексты, видео) на долгое время — на сколько сами захотите.
Движки для личных сайтов
Ниже приводим небольшой список движков для личных сайтов и блогерских платформ, которые подходят для создания личных сайтов в минималистичном стиле.
- Генераторы статических сайтов, например:
- Jekyll (Liquid, Ruby);
- Hugo: пожалуй, самый популярный опенсорсный генератор статических сайтов. Отличается высокой скоростью и гибкостью. Есть легковесные темы вроде Congo.
- Jekyll (Liquid, Ruby);
- Блогерские движки в минималистичном стиле:
- Bear Blog: генерация файлов HTML размером около 2,7 КБ без трекеров и скриптов (стили встроены в HTML, отдельные файлы CSS и JS отсутствуют).
- Smol.pub.
- Mataroa. Как у всех вышеперечисленных платформ, тут никакой рекламы, трекеров, внешней аналитики, JS-скриптов и куков. Поддерживается простой экспорт блога, ежемесячный автоматический экспорт по почте, экспорт в формат электронных книг, редирект на новый домен, хостинг картинок.
- Blot: конвертирует файлы из указанной папки в готовый веб-сайт, причём исходные файлы могут быть разных форматов, в том числе текстовые, документы Word, Google Docs или OpenOffice.
Шаблон портфолио на движке Blot
- Prose.sh: блогерская платформа для хакеров.
Посты для блога в разметке Markdown редактируются в любом текстовом редакторе и имеют такой вид:
# hello world! This is my first blog post. Check out some resources: - [pico.sh](https://pico.sh) - [lists.sh](https://lists.sh) - [antoniomika](https://antoniomika.me) - [erock.io](https://erock.io) Cya!
Добавление картинки:
--- title: hello world! --- ![profile pic](/profile.jpg)
Загрузка обновлённого текстового файла и изображения на сервер:
scp ~/blog/hello-world.md ~/blog/profile.jpg prose.sh:/
Подробнее о загрузке изображений см. imgs.sh, хостинг картинок для хакеров.
Публикация поста одной командой из консоли:
scp ~/blog/*.md prose.sh:/
Пример личного сайта на Prose.sh
Сайты пользователей публикуются по адресу имя_юзера.prose.sh, так что просьба не регистрировать имя www (оно уже занято).
- lists.sh: аналогичная блог-платформа для ведения списков. Как pastes.sh (хакерский аналог pastebin для публикации в интернете произвольных документов командой из консоли, что очень удобно) и prose.sh, платформа для списков входит в набор сервисов pico.
- Montaigne: автоматическая публикация блога из Apple Notes. При изменении заметок на ноутбуке или смартфоне он обновляется автоматически (пример сайта, документация).
- write.as
- txti.es
- telegra.ph
- txt.fyi
- verbatim.link
- www.pastery.net
- ix.io
- commentpara.de
- rwtxt.com
- distbin.com
- Bear Blog: генерация файлов HTML размером около 2,7 КБ без трекеров и скриптов (стили встроены в HTML, отдельные файлы CSS и JS отсутствуют).
Статический сайт — это просто набор файлов (или один файл), которые выдаёт по запросу простенький HTTP-сервер, работающий на своём или чужом железе.
Хостинг статического сайта: выбор вариантов
Есть бесконечное число вариантов для размещения статики: десятки бесплатных хостингов, а также бесплатные/платные облачные сервисы типа GitHub Pages, Cloudflare Pages (статический хостинг с серверным JavaScript-кодом, что добавляет в статику элементы динамического рендеринга), Netlify, Vercel, GitLab Pages, SourceHut Pages. Хотя некоторые специально избегают бесплатных вариантов из-за их ненадёжности. У таких сервисов любые гарантии и ответственность перед клиентами отсутствуют по определению. На такой случай нужно быть готовым к миграции в любой момент и хранить резервные копии контента.
Если размещать сайт на своём железе, можно посмотреть в сторону необычных HTTP-серверов, таких как kawipiko (создаёт и кэширует все возможные HTTP-ответы для повышения скорости отклика сервера и лучшей многопоточности, см. демо) или переносимый веб-сервер Redbean в одном кросс-платформенном пакете вместе с содержимым сайта. То есть сервер и сайт запакованы в один бинарник, который запускается на любой платформе.
Есть ещё сотни простых стандартных веб-серверов для разных платформ и на разных языках программирования. Например, фанат Rust может выбрать что-то вроде miniserve или static-web-server, а поклонник Go — например, goStatic. Или HTTPS-комбайн Caddy со встроенными сертификатами Let's Encrypt.
Другие простые HTTP-серверы под Linux: darkhttpd, webfs, mini_httpd, thttpd или любой другой из списка крутых программ на suckless.org.
С хостингом статичного сайта нет стандартного варианта, тут каждый выбирает на свой вкус, где и как. Казалось бы, сайт простенький. Но на своём сервере приходится решать много технических вопросов с CDN, DNS, TLS и проч., так что в реальности получается классика по Паретто:
- 80% времени уходит на решение технических вопросов с хостингом;
- 20% на создание самого сайта (написание собственно статей).
История всегда повторяется
Всё новое — это хорошо забытое старое. А история развивается по спирали. Смотришь вокруг — и видишь, что всё повторяется снова и снова. Например, Telegram выкатил платную подписку со «статусами», в которых человек может указать, чем он занимается в данный момент. А это же старые добрые статусы из аськи! Они вернулись в новом виде. И люди реально меняют в платном телеграме свои статусы: «За рулём», «Работаю», «В тренажёрке», «Сплю». Словно дежавю из прошлого века…
То же самое с личными сайтами. Люди уходят из раскрученных соцсетей. Например, в Mastodon (свободная альтернатива Twitter) сейчас рекордный наплыв юзеров. Все заводят личные инстансы и персональные серверы, а личный сайт на своём сервере — снова признак самодостаточного человека, который прочно стоит на ногах, не зависит от внешних факторов — санкций, блокировок и любых чихов каких-то компаний, государств или прочих абстрактных сущностей. Он независим в своём цифровом пространстве.
Примеры личных сайтов
Некоторые личные сайты в разных стилях:
- https://aryaboudaie.com
- https://emilydelacruz.com
- https://aibhleog.github.io/home.html
- http://worrydream.com
- https://rafa.design
- https://blog.nymhq.com
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх