BrÞdrister - alt i komposteren. Filtrér og nyd

Det er blevet sĂ„dan, at en russisk Q&A-ressource om IT-temaer er ret populĂŠr i CIS-landene — Toaster. Men der manglede noget, da jeg begyndte at dykke dybere ned i det. Dette resulterede i en forbedring i form af en browserudvidelse. MĂžd.

NĂžglefunktioner:

  • Navn: Toster Comfort.
  • Brugerstatistik: procent af spĂžrgsmĂ„l med lĂžsninger; karma fra Habr; et overblik fra profilen — alt dette findes i Toster-spĂžrgsmĂ„lene.
  • Underretninger: i realtid pĂ„ siden, pĂ„ ikonet, plus push-notifikationer, mange indstillinger, siden skal vĂŠre Ă„ben (wiki).
  • Filtre: betingelser baseret pĂ„ formler: man kan skjule spĂžrgsmĂ„l, farve dem, samt vise underretninger — alt dette kan fleksibelt indstilles som logiske betingelser (wiki).
  • BrugergrĂŠnseflade: smĂ„ forbedringer, fx visning af prĂŠcise datoer eller visning af abonnementsstatus i spĂžrgsmĂ„lslisterne.
  • Habr-grĂŠnseflade: smĂ„ forbedringer (valgfrit), fx linjer til indrykninger i kommentarer.
  • Open source: kan tilpasses, hvis man virkelig Ăžnsker det (kildeteksterne).
  • Gratis: MIT License.
  • Hukommelsesforbrug: 30-50MB, afhĂŠngig af indstillinger og intensiteten af Toster-brugen
  • StĂžrrelse: 93KB for v0.8.1 (udpakket, ikke minimeret kode).
  • Framework: ingen, ren JS (minimalisme).
  • Kodekvalitet: gennemsnitlig, blanding af stilarter, store funktioner, beskidte tricks, fĂ„ kommentarer.
  • Tilladelser: toster.ru, habr.com, notifikationer, lager, unlimitedStorage

Oprindeligt lavede jeg udvidelsen til mig selv med én enkelt mÄl: at vise procentdelen af spÞrgsmÄl, hvor brugeren havde klikket pÄ knappen 'Markér som lÞst'. SÞrg for at tilfÞje lidt af det ene og det andet, indtil vÊrktÞjet voksede til et monster pÄ hundrede kilobyte. Ikke desto mindre blev princippet om 'ikke at bruge noget overflÞdigt' overholdt til det sidste.

En af de vigtigste funktioner i dag er brugen af formler i indstillingerne. Med dem kan man gĂžre stort set hvad som helst, hvad angĂ„r styring af sin opmĂŠrksomhed. Det vigtigste er at vide, hvad man vil have. Skjule, ĂŠndre farven og notifikationer — det er de tre vigtigste aspekter af opmĂŠrksomhed, nĂ„r man arbejder pĂ„ siden. Filtrering af alt og enhver — nĂžglen til bekvemmelighed.

Eksempel pÄ en fleksibel regel, der vil tillade at modtage underretninger om et bestemt emne:

!tag("Blokering af reklamer") && !contains(t,"reklam") && contains(t,"blokering") && !tag("HTACCESS") || containsWord(t,"rkn") || contains(t,"roskomnadzor") || contains(t,"roskompozor") || contains(t,"stat") || contains(t,"forbudt") || contains(t,"forbudt") || contains(t,"pirat") || containsWord(t,"omgÄ") || containsWord(t,"rostelekom") || containsWord(t,"yarovoy") || containsWord(t,"rf") && tag("ComputerNetvÊrk") = notify

Jeg vil straks sige, at funktionen eval() ikke mÄtte bruges. SÄ der er ikke meget at lege med. Derfor mÄtte jeg skrive min egen lÞsning pÄ 5 KB kode, ved at bruge omvendt polsk notation. Det kan man sige er en meget beskÄret JS, bÄde hvad angÄr funktioner og syntaks.

For nylig var der et indlÊg om Toster Extension. Hvis man sammenligner, har TE et mere behageligt interface og nogle funktioner, som ikke findes i Toster Comfort. Dog fokuserer mit udvidelse pÄ ressourceforbrug. Men ingen forhindrer os i at bruge begge udvidelser; de bÞr ikke konfliktere.

I virkeligheden skal TC skrives om fra bunden, fordi man kan minimere arbejdet med mindst det halve, og arbejdet med cachen — med 10 gange, ved at opgive localStorage og JSON.stringify() og ĂŠndre nogle arkitektoniske lĂžsninger. Men denne bedrift er ikke noget, jeg skal gĂžre. Jeg er tilhĂŠnger af princippet 'hvis det virker — rĂžr det ikke'. Mens det er ferie, tager jeg aktivt imod issues og PR, men ikke pĂ„ bekostning af minimalisme. Tak for din opmĂŠrksomhed!

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster