Grille-pain – tout va dans le composteur. Filtrez et profitez

Il se trouve que la ressource russe de questions-réponses sur des sujets informatiques est très populaire dans la CEI - Grille-pain. Cependant, il lui manquait quelque chose lorsque j’ai commencé à le connaître de près. Cela a abouti à une amélioration sous la forme d’une extension de navigateur. Rencontre moi.

Principales caractéristiques:

  • Nom: Confort du grille-pain.
  • Statistiques des utilisateurs : pourcentage de questions avec solutions ; le karma de Habr ; résumé du profil - tout cela est sur la liste de questions de Toaster.
  • Avis : en temps réel sur le site, sur l'icône, plus les notifications push, de nombreux paramétrages, le site doit être ouvert (wiki).
  • Filtres : conditions basées sur des formules : vous pouvez masquer les questions, les colorer et également afficher les notifications - tout cela est configuré de manière flexible sous la forme de conditions logiques (wiki).
  • Interface: améliorations mineures, comme l'affichage des dates exactes ou l'affichage du statut d'abonnement dans la liste des questions.
  • Interface Habr : améliorations mineures (facultatif), par exemple, lignes d'indentation dans les commentaires.
  • Open source: Vous pouvez le refaire vous-même si vous le souhaitez vraiment (code source).
  • Gratuit: Licence MIT.
  • Consommation de mémoire : 30-50Mo, selon les options et l'intensité d'utilisation du grille-pain
  • Taille: 93 Ko pour la v0.8.1 (code décompressé, non minifié).
  • Cadre: JS manquant et propre (minimalisme).
  • Qualité des codes : moyen, mélange de styles, grosses fonctionnalités, sales coups, peu de commentaires.
  • Autorisations : toster.ru, habr.com, notifications, storage, unlimitedStorage

Au départ, j'ai créé l'extension pour moi-même dans un seul but : afficher le pourcentage de questions de l'utilisateur dans lesquelles il a pris la peine de cliquer sur le bouton « Marquer comme solution ». Puis, petit à petit, l'un puis l'autre se sont ajoutés, jusqu'à ce que l'outil devienne un monstre d'une centaine de kilo-octets. Néanmoins, le principe de « ne rien utiliser d’inutile » a été suivi jusqu’au bout.

L'une des principales fonctionnalités est désormais l'utilisation de formules dans les paramètres. Vous pouvez faire presque tout avec eux, tout ce que vous voulez en gérant votre attention. L'essentiel est de savoir quoi vouloir. Le masquage, la modification des couleurs et les notifications sont les trois principaux aspects auxquels il faut prêter attention lorsque l'on travaille avec un site. Filtrer tout et n'importe quoi est la clé de la commodité.

Un exemple de règle flexible qui vous permettra de recevoir des notifications sur un sujet précis :

!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

Je dirai tout de suite que la fonction eval() n'a pas pu être utilisée. Vous ne vous amuserez donc pas beaucoup. Par conséquent, j'ai dû écrire ma propre béquille dans 5 Ko de code en utilisant notation polonaise inversée. Il s’agit, pourrait-on dire, d’un JS hautement stérilisé, tant en termes de fonctions que de syntaxe.

Il y a eu un post récemment sur Extension de grille-pain. En comparaison, TE a une interface plus agréable et certaines fonctionnalités que Toster Comfort n'a pas. Cependant, mon extension met l'accent sur la consommation de ressources. Cependant, personne ne vous dérange d’utiliser les deux extensions ; elles ne devraient pas entrer en conflit.

Dans le bon sens, TC doit être réécrit à partir de zéro, car le travail peut être accéléré au moins deux fois et travailler avec le cache - 10 fois, en abandonnant localStorage et JSON.stringify() et en modifiant certaines solutions architecturales. Mais ce n’est pas moi qui dois faire cet exploit. Et je suis fan du principe « si ça marche, n’y touche pas ». Pendant que je suis en vacances, je m'attaque activement aux problèmes et aux relations publiques, mais pas au détriment du minimalisme. Merci pour votre attention!

Source : www.habr.com

Ajouter un commentaire