Toster Comfort

Материал из Викиреальностя
Перейти к: навигация, поиск

Toster Comfort — свободное и открытое ПО, кросс-платформенное расширение для браузеров, предназначенное для увеличения комфорта во время использования сайтов toster.ru (вопросы и ответы на тему ИТ) и habr.com (статьи на тему ИТ).

Основная идея расширения была в том, чтобы добавить на Toster в ленту вопросов дополнительную информацию о пользователях, чтобы не нужно было каждый раз заходить в профиль и анализировать это вручную, а именно о том, утруждают ли себя пользователи помечать правильные ответы решениями. Если нет, то негласно считается, что такой пользователь не уважает отвечающих, и на него лучше не тратить своё время.

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

[править] Принцип работы

Расширение внедряет файлы toster.js и habr.js (контент скрипты) в соответствующие сайты. Каждый такой файл вносит небольшие изменения в интерфейс сайта и немного меняет его работу. В настройках расширения можно включить или отключить любое улучшение, поэтому у разных пользователей сайт может выглядеть по-разному.

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

Одной из продвинутых возможностей является произвольная раскраска вопросов цветом или их сокрытие на основе гибких фильтров. Каждое условие пишется на Си-подобном языке, поскольку ресурс предназначен для ИТ-специалистов, но для простых людей тоже нет особых сложностей. Подробнее фильтры описаны на вики расширения.

Начиная с версии 0.7, добавлены браузерные push-уведомления. Их нужно отдельно включить в настройках. Правда, работают они только при открытой вкладке сайта. Здесь тоже работают правила с логическими условиями на Си-подобном языке.

Хранение настроек и кэша осуществляется в localStorage, то есть в самом браузере. Если браузер будет удалён, или расширение будет удалено, то вместе с ним потеряется весь кэш, настройки и информация об отслеживаемых вопросах. У расширения нет своего бэкенда или синхронизации с облаком.