Tostè - tout bagay ale nan konpòs la. Filtre epi jwi

Li jis konsa k ap pase ke Ris Q&A resous sou sijè IT se byen popilè nan CIS la - Tostè. Sepandan, li te manke yon bagay lè m te kòmanse konnen l byen. Sa a te lakòz yon amelyorasyon nan fòm lan nan yon ekstansyon navigatè. Rankontre m.

Karakteristik kle:

  • Tit: Toaster Comfort.
  • Estatistik itilizatè: pousantaj kesyon ki gen solisyon; kama soti nan Habr; rezime nan pwofil la - tout bagay sa yo se sou lis kesyon Toaster la.
  • Avi: an tan reyèl sou sit la, sou icon nan, plis notifikasyon pouse, anpil paramèt, sit la dwe louvri (wiki).
  • Filtè: kondisyon ki baze sou fòmil: ou ka kache kesyon, koulè yo, epi tou montre notifikasyon - tout bagay sa a se fleksib konfigirasyon nan fòm lan nan kondisyon lojik (wiki).
  • Entèfas: amelyorasyon minè, tankou montre dat egzak oswa montre estati abònman nan lis kesyon yo.
  • Habr koòdone: amelyorasyon minè (opsyonèl), pou egzanp, liy indentation nan kòmantè.
  • Sous louvri: Ou ka refè li pou tèt ou si ou reyèlman vle (sous).
  • Gratis: Lisans MIT.
  • Konsomasyon memwa: 30-50MB, tou depann de opsyon yo ak entansite itilizasyon Toaster la
  • Size: 93KB pou v0.8.1 (depake, kòd pa minified).
  • Kad: manke, pwòp JS (minimalis).
  • Kalite kòd: mwayèn, melanj de estil, karakteristik gwo, ke trik nouvèl sal, kèk kòmantè.
  • Otorizasyon: toster.ru, habr.com, notifications, storage, unlimitedStorage

Okòmansman, mwen te fè ekstansyon an pou tèt mwen ak yon sèl objektif: montre pousantaj la nan kesyon itilizatè a nan ki li te anmande klike sou bouton an "Marke kòm solisyon". Lè sa a, piti pa piti, premye youn ak apre yon lòt yo te ajoute, jiskaske zouti a te grandi nan yon mons nan yon santèn kilobyte. Sepandan, prensip “pa sèvi ak anyen ki pa nesesè” yo te suiv jiska lafen.

Youn nan karakteristik prensipal yo kounye a se itilize nan fòmil nan anviwònman yo. Ou ka fè prèske tout bagay avèk yo, nenpòt kisa ou vle jere atansyon ou. Bagay pwensipal lan se konnen ki sa ou vle. Kache, chanje koulè ak notifikasyon yo se twa aspè prensipal yo pou peye atansyon sou lè w ap travay ak yon sit. Filtre nenpòt bagay ak tout bagay se kle nan konvenyans.

Yon egzanp yon règ fleksib ki pral pèmèt ou resevwa notifikasyon sou yon sijè espesifik:

!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

Mwen pral di touswit ke fonksyon eval() pa t 'kapab itilize. Se konsa, ou pa pral gen anpil plezi. Se poutèt sa, mwen te oblije ekri beki pwòp mwen an nan 5 KB nan kòd lè l sèvi avèk ranvèse notasyon Polonè. Sa a, yon moun ta ka di, se trè sterilize JS, tou de an tèm de fonksyon ak sentaks.

Te gen yon pòs dènyèman sou Toster ekstansyon. An konparezon, TE gen yon koòdone pi bèl ak kèk karakteristik ke Toster Comfort pa genyen. Sepandan, ekstansyon mwen an mete aksan sou konsomasyon resous. Sepandan, pèsonn pa deranje w pou w itilize tou de ekstansyon yo; yo pa ta dwe konfli.

Nan yon bon fason, TC bezwen yo dwe reekri nan grafouyen, paske travay yo ka akselere omwen de fwa, epi travay ak kachèt la - 10 fwa, pa abandone localStorage ak JSON.stringify() ak chanje kèk solisyon achitekti. Men, se pa mwen ki dwe fè feat sa a. Apre sa, mwen se yon fanatik nan "si li travay, pa manyen li" prensip la. Pandan ke mwen an vakans, mwen aktivman pran sou pwoblèm ak PR, men se pa nan depans lan nan minimalist. Mèsi pou atansyon ou!

Sous: www.habr.com

Add nouvo kòmantè