Broodrooster - alles gaat in de composteerder. Filter en geniet

Toevallig is de Russische vraag- en antwoordbron over IT-onderwerpen behoorlijk populair in het GOS - toaster. Hij miste echter iets toen ik hem beter leerde kennen. Dit resulteerde in een verbetering in de vorm van een browserextensie. Ontmoet mij.

Belangrijkste kenmerken:

  • Titel: Broodrooster Comfort.
  • Gebruikersstatistieken: percentage vragen met oplossingen; karma van Habr; samenvatting van het profiel - dit staat allemaal op de lijst met vragen van Toaster.
  • Meldingen: in realtime op de site, op het pictogram, plus pushmeldingen, veel instellingen, de site moet open zijn (wiki).
  • Filters: voorwaarden op basis van formules: je kunt vragen verbergen, inkleuren en ook meldingen tonen - dit alles is flexibel in te richten in de vorm van logische voorwaarden (wiki).
  • interface: kleine verbeteringen, zoals het tonen van exacte data of het weergeven van de abonnementsstatus in de lijst met vragen.
  • Habr-interface: kleine verbeteringen (optioneel), bijvoorbeeld inspringlijnen in opmerkingen.
  • Open source: Je kunt het zelf opnieuw maken als je dat echt wilt (bronnen).
  • Gratis: MIT-licentie.
  • Geheugenverbruik: 30-50MB, afhankelijk van de mogelijkheden en gebruiksintensiteit van de Toaster
  • Maat: 93KB voor v0.8.1 (uitgepakt, niet verkleinde code).
  • Kader: ontbrekende, schone JS (minimalisme).
  • Codekwaliteit: gemiddeld, mix van stijlen, grote functies, vuile trucs, weinig opmerkingen.
  • Rechten: toster.ru, habr.com, notifications, storage, unlimitedStorage

In eerste instantie heb ik de extensie voor mezelf gemaakt met één enkel doel: om het percentage van de vragen van de gebruiker weer te geven waarbij hij de moeite nam om op de knop ‘Markeren als oplossing’ te klikken. Vervolgens kwam er beetje bij beetje eerst de ene en de andere bij, totdat de tool uitgroeide tot een monster van honderd kilobytes. Niettemin werd het principe van “niets onnodigs gebruiken” tot het einde toe gevolgd.

Een van de belangrijkste kenmerken is nu het gebruik van formules in de instellingen. Je kunt er bijna alles mee doen, alles wat je maar wilt om je aandacht te beheren. Het belangrijkste is om te weten wat je wilt. Verbergen, kleuren wijzigen en meldingen zijn de drie belangrijkste aspecten waar u op moet letten bij het werken met een site. Het filteren van alles en nog wat is de sleutel tot gemak.

Een voorbeeld van een flexibele regel waarmee u meldingen over een specifiek onderwerp kunt ontvangen:

!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

Ik zal meteen zeggen dat de functie eval() niet kon worden gebruikt. Veel plezier zul je dus niet hebben. Daarom moest ik mijn eigen kruk schrijven in 5 KB code met behulp van omgekeerde Poolse notatie. Je zou kunnen zeggen dat dit een sterk gecastreerde JS is, zowel qua functies als qua syntaxis.

Er was laatst een bericht over Toster-extensie. Ter vergelijking: TE heeft een mooiere interface en enkele functies die Toster Comfort niet heeft. Mijn extensie legt echter de nadruk op het verbruik van hulpbronnen. Niemand stoort u echter om beide extensies te gebruiken; ze mogen niet conflicteren.

Op een goede manier moet TC helemaal opnieuw worden geschreven, omdat het werk minstens twee keer kan worden versneld en het werken met de cache - 10 keer, door localStorage en JSON.stringify() te verlaten en enkele architecturale oplossingen te wijzigen. Maar ik ben het niet die deze prestatie moet leveren. En ik ben een fan van het ‘als het werkt, raak het dan niet aan’-principe. Terwijl ik op vakantie ben, ben ik actief bezig met problemen en PR, maar niet ten koste van het minimalisme. Bedankt voor uw aandacht!

Bron: www.habr.com

Voeg een reactie