Building Bluesky comments for my blog 🔥 Горячее
Ненавижу Disqus.
Годы вела блог без нормальных комментариев — подходящего решения не находилось.
- Disqus: медленный, тяжёлый, трекает, ничего не контролируешь, тормозит страницы.
- Самостоятельный хостинг: по сути свой мини-соцсервис — пользователи, спам, модерация, БД, задержки.
- GitHub Issues: годится для дев-блогов, но костыль и требует аккаунт GitHub.
- Без комментариев: чисто, но теряются беседы и открытия.
Я давно в Bluesky: комьюнити ок, API вменяемый, децентрализация, люди делают блог-посты в протоколе и комментарии через Bluesky. Почему бы не так же?
Почему Bluesky уместен
- Нет своей инфраструктуры: без БД, аутентификации и модерации — это уже в Bluesky.
- Более богатый контент: изображения, ссылки, треды.
- Реальные профили и переносимость — больше ответственности, меньше троллинга.
- Кроссплатформенность: обсуждения видны и в соцсети, и в блоге.
- Я владею постом, комментаторы — своими реплаями.
Процесс: публикую пост, шарю в Bluesky, добавляю AT URI — ответы на тот пост становятся комментариями в блоге.
Компонент
AT Protocol: DID (did:plc:…/did:web:…), CID, AT URI (at://did…/app.bsky.feed.post/postid). Чтобы получить тред, достаточно вызвать getPostThread с нужным URI, без аутентификации.
Архитектура:
- главный компонент треда;
- компонент ответа с метаданными и ссылкой на оригинал;
- компонент встраиваний (изображения, превью ссылок). Простая и небольшая композиция.
Треды: вложенность произвольная; выбрала рекурсивный рендер с отступами и ограничением в 5 уровней — дальше обычно спор на двоих.
Обогащения: изображения через CDN, часто по несколько — адаптивная сетка + модалка; внешние ссылки — карточки; неизвестные типы — аккуратный фолбэк.
Интеграция с Astro: React + client:load, передаю did и postCid из фронтматтера: bsky: did: "my-bluesky-did" postCid: "the-post-id"
Что узнала
- TypeScript помогает: пакеты с типами (@atcute/client) сняли кучу багов и ускорили разработку.
- Прогрессивное улучшение: комментарии — доп. слой; без JS или при падении API пост остаётся читабельным.
Комментарии (132)
- Автор статьи предлагает использовать Bluesky как систему комментариев для блога, что вызвало оживлённое обсуждение.
- Поддерживающие отмечают простоту интеграции и «открытость» AT-протокола, а критики — зависимость от VC-финансирования, риск lock-in и необходимость иметь аккаунт Bluesky.
- Возникают вопросы модерации спама и удаления оскорблений, а также планы на случай бана или банкротства платформы.
- Альтернативы: Mastodon/ActivityPub, Matrix/Cactus.chat, GitHub Issues, Webmention, «письма редактору» по e-mail или вовсе отказ от комментариев.
- Некоторые участники подчёркивают важность «Can I walk out?» — возможности забрать контент и уйти, если сервис исчезнет.
The Bluesky Dictionary
- время — 4732 использ.; последнее появл. 08/07/2025 08:49
- для — 4751; последнее 08/07/2025 08:49
- медитация — 509; последнее 08/07/2025 08:49
- неделя — 4017; последнее 08/07/2025 08:49
- война — 3974; последнее 08/07/2025 08:49
- трамп — 4711; последнее 08/07/2025 08:49
- ии — 4565; последнее 08/07/2025 08:49
- после — 4649; последнее 08/07/2025 08:49
- просто — 4748; последнее 08/07/2025 08:49
- последний — 4454; последнее 08/07/2025 08:49
- как — 4747; последнее 08/07/2025 08:49
- который — 4514; последнее 08/07/2025 08:49
- о — 4745; последнее 08/07/2025 08:49
- the — 4757; последнее 08/07/2025 08:49
- торговля — 2083; последнее 08/07/2025 08:49
- эффект — 1653; последнее 08/07/2025 08:49
- президент — 3584; последнее 08/07/2025 08:49
- тарифы — 2665; последнее 08/07/2025 08:49
- io — 2480; последнее 08/07/2025 08:49
- расширяется — 95; последнее 08/07/2025 08:49
- пошлины — 639; последнее 08/07/2025 08:49
- полночь — 1772; последнее 08/07/2025 08:49
- ошеломляющий — 439; последнее 08/07/2025 08:49
- страны — 4866; последнее 08/07/2025 08:49
- взяли — 8866; последнее 08/07/2025 08:49
- начать — 2796; последнее 08/07/2025 08:49
- объявил — 3688; последнее 08/07/2025 08:49
- мужчина — 4577; последнее 08/07/2025 08:49
- снег — 958; последнее 08/07/2025 08:49
- анан — 76; последнее 08/07/2025 08:49
- снеговик — 202; последнее 08/07/2025 08:49
- развлечения — 3310; последнее 08/07/2025 08:49
- ich — 3267; последнее 08/07/2025 08:49
- die — 4390; последнее 08/07/2025 08:49
- mein — 2276; последнее 08/07/2025 08:49
- мастурбация — 712; последнее 08/07/2025 08:49
- sind — 5177; последнее 08/07/2025 08:49
- сила — 3583; последнее 08/07/2025 08:49
- сам — 2763; последнее 08/07/2025 08:49
- друзья — 3607; последнее 08/07/2025 08:49
- гигант — 1239; последнее 08/07/2025 08:49
- вместе — 3278; последнее 08/07/2025 08:49
- месяцы — 2845; последнее 08/07/2025 08:49
- вещи — 4425; последнее 08/07/2025 08:49
- смотреть — 4485; последнее 08/07/2025 08:49
- демократия — 2165; последнее 08/07/2025 08:49
- однажды — 3766; последнее 08/07/2025 08:49
- те — 4467; последнее 08/07/2025 08:49
- что-либо — 4208; последнее 08/07/2025 08:49
- делаю — 4378; последнее 08/07/2025 08:49
Комментарии (53)
- Обсуждают сайт, который сканирует посты Bluesky и отмечает слова из словаря, которых ещё не встречал; часть ложных срабатываний связана с языком (французские посты, имена собственные вроде “Wheal”, названия групп типа “eluvium”).
- Некоторые удивлены, что среди “невиденных” попадаются вполне обычные английские слова, а также что сайт у некоторых показывает 0 из‑за блокировки скриптов или задержки загрузки.
- Автор сайта пояснил: бэкенд простой — SQLite с таблицами для статистики и слов; не ожидал популярности.
- Технически обсуждают использование Jetstream вместо «firehose», способы токенизации и структуры данных: хеш‑таблицы/множества, trie, оценка памяти ~25 МБ на 250–275k слов.
- Замечают, что проверено лишь ~4.9 млн постов (≈0.28% из 1.7 млрд), поэтому покрытие ограничено; метаданные о языке в Bluesky могут быть некорректны, что ухудшает точность.
- Есть опасения о пропускной способности и стоимости «firehose», но Jetstream считается достаточно легковесным; у части пользователей всё работает в Firefox без аккаунта.
- Появляются шутки и критика: кто‑то просто постит словарь, смешные “двойные находки”, замечания о дизайне, а также сомнения к другим проектам автора (ошибочная классификация “right‑leaning”).