Toaster - alles giet yn 'e komposter. Filterje en genietsje

It bart sa dat de Russyske Q&A-boarne oer IT-ûnderwerpen frij populêr is yn 'e CIS - Toaster. Hy miste lykwols wat doe't ik him fan nau kennen learde. Dit resultearre yn in ferbettering yn 'e foarm fan in browser-útwreiding. Moetsje my.

Haadfunksjes:

  • namme: Toaster Comfort.
  • Brûkerstatistiken: persintaazje fragen mei oplossingen; karma út Habr; gearfetting fan it profyl - dit alles is op Toaster syn list fan fragen.
  • Notysjes: yn echte tiid op 'e side, op it ikoan, plus push-notifikaasjes, in protte ynstellings, de side moat iepen wêze (wiki).
  • Filters: betingsten basearre op formules: jo kinne fragen ferbergje, se kleurje, en ek notifikaasjes sjen litte - dit alles is fleksibel ynsteld yn 'e foarm fan logyske betingsten (wiki).
  • Ynterface: lytse ferbetterings, lykas it werjaan fan krekte datums of it werjaan fan abonnemintstatus yn 'e list mei fragen.
  • Habr ynterface: lytse ferbetterings (opsjoneel), Bygelyks, ynspringen rigels yn opmerkingen.
  • Iepen Boarne: Jo kinne it foar josels opnij meitsje as jo echt wolle (boarnen).
  • Frij: MIT Lisinsje.
  • Unthâld konsumpsje: 30-50MB, ôfhinklik fan de opsjes en yntinsiteit fan gebrûk fan de Toaster
  • Grutte: 93KB foar v0.8.1 (útpakt, net minifisearre koade).
  • Kader: missing, skjin JS (minimalisme).
  • Koade kwaliteit: gemiddelde, miks fan stilen, grutte funksjes, smoarge trúkjes, pear opmerkings.
  • Rjochten: toster.ru, habr.com, notifications, storage, unlimitedStorage

Yn it earstoan makke ik de tafoeging foar mysels mei ien inkeld doel: om it persintaazje fan 'e fragen fan' e brûker sjen te litten wêryn't hy lestich falle om op de knop "Markearje as oplossing" te klikken. Doe kamen der stadichoan earst ien en dan noch ien by, oant it ark útgroeide ta in meunster fan hûndert kilobytes. Dochs waard it prinsipe fan "net wat oerstallichs brûke" folge oant it ein.

Ien fan 'e haadfunksjes is no it brûken fan formules yn' e ynstellings. Jo kinne hast alles mei har dwaan, elk jo wolle jo oandacht beheare. It wichtichste is om te witten wat jo wolle. Ferbergjen, feroarjen fan kleuren en notifikaasjes binne de trije wichtichste aspekten om omtinken te jaan as jo wurkje mei in side. Alles en alles filterje is de kaai foar gemak.

In foarbyld fan in fleksibele regel wêrmei jo notifikaasjes oer in spesifyk ûnderwerp kinne ûntfange:

!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 sil daliks sizze dat de funksje eval () net brûkt wurde koe. Sa sille jo net folle wille hawwe. Dêrom moast ik myn eigen kruk skriuwe yn 5 KB fan koade mei help fan omkearde Poalske notaasje. Dit, soe men sizze, is tige neutered JS, sawol yn termen fan funksjes as syntaksis.

Der stie koartlyn in post oer Toster Extension. Yn ferliking hat TE in moaier ynterface en guon funksjes dy't Toster Comfort net hat. Myn útwreiding beklammet lykwols boarneferbrûk. Gjinien hinderet jo lykwols om beide tafoegings te brûken; se moatte net konflikt.

Op in goede manier moat TC fanôf it begjin opnij skreaun wurde, om't wurk op syn minst twa kear kin wurde fersneld, en wurkje mei de cache - 10 kear, troch localStorage en JSON.stringify () te ferlitten en guon arsjitektoanyske oplossingen te feroarjen. Mar it is net ik dy't dizze feat dwaan moat. En ik bin in fan fan it prinsipe "as it wurket, net oanreitsje it". Wylst ik op fakânsje bin, nim ik aktyf op problemen en PR, mar net op kosten fan minimalisme. Tank foar jo oandacht!

Boarne: www.habr.com

Add a comment