Hriankovač – všetko ide do kompostéra. Filtrujte a užívajte si

Stáva sa, že ruský zdroj otázok a odpovedí o IT témach je v SNŠ veľmi populárny - opekač hrianok. Niečo mu však chýbalo, keď som ho začal bližšie spoznávať. Výsledkom bolo vylepšenie v podobe rozšírenia prehliadača. Stretni ma.

Kľúčové vlastnosti:

  • Názov: Hriankovač Comfort.
  • Štatistiky používateľov: percento otázok s riešeniami; karma od Habra; zhrnutie z profilu - to všetko je na zozname otázok Toaster.
  • Oznamy: v reálnom čase na stránke, na ikone, plus push notifikácie, veľa nastavení, stránka musí byť otvorená (wiki).
  • Filtre: podmienky založené na vzorcoch: otázky môžete skryť, zafarbiť ich a tiež zobraziť upozornenia - to všetko je flexibilne nakonfigurované vo forme logických podmienok (wiki).
  • rozhranie: drobné vylepšenia, ako napríklad zobrazenie presných dátumov alebo zobrazenie stavu predplatného v zozname otázok.
  • Rozhranie Habr: drobné vylepšenia (voliteľné), napríklad odsadenie riadkov v komentároch.
  • Otvorený zdroj: Môžete si to prerobiť pre seba, ak naozaj chcete (zdrojov).
  • Voľný: Licencia MIT.
  • Spotreba pamäte: 30-50MB, v závislosti od možností a intenzity používania Hriankovača
  • Veľkosť: 93 kB pre verziu 0.8.1 (rozbalený, nie miniifikovaný kód).
  • Rámec: chýba, čistý JS (minimalizmus).
  • Kvalita kódu: priemer, mix štýlov, veľké funkcie, špinavé triky, málo komentárov.
  • Povolenia: toster.ru, habr.com, notifications, storage, unlimitedStorage

Pôvodne som rozšírenie vytvoril pre seba s jediným cieľom: ukázať percento otázok používateľa, pri ktorých sa obťažoval kliknúť na tlačidlo „Označiť ako riešenie“. Potom sa postupne pridával najprv jeden a potom ďalší, až sa nástroj rozrástol na monštrum s veľkosťou sto kilobajtov. Zásada „nepoužívať nič zbytočné“ však bola dodržaná až do konca.

Jednou z hlavných funkcií je teraz použitie vzorcov v nastaveniach. Môžete s nimi robiť takmer čokoľvek, čo chcete, aby ste riadili svoju pozornosť. Hlavná vec je vedieť, čo chcete. Skrytie, zmena farieb a upozornenia sú tri hlavné aspekty, ktorým treba venovať pozornosť pri práci s webom. Filtrovanie všetkého a všetkých je kľúčom k pohodliu.

Príklad flexibilného pravidla, ktoré vám umožní dostávať upozornenia na konkrétnu tému:

!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

Hneď poviem, že funkciu eval() nebolo možné použiť. Veľa zábavy si teda neužijete. Preto som musel napísať vlastnú barličku v 5 KB kódu pomocou reverzná poľská notácia. Dalo by sa povedať, že ide o vysoko kastrovaný JS, čo sa týka funkcií aj syntaxe.

Nedávno tu bol príspevok o Rozšírenie Toster. Na porovnanie, TE má krajšie rozhranie a niektoré funkcie, ktoré Toster Comfort nemá. Moje rozšírenie však zdôrazňuje spotrebu zdrojov. Nikto vás však neobťažuje používať obe rozšírenia, nemali by byť v konflikte.

V dobrom slova zmysle treba TC prepísať od nuly, pretože prácu je možné zrýchliť minimálne dvakrát a prácu s vyrovnávacou pamäťou – 10-krát, opustením localStorage a JSON.stringify() a zmenou niektorých architektonických riešení. Ale nie som to ja, kto musí urobiť tento výkon. A som fanúšikom zásady „ak to funguje, nedotýkaj sa toho“. Kým som na dovolenke, aktívne sa venujem témam a PR, ale nie na úkor minimalizmu. Ďakujem za tvoju pozornosť!

Zdroj: www.habr.com

Pridať komentár