Toaster - lahat ay napupunta sa composter. Salain at mag-enjoy

Nagkataon lang na ang mapagkukunan ng Q&A ng Russia sa mga paksa ng IT ay sikat sa CIS - Toaster. Gayunpaman, may kulang siya nang magsimula akong makilala siya nang malapitan. Nagresulta ito sa isang pagpapabuti sa anyo ng isang extension ng browser. Magkita tayo.

Pangunahing tampok:

  • Pamagat: Toaster Comfort.
  • Mga istatistika ng gumagamit: porsyento ng mga tanong na may mga solusyon; karma mula kay Habr; buod mula sa profile - lahat ng ito ay nasa listahan ng mga tanong ng Toaster.
  • Mga Paunawa: sa real time sa site, sa icon, kasama ang mga push notification, maraming mga setting, dapat na bukas ang site (wiki).
  • Mga Filter: mga kundisyon batay sa mga formula: maaari mong itago ang mga tanong, kulayan ang mga ito, at ipakita din ang mga abiso - lahat ng ito ay flexible na na-configure sa anyo ng mga lohikal na kundisyon (wiki).
  • Interface: maliliit na pagpapabuti, tulad ng pagpapakita ng mga eksaktong petsa o pagpapakita ng katayuan ng subscription sa listahan ng mga tanong.
  • Habr interface: maliliit na pagpapabuti (opsyonal), halimbawa, mga linya ng indentasyon sa mga komento.
  • Buksan ang mapagkukunan: Maaari mo itong gawing muli para sa iyong sarili kung talagang gusto mo (pinagmumulan).
  • Free: Lisensya ng MIT.
  • Pagkonsumo ng memorya: 30-50MB, depende sa mga opsyon at intensity ng paggamit ng Toaster
  • Sukat ng: 93KB para sa v0.8.1 (na-unpack, hindi minified code).
  • Framework: nawawala, malinis na JS (minimalism).
  • Kalidad ng code: katamtaman, halo ng mga istilo, malalaking tampok, maruruming trick, kakaunting komento.
  • Mga Pahintulot: toster.ru, habr.com, notifications, storage, unlimitedStorage

Sa una, ginawa ko ang extension para sa aking sarili na may isang layunin: upang ipakita ang porsyento ng mga tanong ng user kung saan siya nag-abala na i-click ang button na "Markahan bilang solusyon." Pagkatapos, unti-unti, una ang isa at pagkatapos ay isa pang idinagdag, hanggang sa ang tool ay lumaki sa isang halimaw na isang daang kilobytes. Gayunpaman, ang prinsipyo ng "hindi gumagamit ng anumang bagay na hindi kailangan" ay sinunod hanggang sa wakas.

Ang isa sa mga pangunahing tampok ngayon ay ang paggamit ng mga formula sa mga setting. Maaari mong gawin ang halos anumang bagay sa kanila, anumang nais mong pamahalaan ang iyong atensyon. Ang pangunahing bagay ay malaman kung ano ang gusto. Ang pagtatago, pagbabago ng mga kulay at mga notification ay ang tatlong pangunahing aspeto na dapat bigyang pansin kapag nagtatrabaho sa isang site. Ang pag-filter ng anuman at lahat ay susi sa kaginhawahan.

Isang halimbawa ng flexible na panuntunan na magbibigay-daan sa iyong makatanggap ng mga notification sa isang partikular na paksa:

!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

Sasabihin ko kaagad na ang eval() function ay hindi magagamit. Kaya hindi ka magsasaya. Samakatuwid, kailangan kong magsulat ng sarili kong saklay sa 5 KB ng code gamit baligtarin ang notasyong Polish. Ito, maaaring sabihin ng isa, ay lubos na neutered JS, parehong sa mga tuntunin ng mga function at syntax.

May isang post kamakailan tungkol sa Toster Extension. Sa paghahambing, ang TE ay may mas magandang interface at ilang feature na wala sa Toster Comfort. Gayunpaman, binibigyang-diin ng aking extension ang pagkonsumo ng mapagkukunan. Gayunpaman, walang nag-abala sa iyo na gamitin ang parehong mga extension; hindi sila dapat magkasalungat.

Sa mabuting paraan, kailangang muling isulat ang TC mula sa simula, dahil maaaring mapabilis ang trabaho nang hindi bababa sa dalawang beses, at gumana sa cache - 10 beses, sa pamamagitan ng pag-abandona sa localStorage at JSON.stringify() at pagbabago ng ilang solusyon sa arkitektura. Ngunit hindi ako ang kailangang gawin ang gawaing ito. At fan ako ng prinsipyong "kung gumagana, huwag mong hawakan." Habang ako ay nasa bakasyon, ako ay aktibong kumukuha ng mga isyu at PR, ngunit hindi sa gastos ng minimalism. Salamat sa iyong atensyon!

Pinagmulan: www.habr.com

Magdagdag ng komento