V krajinách SNŠ je dosť populárny ruský Q&A zdroj z oblasti IT — Avšak, keď som sa s ním podrobnejšie zoznámil, chýbalo mu niečo. To viedlo k vylepšeniu v podobe rozšírenia prehliadača. Predstavujeme vám.
Kľúčové vlastnosti:
- Názov: Toster Comfort.
- Štatistika používateľov: percento otázok s riešením; karma z Habr; súhrn z profilu — to všetko je v zozname otázok Tostera.
- Upozornenia: v reálnom čase na stránke, na ikone, plus push upozornenia, veľa nastavení, stránka musí byť otvorená ().
- Filtre: podmienky na základe vzorcov: je možné skrývať otázky, sfarbením ich zvýrazniť, ako aj zobrazovať upozornenia — to všetko sa flexibilne nastavuje vo forme logických podmienok ().
- Rozhranie: malé vylepšenia, napríklad zobrazenie presných dátumov alebo zobrazenie stavu predplatného v zozname otázok.
- Rozhranie Habr: malé vylepšenia (voliteľné), napríklad linky na odsadenia v komentároch.
- Open source: môže sa upraviť podľa seba, ak je to naozaj potrebné ().
- Zadarmo: MIT Licencia.
- Platforma: , .
- Spotreba pamäte: 30-50MB, v závislosti od možností a intenzity používania Tostera.
- Veľkosť: 93KB pre v0.8.1 (rozbalený, nie minimalizovaný kód).
- Framework: žiaden, čistý JS (minimalizmus).
- Kvalita kódu: priemerná, zmiešané štýly, veľké funkcie, špinavé triky, málo komentárov.
- Povolenia:
toster.ru, habr.com, notifikácie, úložisko, unlimitedStorage.
Pôvodne som rozšírenie vytvoril pre seba s jediným cieľom: zobraziť percento otázok používateľa, v ktorých sa odvážil kliknúť na tlačidlo „Označiť ako riešené“. Potom postupne pribúdali jedny, potom druhé požiadavky, kým sa nástroj nevyrástol na monštrum o veľkosti sto kilobajtov. Napriek tomu sa zásada "nepoužívať nič nadbytočné" dodržiavala až do konca.
Jednou z hlavných funkcií je teraz používanie vzorcov v nastaveniach. S nimi môžete robiť prakticky čokoľvek, akúkoľvek požiadavku na riadenie svojej pozornosti. Hlavné je vedieť, čo chcieť. Skrývanie, zmena farby a upozornenia — to sú tri základné aspekty pozornosti pri práci na stránke. Filtrácia všetkého a všetkých — kľúč k pohodliu.
Príklad flexibilného pravidla, ktoré umožní prijímať upozornenia na konkrétnu tému:
!tag("Blokovanie reklamy") && !contains(t,"rekla") && contains(t,"blokirov") && !tag("HTACCESS") || containsWord(t,"rkn") || contains(t,"roskomnadzor") || contains(t,"roskompozor") || contains(t,"staty") || contains(t,"zakazane") || contains(t,"zakazané") || contains(t,"piratsk") || containsWord(t,"obchádz") || containsWord(t,"rostelekom") || containsWord(t,"jarový") || containsWord(t,"rf") && tag("Počítačové siete") = notifyHneď poviem, že funkciu eval() bolo nemožné použiť. Takže sa veľmi nerozšíriš. Preto som musel napísať svoj vlastný trik s 5 kB kódu, používajúc . Je to, dá sa povedať, silne obmedzený JS, pokiaľ ide o funkcie a syntax.
Nedávno bol príspevok o . Ak to porovnáme, TE má príjemnejšie rozhranie a niektoré funkcie, ktoré Toster Comfort nemá. Avšak moje rozšírenie sa zameriava na spotrebu zdrojov. Napriek tomu nikto nebráni používať obe rozšírenia, nemali by si prekážať.
Vyžaduje si to naozaj prepis TC odznova, pretože prácu je možné urýchliť minimálne na dvojnásobok a práca s cache - desaťnásobne, vzdať sa localStorage a JSON.stringify() a zmeniť niektoré architektonické rozhodnutia. Ale ten výkon ma už nečaká. A ja som zástancom zásady „funguje - nedotýkaj sa“. Kým mám dovolenku, aktívne prijímam issues a PR, ale nie na úkor minimalizmu. Ďakujem za pozornosť!
Zdroj: habr.com
