Tosteris - viss nonāk kompostē. Filtrējiet un izbaudiet

Sagadījies, ka krievu jautājumu un atbilžu resurss par IT tēmām ir diezgan populārs NVS - Toasters. Tomēr viņam kaut kā pietrūka, kad sāku viņu tuvāk iepazīt. Tā rezultātā tika uzlabots pārlūka paplašinājuma veids. Satiec mani.

Galvenās iezīmes:

  • Nosaukums: Tostera komforts.
  • Lietotāju statistika: jautājumu procentuālais daudzums ar risinājumiem; karma no Habr; kopsavilkums no profila - tas viss ir Tostera jautājumu sarakstā.
  • Paziņojumi: reāllaikā vietnē, uz ikonas, plus push paziņojumi, daudzi iestatījumi, vietnei jābūt atvērtai (wiki).
  • Filtri: nosacījumi, kuru pamatā ir formulas: varat paslēpt jautājumus, krāsot tos un arī parādīt paziņojumus - tas viss ir elastīgi konfigurēts loģisku nosacījumu veidā (wiki).
  • Saskarne: nelieli uzlabojumi, piemēram, precīzu datumu parādīšana vai abonēšanas statusa parādīšana jautājumu sarakstā.
  • Habr interfeiss: nelieli uzlabojumi (pēc izvēles), piemēram, atkāpju rindas komentāros.
  • Atvērtais avots: Jūs varat to pārtaisīt sev, ja patiešām vēlaties (avoti).
  • Free: MIT licence.
  • Atmiņas patēriņš: 30-50 MB, atkarībā no tostera iespējām un lietošanas intensitātes
  • Izmērs: 93 KB versijai 0.8.1 (neiesaiņots, kods nav samazināts).
  • Ietvars: trūkst, tīrs JS (minimālisms).
  • Koda kvalitāte: vidēji, stilu sajaukums, lielas iezīmes, netīri triki, maz komentāru.
  • Atļaujas: toster.ru, habr.com, notifications, storage, unlimitedStorage

Sākotnēji paplašinājumu izveidoju sev ar vienu vienīgu mērķi: parādīt, cik procentu no lietotāja jautājumiem viņš pacentās noklikšķināt uz pogas “Atzīmēt kā risinājumu”. Tad pamazām vispirms tika pievienots viens un pēc tam vēl viens, līdz instruments izauga par simts kilobaitu lielu briesmoni. Tomēr princips “nelietot neko nevajadzīgu” tika ievērots līdz galam.

Viena no galvenajām funkcijām tagad ir formulu izmantošana iestatījumos. Ar viņiem jūs varat darīt gandrīz jebko, jebko, ko vēlaties pārvaldīt savu uzmanību. Galvenais ir zināt, ko gribēt. Slēpšana, krāsu maiņa un paziņojumi ir trīs galvenie aspekti, kam jāpievērš uzmanība, strādājot ar vietni. Ērtības atslēga ir jebko un visu filtrēt.

Piemērs elastīgam noteikumam, kas ļaus saņemt paziņojumus par konkrētu tēmu:

!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

Uzreiz teikšu, ka funkciju eval() nevarēja izmantot. Tātad jums nebūs daudz jautrības. Tāpēc man bija jāraksta savs kruķis 5 KB kodā, izmantojot reversais poļu apzīmējums. Tas, varētu teikt, ir ļoti kastrēts JS gan funkciju, gan sintakses ziņā.

Nesen bija ieraksts par Toster paplašinājums. Salīdzinājumam, TE ir jaukāks interfeiss un dažas funkcijas, kuru Toster Comfort nav. Tomēr mans paplašinājums uzsver resursu patēriņu. Tomēr neviens netraucē jums izmantot abus paplašinājumus; tiem nevajadzētu būt pretrunā.

Labā nozīmē TC ir jāpārraksta no nulles, jo darbu var paātrināt vismaz divas reizes, bet strādāt ar kešatmiņu - 10 reizes, atsakoties no localStorage un JSON.stringify() un mainot dažus arhitektūras risinājumus. Bet tas nav man, kam šis varoņdarbs ir jādara. Un es esmu principa "ja tas darbojas, neaiztieciet to" piekritējs. Kamēr esmu atvaļinājumā, es aktīvi nodarbojos ar jautājumiem un PR, bet ne uz minimālisma rēķina. Paldies par jūsu uzmanību!

Avots: www.habr.com

Pievieno komentāru