Так уже склалося, що в СНД досить популярний російський Q&A ресурс з ІТ тематики. тостер. Однак чогось йому не вистачало, коли я почав з ним знайомитися. Це і вилилося в покращення у вигляді браузерного розширення. Зустрічайте.
Ключові особливості:
Назва: Toster Comfort.
Статистика користувачів: відсоток питань із вирішенням; карма з Хабра; зведення з профілю - все це у списку питань Тостера.
Сповіщення: в реальному часі на сайті, на іконці, плюс push-сповіщення, багато налаштувань, сайт повинен бути відкритий (вики).
фільтри: умови на основі формул: можна приховувати питання, розфарбовувати їх кольором, а також показувати повідомлення, - все це гнучко налаштовується у вигляді логічних умов (вики).
інтерфейс: дрібні покращення, наприклад, показ точних дат або відображення статусу передплати у списку питань.
Інтерфейс Хабра: дрібні покращення (опціонально), наприклад, лінії на відступи у коментарях.
Відкрите джерело: можна переробити під себе, якщо дуже хочеться (вихідники).
Спочатку розширення зробив для себе з однією єдиною метою: показувати відсоток питань користувача, в яких він спромігся натиснути кнопку «Відзначити рішенням». Потім помалу додавалися то одні, то інші хотіли, поки інструмент не виріс у монстра на сотню кілобайт. Проте принцип «не використовувати нічого зайвого» дотримувався до кінця.
Однією з головних фіч зараз є використання формул у налаштуваннях. З ними можна робити практично що завгодно будь-яку хотівку з управління своєю увагою. Головне знати, що хотіти. Приховування, зміна кольору та повідомлення - ось три основні аспекти уваги при роботі з сайтом. Фільтрація всього і вся – ключ до зручності.
Приклад гнучкого правила, яке дозволить отримувати повідомлення на певну тему:
Відразу скажу, що функцію eval() використовувати не можна. Тож особливо не розгуляєшся. Тому довелося написати свій милиця на 5 КБ коду, використовуючи зворотний польський запис. Це, можна сказати, сильно кастрований JS як за функціями, так і за синтаксисом.
Нещодавно був піст про Розширення Toster. Якщо порівнювати, то TE має приємніший інтерфейс і деякі функції, яких немає в Toster Comfort. Однак моє розширення наголошує на споживанні ресурсів. Втім, ніхто не заважає використовувати обидва розширення, вони не мають конфліктувати.
По-хорошому, TC потрібно переписувати з нуля, тому що роботу можна прискорити щонайменше вдвічі, а роботу з кешем — раз на 10, відмовившись від localStorage і JSON.stringify() і змінивши деякі архітектурні рішення. Але цей подвиг належить робити вже не мені. А я шанувальник принципу «працює – не чіпай». Поки що відпустка, активно приймаю їх і PR, але не на шкоду мінімалізму. Дякую за увагу!