Kenyérpirító – minden a komposztálóba kerül. Szűrje le és élvezze

Történt ugyanis, hogy az informatikai témájú orosz Q&A forrás meglehetősen népszerű a FÁK-ban - kenyérpirító. Valami azonban hiányzott belőle, amikor elkezdtem közelebbről megismerni. Ennek eredményeként javult a böngészőbővítmény. Találkozz velem.

Főbb jellemzők:

  • Cím: Kenyérpirító kényelme.
  • Felhasználói statisztikák: a kérdések százalékos aránya megoldással; karma Habrból; összefoglaló a profilból - mindez a Toaster kérdéslistáján található.
  • Megjegyzések: valós időben az oldalon, az ikonon, plusz push értesítések, sok beállítás, a webhelynek nyitva kell lennie (вики).
  • Szűrők: feltételek képletek alapján: elrejtheti a kérdéseket, kiszínezheti őket, és értesítéseket is megjeleníthet - mindez rugalmasan konfigurálható logikai feltételek formájában (вики).
  • Felület: kisebb fejlesztések, mint például a pontos dátumok megjelenítése vagy az előfizetés állapotának megjelenítése a kérdések listájában.
  • Habr felület: kisebb fejlesztések (opcionális), például behúzó sorok a megjegyzésekben.
  • Nyílt forráskód: Újrakészítheted magadnak, ha igazán akarod (források).
  • Ingyenes: MIT licenc.
  • Memória fogyasztás: 30-50 MB, a kenyérpirító opcióitól és használati intenzitásától függően
  • Méret: 93 KB a 0.8.1-es verzióhoz (kicsomagolt, nem kicsinyített kód).
  • Keretrendszer: hiányzik, tiszta JS (minimalizmus).
  • Kód minősége: átlagos, stílusok keveréke, nagy jellemzők, piszkos trükkök, kevés megjegyzés.
  • Engedélyek: toster.ru, habr.com, notifications, storage, unlimitedStorage

Kezdetben egyetlen céllal készítettem magamnak a bővítményt: hogy megmutassam, hogy a felhasználó kérdéseinek hány százalékát vette igénybe a „Megjelölés megoldásként” gombra kattintva. Aztán apránként előbb egy, majd még egy került hozzá, mígnem száz kilobájtos szörnyeteggé nem nőtt a szerszám. Ennek ellenére a „ne használjunk semmi feleslegeset” elvét a végsőkig betartották.

Az egyik fő funkció most a képletek használata a beállításokban. Szinte bármit megtehetsz velük, bármit, amivel irányítani szeretnéd a figyelmedet. A lényeg az, hogy tudja, mit akar. Az elrejtés, a színek és az értesítések megváltoztatása az a három fő szempont, amire figyelni kell, ha egy webhelyen dolgozik. Bármi és minden szűrése kulcsfontosságú a kényelem szempontjából.

Példa egy rugalmas szabályra, amely lehetővé teszi értesítések fogadását egy adott témában:

!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

Azonnal mondom, hogy az eval() függvényt nem lehetett használni. Így nem lesz sok szórakozásod. Ezért a saját mankómat 5 KB kóddal kellett megírnom fordított lengyel jelölés. Ez, mondhatnánk, erősen semlegesített JS, mind a funkciók, mind a szintaxis tekintetében.

Nemrég volt egy bejegyzés arról Toster bővítmény. Ehhez képest a TE szebb felülettel rendelkezik, és néhány olyan funkcióval rendelkezik, amelyekkel a Toster Comfort nem rendelkezik. Kiterjesztésem azonban az erőforrás-felhasználást hangsúlyozza. Azonban senki sem zavarja Önt, hogy mindkét kiterjesztést használja; ezek nem ütközhetnek egymással.

Jó értelemben a TC-t a semmiből kell újraírni, mert a localStorage és a JSON.stringify() elhagyásával és néhány architekturális megoldás megváltoztatásával a munka legalább kétszer gyorsítható, a gyorsítótárral pedig tízszer. De ezt a bravúrt nem nekem kell megtennem. Én pedig a „ha működik, ne nyúlj hozzá” elv híve vagyok. Amíg nyaralok, aktívan foglalkozom a problémákkal és a PR-vel, de nem a minimalizmus rovására. Köszönöm a figyelmet!

Forrás: www.habr.com

Hozzászólás