Toster - sve ide u komposter. Filtrirajte i uživajte

Slučajno je ruski izvor pitanja i odgovora o IT temama prilično popularan u CIS-u - toster. Međutim, nešto mu je nedostajalo kad sam ga počeo pobliže upoznavati. To je rezultiralo poboljšanjem u obliku proširenja preglednika. Upoznaj me.

Ključne značajke:

  • Naslov: Toster Comfort.
  • Statistika korisnika: postotak pitanja s rješenjima; karma iz Habra; sažetak s profila - sve je to na Tosterovoj listi pitanja.
  • Obavijesti: u stvarnom vremenu na stranici, na ikoni, plus push obavijesti, mnoge postavke, stranica mora biti otvorena (wiki).
  • Filteri: uvjeti temeljeni na formulama: možete sakriti pitanja, obojiti ih i također prikazati obavijesti - sve je to fleksibilno konfigurirano u obliku logičkih uvjeta (wiki).
  • sučelje: manja poboljšanja, poput prikazivanja točnih datuma ili prikazivanja statusa pretplate na popisu pitanja.
  • Habr sučelje: manja poboljšanja (po izboru), na primjer, uvlačenje redaka u komentarima.
  • Otvoreni izvor: Možete ga prepraviti za sebe ako stvarno želite (izvori).
  • Besplatno: MIT licenca.
  • Potrošnja memorije: 30-50MB, ovisno o mogućnostima i intenzitetu korištenja Tostera
  • Veličina: 93 KB za v0.8.1 (raspakirano, nije umanjen kod).
  • Okvir: nedostaje, čisti JS (minimalizam).
  • Kvaliteta koda: prosjek, mješavina stilova, velike karakteristike, prljavi trikovi, malo komentara.
  • Dozvole: toster.ru, habr.com, notifications, storage, unlimitedStorage

U početku sam napravio proširenje za sebe s jednom jedinom svrhom: prikazati postotak pitanja korisnika u kojima se potrudio kliknuti gumb "Označi kao rješenje". Zatim se malo po malo dodavao prvo jedan, pa drugi, sve dok alat nije izrastao u čudovište od stotinjak kilobajta. Ipak, načelo “ne koristiti ništa nepotrebno” ispoštovano je do kraja.

Jedna od glavnih značajki sada je korištenje formula u postavkama. S njima možete učiniti gotovo sve, što god želite upravljati svojom pažnjom. Glavno je znati što željeti. Skrivanje, mijenjanje boja i obavijesti tri su glavna aspekta na koja treba obratiti pozornost kada radite sa web mjestom. Filtriranje svega i svačega ključno je za praktičnost.

Primjer fleksibilnog pravila koje će vam omogućiti primanje obavijesti o određenoj temi:

!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

Odmah ću reći da se funkcija eval() nije mogla koristiti. Tako da se nećete baš zabaviti. Stoga sam morao napisati svoju vlastitu štaku u 5 KB koda koristeći obrnuti poljski zapis. Moglo bi se reći da je ovo visoko kastrirani JS, kako u smislu funkcija tako iu sintaksi.

Nedavno je objavljen post o Proširenje tostera. Za usporedbu, TE ima ljepše sučelje i neke značajke koje Toster Comfort nema. Međutim, moje proširenje naglašava potrošnju resursa. Međutim, nitko vam ne smeta da koristite oba proširenja; oni ne bi trebali biti u sukobu.

U dobrom smislu, TC treba ponovno napisati ispočetka, jer se rad može ubrzati najmanje dva puta, a rad s predmemorijom - 10 puta, napuštanjem localStorage i JSON.stringify() i promjenom nekih arhitektonskih rješenja. Ali nisam ja taj koji mora učiniti ovaj podvig. I ja sam ljubitelj principa "ako radi, ne diraj". Dok sam na odmoru, aktivno se bavim problemima i PR-om, ali ne nauštrb minimalizma. Hvala na pozornosti!

Izvor: www.habr.com

Dodajte komentar