Хабрахабр

Typegram — дзэн блог платформа

Решил показать вам движок, который я потихоньку разрабатываю. Привет, Хабр. Это блог платформа, по возможностям очень близкая к медиум и подобным проектам.

Базовые возможности:

Публикации, комментарии, избранное, подписки, уведомления, рейтинги, голосования.

Минималистичный, текстовый дизайн:

Игровая площадка

Есть игровая площадка, на которой можно потрогать платформу, без ущерба для мирных жителей: test site.

Локализация

Те разделение по сути реализовано на уровне контента. Сервис автоматически разделяет пользователей по языку, направляя, русскоязычных пользователей на русский субдомен, а англоязычных — на английский. На каждом субдомене своя база данных и свои пользователи, регистрация не сквозная (на каждом субдомене своя экосистема, жизнь зародилась не везде, например). Правда интерфейс доступен только английский.

Оптимизация

Все загружаемые изображения более 100 килобайт, жмутся методом Аткинсона в черно белые превью, с возможностью просмотра оригинала, например:
Для сервиса характерна очень агрессивная оптимизация.

Сайт остается быстрым и удобным на любой платформе в том числе с отключенным яваскрипт. Не используются тяжеловесные скрипты и стили, а также внешние скрипты, следящие за поведением пользователей. В перспективе хочется достичь скорости загрузки телеграм-каналов.

Подписки

При нажатии на данную кнопку, открываются непрочитанные публикации, в хронологическом порядке, как в телеграм каналах: На главной странице отображется список авторов, на которых подписан пользователь, и количество новых публикаций для каждого автора.

Уведомления

Также на главной странице отображаются уведомления о упоминаниях в комментариях, с возможностью перехода:

Редактор

Ведутся работы по обеспечению доступности сайта для слепых и слабовидящих пользователей.
Редактор поддерживает как маркдаун, так и визуальное форматирование текста, с возможностью превью, разворачивания на весь экран и тп.

Система рейтинга

На главной странице есть три секции с странными наименованиями:
top mid btm

Думаю, что рейтинги это больше про игровые механики/мотивации чем нечто серьезно адекватное. Да, я люблю доту (мою собаку зовут Пудж, например). Если сольют мид — провалятся на дно. Все статьи идут фармить рейтинг на мид) Как нафармят — попадут в топ. Простите за такое вольное манипулирование такой святой для многих вещью как рейтинг. Заветная формула бережно украдена с ycombinator (новым статьям необходимо меньше голосов для попадания в топ, чем старым). Только рейтинг статей. Впрочем рейтинга авторов, как такового, на данный момент нет.

Рейтинг статьи.

+ 5: 1 -

Он может потратить их как на плюсы, так и на минусы. У каждого пользователя есть 10 голосов в сутки. Как на одну статью все 10 голосов, так и распределить их как ему хочется.
Автор статьи видит как негативные, так и позитивные реакции, раздельно.

Рейтинг комментариев

Не знаю почему, не спрашивайте. Комментарии оцениваются только позитивно. За комментарий можно отдать лишь один голос. Хотелось дать больше возможностей для сбора фидбека с разными механиками. Один комментарий — один голос. У каждого пользователя — 10 голосов на комментарии в сутки. Возможно скоро это изменится. Вроде прозрачно, но это не точно.

Теги

Пока только один (меня почему то пугают огромные облака тегов на все случаи жизни). Каждая статья может иметь глобальный тег.

Открытость

На гитхабе доступна инструкция по сборке и разворачиванию собственной версии: github Исходный код проекта открыт.

Ограничения

К сожалению, примерно раз в неделю прилетают письма счастья от Роскомнадзора/ Хостинг провайдера. Это не первый проект с UGC. Кнопка бан — появилось одной их первых( Почему то многие как то странно трактуют значение слова опенсурс. Поэтому я довольно нервно реагирую на детское порно и прочий нелегальный контент. Есть ограничения и другого рода — пользователи ограничены по частоте публикации комментариев и постов, есть лимиты на регистрации. Ну и срабатывают ассоциации с телеграм/телеграф. В комментарии или в посте должно быть более 10 символов. Например, нельзя оставлять новые комментарии чаще чем раз в минуту. Некоторых это буквально бесит. Этот пул ограничений появился не на пустом месте. Но вот так вот(

Что внутри

Сейчас хостится на обычном выделенном сервере, с медленным hdd и под высокой нагрузкой пока не был. Проект написан на golang, без внешних зависимостей. Не хотелось бы забегать вперед и рассказывать, какая прекрасная база данных лежит в основе, так как сперва надо убедиться что она действительно прекрасна)

Отказ от ответственности

Многие вещи реализованы не так, как у всех. Многое еще не завершено. Что то вам покажется неправильным. Над чем то я экспериментирую. Но если проект показался вам интересным — попробуйте: github

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть