Broodrooster - alles gaan in die kompos. Filter en geniet

Dit gebeur net dat die Russiese V&A-hulpbron oor IT-onderwerpe baie gewild is in die GOS - Broodrooster. Hy het egter iets gemis toe ek hom van nader begin leer ken het. Dit het gelei tot 'n verbetering in die vorm van 'n blaaieruitbreiding. Ontmoet my.

Belangrikste kenmerke:

  • Titel: Broodrooster Comfort.
  • Gebruikerstatistieke: persentasie vrae met oplossings; karma van Habr; opsomming van die profiel - dit alles is op Toaster se lys vrae.
  • Kennisgewings: intyds op die werf, op die ikoon, plus stootkennisgewings, baie instellings, die werf moet oop wees (Π²ΠΈΠΊΠΈ).
  • Filters: voorwaardes gebaseer op formules: u kan vrae versteek, inkleur en ook kennisgewings wys - dit alles is buigsaam gekonfigureer in die vorm van logiese voorwaardes (Π²ΠΈΠΊΠΈ).
  • Koppelvlak: geringe verbeterings, soos die wys van presiese datums of die vertoon van intekeningstatus in die lys vrae.
  • Habr koppelvlak: geringe verbeterings (opsioneel), byvoorbeeld inkepingslyne in opmerkings.
  • Oop bron: Jy kan dit vir jouself hermaak as jy regtig wil (bronne).
  • Gratis: MIT lisensie.
  • Geheueverbruik: 30-50MB, afhangende van die opsies en intensiteit van gebruik van die broodrooster
  • Grootte: 93KB vir v0.8.1 (uitgepak, nie verkleinde kode).
  • Raamwerk: ontbreek, skoon JS (minimalisme).
  • Kode kwaliteit: gemiddeld, mengsel van style, groot kenmerke, vuil truuks, min opmerkings.
  • Toestemmings: toster.ru, habr.com, notifications, storage, unlimitedStorage

Aanvanklik het ek die uitbreiding vir myself gemaak met een enkele doel: om die persentasie van die gebruiker se vrae te wys waarin hy die moeite gedoen het om op die "Mark as solution"-knoppie te klik. Toe, bietjie vir bietjie, is eers een en dan nog een bygevoeg, totdat die instrument gegroei het tot 'n monster van honderd kilogrepe. Nietemin is die beginsel van β€œnie iets onnodigs gebruik nie” tot die einde gevolg.

Een van die hoofkenmerke is nou die gebruik van formules in die instellings. Jy kan amper enigiets met hulle doen, enige wat jy wil om jou aandag te bestuur. Die belangrikste ding is om te weet wat om te wil hΓͺ. Om weg te steek, kleure te verander en kennisgewings is die drie hoofaspekte waaraan aandag gegee moet word wanneer jy met 'n webwerf werk. Om enigiets en alles te filter is die sleutel tot gerief.

'n Voorbeeld van 'n buigsame reΓ«l wat jou sal toelaat om kennisgewings oor 'n spesifieke onderwerp te ontvang:

!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

Ek sal dadelik sΓͺ dat die eval() funksie nie gebruik kon word nie. So jy sal nie veel pret hΓͺ nie. Daarom moes ek my eie kruk in 5 KB se kode skryf deur gebruik te maak omgekeerde Poolse notasie. Dit, kan 'n mens sΓͺ, is hoogs gesteriliseerde JS, beide in terme van funksies en sintaksis.

Daar was onlangs 'n plasing oor Toster Uitbreiding. In vergelyking het TE 'n mooier koppelvlak en 'n paar kenmerke wat Toster Comfort nie het nie. My uitbreiding beklemtoon egter hulpbronverbruik. Niemand pla jou egter om albei uitbreidings te gebruik nie; hulle moet nie bots nie.

Op 'n goeie manier moet TC van nuuts af herskryf word, want werk kan ten minste twee keer versnel word, en werk met die kas - 10 keer, deur localStorage en JSON.stringify() te laat vaar en sommige argitektoniese oplossings te verander. Maar dit is nie ek wat hierdie prestasie moet doen nie. En ek is 'n aanhanger van die "as dit werk, moenie daaraan raak nie"-beginsel. Terwyl ek op vakansie is, neem ek aktief sake en PR aan, maar nie ten koste van minimalisme nie. Dankie vir jou aandag!

Bron: www.habr.com

Voeg 'n opmerking