A posztok halmozódásával a közelmúltban egyre népszerűbbé vált a cseh IT témájú Q&A platform. . Mégis, hiányzott valami, amikor alaposabban megismertem. Ez vezetett a böngészőbővítmény fejlesztéséhez. Üdvözöljük.
Kulcsfontosságú jellemzők:
- Név: Toster Comfort.
- Felhasználói statisztikák: a kérdések megoldásának aránya; karma a Habron; összegzés a profilból – mindez a Toster kérdések listájában megtalálható.
- Értesítések: valós időben az oldalon, az ikonon, plusz push értesítések, sok beállítás, az oldalnak nyitva kell lennie ().
- Szűrők: kondíciók képletek alapján: lehetőség kérdések elrejtésére, színkódolásra és értesítések megjelenítésére – mindez rugalmasan beállítható logikai feltételek formájában ().
- Felület: apróbb fejlesztések, mint például pontos dátumok megjelenítése vagy az előfizetés állapotának megjelenítése a kérdések listájában.
- Habro interfész: apróbb fejlesztések (választható), például vonalak a kommentek behúzásához.
- Nyílt forráskód: átalakítható igény szerint, ha nagyon szükséges ().
- Ingyenes: MIT Licenc.
- Platform: , .
- Memóriafogyasztás: 30-50MB, a beállításoktól és a Toster használatának intenzitásától függően.
- Méret: 93KB a v0.8.1-hez (kibővített, nem minimalizált kód).
- Keretrendszer: nincs, tiszta JS (minimalizmus).
- A kód minősége: közepes, stílusok keveredése, nagy funkciók, koszos technikák, kevés komment.
- Engedélyek:
toster.ru, habr.com, értesítések, tárolás, korlátlan tárolás.
Eredetileg a bővítményt magamnak készítettem egyetlen céllal: megmutatni a felhasználó kérdéseinek megoldásainak arányát, ahol rákattintott a "Megoldásként jelöl" gombra. Aztán fokozatosan jöttek az újabb és újabb igények, míg az eszköz nem nőtt egy számos kilobájt méretű szörnyszülötté. Ennek ellenére a "ne használj semmit feleslegesen" elvét a végéig betartottuk.
Az egyik legfontosabb funkció most a képletek használata a beállításokban. Ezek segítségével szinte bármit meg lehet valósítani, bármilyen igényt a figyelem irányításában. Tudni kell, mit akarunk. Az elrejtés, a színváltoztatás és az értesítések – ezek a három fő szempont a webhely használata során. Minden és minden szűrése – a kényelem kulcsa.
Rugalmas szabály példa, amely lehetővé teszi, hogy értesítéseket kapjunk egy bizonyos témában:
!tag("Hirdetés blokkolása") && !contains(t,"hirdetés") && contains(t,"blokkolás") && !tag("HTACCESS") || containsWord(t,"rkn") || contains(t,"roszkomnadzor") || contains(t,"roszkompozor") || contains(t,"állam") || contains(t,"tiltott") || contains(t,"tiltott") || contains(t,"kalóz") || containsWord(t,"kijátszás") || containsWord(t,"rosztelekom") || containsWord(t,"jarovoj") || containsWord(t,"rf") && tag("Számítógépes hálózatok") = notifyAzonnal mondom, hogy az eval() függvény használata tilos. Így nem lehet túl sokat játszadozni. Ezért kénytelen voltam megírni a saját kis trükkömet 5 KB kóddal, használva . Ez egy nagyon korlátozott JS, mind a funkciók, mind a szintaxis szempontjából.
Nemrég volt egy bejegyzés a . Ha összehasonlítjuk, a TE-nek kellemesebb felülete van, és van néhány olyan funkciója, ami a Toster Comfortban nincs. Azonban az én kiterjesztésem a forrásfelhasználásra helyezi a hangsúlyt. Mindazonáltal senki sem akadályoz meg abban, hogy mindkét kiterjesztést használja, nem kellene konfliktusba kerülniük.
Valójában a TC-t újra kellene írni, mert legalább a munkáját meg lehetne duplázni, és a cache kezelését legalább tízszer gyorsabbá lehetne tenni, lemondva a localStorage-ról és a JSON.stringify()-ról, valamint néhány architektúrával kapcsolatos döntés megváltoztatásával. De ezt a feladatot már nem nekem kell elvégezni. Én a "ha működik, ne nyúlj hozzá" elv híve vagyok. Jelenleg szabadságon vagyok, aktívan fogadom a problémákat és PR-t, de nem a minimalizmus rovására. Köszönöm a figyelmet!
Forrás: habr.com
