È così che è successo: nel CIS, la risorsa russa di domande e risposte nel campo IT è piuttosto popolare — . Tuttavia, mancava qualcosa quando ho iniziato a familiarizzare con essa. Questo ha portato a un miglioramento sotto forma di un'estensione per il browser. Ecco a voi.
Caratteristiche principali:
- Nome: Toster Comfort.
- Statistiche degli utenti: percentuale di domande risolte; karma da Habr; sintesi dal profilo - tutto questo è nella lista delle domande di Toster.
- Notifiche: in tempo reale sul sito, sull'icona, più notifiche push, molte impostazioni, il sito deve essere aperto ().
- Filtri: condizioni basate su formule: è possibile nascondere domande, colorarle e anche mostrare notifiche - tutti questi aspetti sono configurabili in modo flessibile tramite condizioni logiche ().
- Interfaccia: piccoli miglioramenti, ad esempio la visualizzazione delle date esatte o la visualizzazione dello stato dell'iscrizione nella lista delle domande.
- Interfaccia di Habr: piccoli miglioramenti (opzionali), ad esempio linee per i rientri nei commenti.
- Open source: può essere adattato secondo le proprie esigenze, se si desidera veramente ().
- Gratis: Licenza MIT.
- Piattaforma: , .
- Consumo di memoria: 30-50MB, a seconda delle opzioni e dell'intensità d'uso di Toster
- Dimensione: 93KB per v0.8.1 (codice estratto, non minimizzato).
- Framework: assente, puro JS (minimalismo).
- Qualità del codice: media, mescolanza di stili, funzioni estese, trucchi sporchi, pochi commenti.
- Permessi:
toster.ru, habr.com, notifiche, archiviazione, unlimitedStorage
Inizialmente, ho creato l'estensione per me stesso con un unico obiettivo: mostrare la percentuale di domande in cui l'utente ha cliccato il pulsante 'Segna come risolto'. Poi, poco a poco, sono state aggiunte varie funzionalità finché lo strumento non si è trasformato in un mostro di cento kilobyte. Tuttavia, il principio di 'non usare nulla di superfluo' è stato rispettato fino alla fine.
Una delle funzionalità principali ora è l'uso delle formule nelle impostazioni. Con esse è possibile fare praticamente qualsiasi cosa, qualsiasi desiderio di gestione della propria attenzione. L'importante è sapere cosa si desidera. Nascondere, cambiare colore e le notifiche — questi sono i tre aspetti principali dell'attenzione durante l'uso del sito. Filtrare tutto e tutti è la chiave per la comodità.
Esempio di una regola flessibile che permetterà di ricevere notifiche su un argomento specifico:
!tag("Blocco della pubblicità") && !contains(t,"pubblicità") && contains(t,"blocco") && !tag("HTACCESS") || containsWord(t,"rcn") || contains(t,"roskomnadzor") || contains(t,"roskompozor") || contains(t,"governo") || contains(t,"vietato") || contains(t,"vietato") || contains(t,"pirata") || containsWord(t,"bypass") || containsWord(t,"rostelecom") || containsWord(t,"Yarovaya") || containsWord(t,"rf") && tag("Reti informatiche") = notifyDico subito che non era possibile usare la funzione eval(). Quindi non è che ci si possa sbizzarrire molto. Così ho dovuto scrivere la mia soluzione temporanea di 5 KB di codice, utilizzando . Si può dire che sia un JS molto limitato, sia nelle funzioni che nella sintassi.
Recentemente c'era un post su . Se si paragona, TE ha un'interfaccia più gradevole e alcune funzionalità che non ci sono in Toster Comfort. Tuttavia, il mio ampliamento pone l'accento sul consumo delle risorse. Tuttavia, nessuno impedisce di utilizzare entrambe le estensioni, non dovrebbero entrare in conflitto.
In effetti, TC dovrebbe essere riscritto da zero, perché si potrebbe accelerare il lavoro di almeno il doppio e il lavoro con la cache di dieci volte, rinunciando a localStorage e JSON.stringify() e modificando alcune decisioni architettoniche. Ma questo compito spetta ad altre persone. E io sono un sostenitore del principio "se funziona, non toccarlo". Fino a quando non posso prendermi una pausa, accolgo attivamente issues e PR, ma non a scapito del minimalismo. Grazie per l'attenzione!
Fonte: habr.com
