Така се случи, че в ОНД доста популярен е руският ресурс Q&A по ИТ тематика — . Но нещо му липсваше, когато започнах да се запознавам с него. Това доведе до подобрение под формата на браузърно разширение. Запознайте се.
Ключови характеристики:
- Име: Toster Comfort.
- Статистика на потребителите: процент на зададените въпроси с решение; карма от Хабра; обобщение от профила — всичко това е в списъка с въпроси на Тостер.
- Уведомления: в реално време на сайта, на иконата, плюс push-уведомления, много настройки, сайтът трябва да бъде отворен ().
- Филтри: условия на базата на формули: можете да скривате въпроси, да ги оцветявате, както и да показвате известия — всичко това е гъвкаво настроено под формата на логически условия ().
- Интерфейс: малки подобрения, например, показване на точни дати или показване на статуса на абонамента в списъка с въпроси.
- Интерфейс на Хабра: малки подобрения (по избор), например, линии на отстъпите в коментарите.
- Open source: може да се преработва по желание ().
- Безплатно: MIT лиценз.
- Платформа: , .
- Консумация на памет: 30-50 МБ, в зависимост от опциите и интензивността на използване на Тостера
- Размер: 93 КБ за v0.8.1 (разпакован, не минимализиран код).
- Фреймворк: няма, чист JS (минимализъм).
- Качество на кода: средно, смесване на стилове, големи функции, мръсни практики, малко коментари.
- Разрешения:
toster.ru, habr.com, notifications, storage, unlimitedStorage
Първоначално разширението беше направено за мен с една-единствена цел: да показва процента на въпросите на потребителя, по които е натиснал бутона „Маркирай като решение“. След това постепенно бяха добавяни нови желания, докато инструментът не се разрасна в 'чудовище' от сто килобайта. Въпреки това, принципът „да не се използва нищо излишно“ беше спазван до края.
Една от главните функции сега е използването на формули в настройките. С тях можете да правите практически всичко, всяко желание за управление на вниманието си. Важно е да знаете какво да искате. Скриване, промяна на цвета и уведомления — ето основните три аспекта на вниманието при работа със сайта. Филтрирането на всичко и всяка е ключът към удобството.
Пример за гъвкаво правило, което ще позволи да получавате уведомления по определена тема:
!tag("Блокиране на реклама") && !contains(t,"реклама") && contains(t,"блокиране") && !tag("HTACCESS") || containsWord(t,"ркн") || contains(t,"роскомнадзор") || contains(t,"роскомпозор") || contains(t,"държава") || contains(t,"забранен") || contains(t,"забранен") || contains(t,"пиратск") || containsWord(t,"обход") || containsWord(t,"ростелеком") || containsWord(t,"яровой") || containsWord(t,"рф") && tag("Компютърни мрежи") = notifyВеднага ще кажа, че функцията eval() не може да се използва. Така че не можеш да се разшириш много. Затова трябваше да напиша своя собствена импровизация от 5 КБ код, използвайки . Това, може да се каже, е силно ограничен JS, както по функции, така и по синтаксис.
Напоследък имаше публикация за . Ако сравняваме, TE има по-приятен интерфейс и някои функции, които липсват в Toster Comfort. Въпреки това, моето разширение акцентира на потреблението на ресурси. Въпреки това, никой не пречи да се използват и двете разширения, те не би трябвало да конфликтуват.
Ако се замислим, TC трябва да бъде преписано от нулата, защото работата може да бъде ускорена поне два пъти, а работата с кеша — десет пъти, отказвайки се от localStorage и JSON.stringify() и променяйки някои архитектурни решения. Но този подвиг вече не е за мен. Аз съм почитател на принципа „работи — не пипай“. Докато съм в отпуск, активно приемам issues и PR, но не за сметка на минимализма. Благодаря за вниманието!
Източник: habr.com
