Tostapane: tutto va nella compostiera. Filtra e divertiti

Si dà il caso che la risorsa russa di domande e risposte su argomenti IT sia piuttosto popolare nella CSI - tostapane. Tuttavia, gli mancava qualcosa quando ho iniziato a conoscerlo da vicino. Ciò ha comportato un miglioramento sotto forma di un'estensione del browser. Incontrami.

Caratteristiche principali:

  • Titolo: Comodità del tostapane.
  • Statistiche utente: percentuale di domande con soluzioni; karma da Habr; riepilogo dal profilo: tutto questo è nell'elenco delle domande di Toaster.
  • Avvisi: in tempo reale sul sito, sull'icona, più notifiche push, tante impostazioni, il sito deve essere aperto (вики).
  • Filtri: condizioni basate su formule: puoi nascondere domande, colorarle e anche mostrare notifiche - tutto questo è configurato in modo flessibile sotto forma di condizioni logiche (вики).
  • interfaccia: miglioramenti minori, come mostrare le date esatte o visualizzare lo stato dell'abbonamento nell'elenco delle domande.
  • Interfaccia Habr: miglioramenti minori (facoltativi), ad esempio, righe di rientro nei commenti.
  • Open source: Puoi rifarlo da solo se lo desideri davvero (fonti).
  • Gratuito: Licenza MIT.
  • Consumo di memoria: 30-50 MB, a seconda delle opzioni e dell'intensità di utilizzo del tostapane
  • Dimensioni: 93KB per v0.8.1 (codice non compresso, non minimizzato).
  • Struttura: JS mancante e pulito (minimalismo).
  • Qualità del codice: nella media, mix di stili, grandi funzionalità, trucchi sporchi, pochi commenti.
  • permessi: toster.ru, habr.com, notifications, storage, unlimitedStorage

Inizialmente, ho realizzato l’estensione per me stesso con un unico scopo: mostrare la percentuale di domande dell’utente in cui si è preso la briga di fare clic sul pulsante “Segna come soluzione”. Poi, poco a poco, ne furono aggiunti prima l'uno e poi l'altro, finché lo strumento non diventò un mostro di cento kilobyte. Tuttavia il principio “non utilizzare nulla di superfluo” è stato seguito fino alla fine.

Una delle caratteristiche principali ora è l'uso delle formule nelle impostazioni. Puoi fare quasi tutto con loro, tutto ciò che vuoi per gestire la tua attenzione. La cosa principale è sapere cosa volere. Nascondere, cambiare colori e notifiche sono i tre aspetti principali a cui prestare attenzione quando si lavora con un sito. Filtrare qualsiasi cosa è fondamentale per la comodità.

Un esempio di regola flessibile che ti consentirà di ricevere notifiche su un argomento specifico:

!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

Dirò subito che la funzione eval() non può essere utilizzata. Quindi non ti divertirai molto. Pertanto, ho dovuto scrivere la mia stampella in 5 KB di codice utilizzando notazione polacca inversa. Questo, si potrebbe dire, è JS altamente castrato, sia in termini di funzioni che di sintassi.

Di recente è stato pubblicato un post a riguardo Estensione Toster. In confronto, TE ha un'interfaccia migliore e alcune funzionalità che Toster Comfort non ha. Tuttavia, la mia estensione enfatizza il consumo di risorse. Tuttavia, nessuno ti disturba a utilizzare entrambe le estensioni; non dovrebbero entrare in conflitto.

In senso buono, TC deve essere riscritto da zero, perché il lavoro può essere accelerato almeno due volte e lavorare con la cache - 10 volte, abbandonando localStorage e JSON.stringify() e modificando alcune soluzioni architettoniche. Ma non sono io a dover fare questa impresa. E sono un sostenitore del principio “se funziona, non toccarlo”. Mentre sono in vacanza, mi occupo attivamente di questioni e PR, ma non a scapito del minimalismo. Grazie per l'attenzione!

Fonte: www.habr.com

Aggiungi un commento