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

Desilo se da je ruski resurs za pitanja i odgovore na IT teme prilično popularan u ZND - Toster. Međutim, nešto mu je nedostajalo kada sam ga izbliza počeo upoznavati. Ovo je rezultiralo poboljšanjem u obliku ekstenzije pretraživača. Upoznaj me.

Ključne karakteristike:

  • ime: Toster Comfort.
  • Statistika korisnika: procenat pitanja sa rešenjima; karma iz Habra; sažetak iz profila - sve je to na Tosterovoj listi pitanja.
  • Obavještenja: u realnom vremenu na sajtu, na ikoni, plus push notifikacije, mnogo podešavanja, sajt mora biti otvoren (wiki).
  • Filteri: uslovi zasnovani na formulama: možete sakriti pitanja, obojiti ih, a takođe i prikazati obaveštenja - sve je to fleksibilno konfigurisano u obliku logičkih uslova (wiki).
  • Interfejs: manja poboljšanja, kao što je prikazivanje tačnih datuma ili prikaz statusa pretplate na listi pitanja.
  • Habr interfejs: manja poboljšanja (opciono), na primjer, uvlačenje linija u komentarima.
  • Otvoreni izvor: Možete ga preraditi za sebe ako zaista želite (izvori).
  • Besplatno: MIT License.
  • Potrošnja memorije: 30-50MB, ovisno o mogućnostima i intenzitetu korištenja tostera
  • Veličina: 93KB za v0.8.1 (raspakovan, neumanjiti kod).
  • okvir: nedostaje, čist JS (minimalizam).
  • Kvalitet koda: prosjek, mješavina stilova, velike karakteristike, prljavi trikovi, malo komentara.
  • Dozvole: toster.ru, habr.com, notifications, storage, unlimitedStorage

U početku sam za sebe napravio ekstenziju s jednom jedinom svrhom: da pokažem postotak pitanja korisnika u kojima se potrudio kliknuti na dugme „Označi kao rješenje“. Zatim su, malo po malo, dodavani prvo jedan pa drugi, sve dok alat nije narastao u čudovište od stotinu kilobajta. Ipak, princip da se ne koristi ništa nepotrebno ispoštovan je do kraja.

Jedna od glavnih karakteristika sada je upotreba formula u postavkama. S njima možete učiniti gotovo sve, bilo što želite da upravljate svojom pažnjom. Glavna stvar je da znate šta želite. Skrivanje, promjena boja i obavještenja su tri glavna aspekta na koja treba obratiti pažnju kada radite s web-lokacijom. Filtriranje svega i svačega ključno je za udobnost.

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() ne može koristiti. Tako da se nećete mnogo zabaviti. Stoga sam morao da napišem sopstvenu štaku u 5 KB koda koristeći obrnuta poljska notacija. Ovo je, moglo bi se reći, vrlo steriliziran JS, kako u smislu funkcija tako i sintakse.

Nedavno je postojao post o Toster Extension. Za usporedbu, TE ima ljepši interfejs i neke karakteristike koje Toster Comfort nema. Međutim, moje proširenje naglašava potrošnju resursa. Međutim, niko vam ne smeta da koristite oba proširenja, ne bi trebalo da budu u sukobu.

Na dobar način, TC treba prepisati od nule, jer se rad može ubrzati najmanje dva puta, a rad sa kešom - 10 puta, napuštanjem localStorage i JSON.stringify() i promjenom nekih arhitektonskih rješenja. Ali nisam ja taj koji treba da uradim ovaj podvig. I obožavam princip "ako radi, ne diraj". Dok sam na odmoru, aktivno se bavim pitanjima i PR-om, ali ne na račun minimalizma. Hvala vam na pažnji!

Izvor: www.habr.com

Dodajte komentar