Тостер - всичко отива в компостера. Филтрирайте и се наслаждавайте

Случва се така, че руският ресурс за въпроси и отговори по ИТ теми е доста популярен в ОНД - тостер. Нещо му липсваше обаче, когато започнах да го опознавам отблизо. Това доведе до подобрение под формата на разширение за браузър. Да се ​​срещнем.

Основни функции:

  • Заглавие: Тостер Комфорт.
  • Потребителски статистики: процент въпроси с решения; карма от Хабр; резюме от профила - всичко това е в списъка с въпроси на Toaster.
  • Бележки: в реално време на сайта, на иконата, плюс насочени известия, много настройки, сайтът трябва да е отворен (уики).
  • Филтри: условия, базирани на формули: можете да скриете въпроси, да ги оцветите и също да показвате известия - всичко това е гъвкаво конфигурирано под формата на логически условия (уики).
  • интерфейс: незначителни подобрения, като показване на точни дати или показване на статус на абонамент в списъка с въпроси.
  • Habr интерфейс: незначителни подобрения (по избор), например редове за отстъп в коментарите.
  • Отворен код: Можете да го преработите за себе си, ако наистина искате (източници).
  • Безлатно: Лиценз на MIT.
  • Консумация на памет: 30-50MB, в зависимост от възможностите и интензивността на използване на тостера
  • Размер: 93KB за 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 KB код, използвайки обратна полска нотация. Това, може да се каже, е силно кастриран JS, както по отношение на функции, така и на синтаксис.

Наскоро имаше публикация за Разширение за тостер. За сравнение, TE има по-хубав интерфейс и някои функции, които Toster Comfort няма. Моето разширение обаче набляга на потреблението на ресурси. Никой обаче не ви притеснява да използвате и двете разширения; те не трябва да са в конфликт.

В добър смисъл, TC трябва да бъде пренаписан от нулата, защото работата може да бъде ускорена поне два пъти, а работата с кеша - 10 пъти, като се изоставят localStorage и JSON.stringify() и се променят някои архитектурни решения. Но не аз трябва да направя този подвиг. И аз съм фен на принципа „ако работи, не го пипай“. Докато съм на почивка, активно се занимавам с въпроси и PR, но не за сметка на минимализма. Благодаря за вниманието!

Източник: www.habr.com

Добавяне на нов коментар