Τοστιέρα - όλα μπαίνουν στον κομποστοποιητή. Φιλτράρετε και απολαύστε

Συμβαίνει ότι ο ρωσικός πόρος Q&A για θέματα πληροφορικής είναι αρκετά δημοφιλής στην ΚΑΚ - Τοστιέρα. Ωστόσο, κάτι του έλειπε όταν άρχισα να τον γνωρίζω από κοντά. Αυτό είχε ως αποτέλεσμα τη βελτίωση της μορφής επέκτασης προγράμματος περιήγησης. Συνάντησέ με.

Βασικά χαρακτηριστικά:

  • Τίτλος: Τοστιέρα Comfort.
  • Στατιστικά χρηστών: ποσοστό ερωτήσεων με λύσεις. κάρμα από το Habr; περίληψη από το προφίλ - όλα αυτά βρίσκονται στη λίστα ερωτήσεων του Toaster.
  • Σημειώσεις: σε πραγματικό χρόνο στον ιστότοπο, στο εικονίδιο, συν ειδοποιήσεις push, πολλές ρυθμίσεις, ο ιστότοπος πρέπει να είναι ανοιχτός (wiki).
  • Φίλτρα: συνθήκες που βασίζονται σε τύπους: μπορείτε να αποκρύψετε ερωτήσεις, να τις χρωματίσετε και επίσης να εμφανίσετε ειδοποιήσεις - όλα αυτά διαμορφώνονται ευέλικτα με τη μορφή λογικών συνθηκών (wiki).
  • Διεπαφή: μικρές βελτιώσεις, όπως εμφάνιση ακριβών ημερομηνιών ή εμφάνιση κατάστασης συνδρομής στη λίστα ερωτήσεων.
  • Διεπαφή Habr: μικρές βελτιώσεις (προαιρετικά), για παράδειγμα, γραμμές εσοχής στα σχόλια.
  • Ανοιχτή πηγή: Μπορείτε να το ξαναφτιάξετε μόνοι σας αν θέλετε πραγματικά (πηγές).
  • Δωρεάν: Άδεια MIT.
  • Κατανάλωση μνήμης: 30-50MB, ανάλογα με τις επιλογές και την ένταση χρήσης της Τοστιέρας
  • Μέγεθος: 93KB για την έκδοση 0.8.1 (χωρίς συσκευασία, όχι ελαχιστοποιημένος κωδικός).
  • Δομή: λείπει, καθαρό JS (μινιμαλισμός).
  • Ποιότητα κώδικα: μέσος όρος, συνδυασμός στυλ, μεγάλα χαρακτηριστικά, βρώμικα κόλπα, λίγα σχόλια.
  • Άδειες: toster.ru, habr.com, notifications, storage, unlimitedStorage

Αρχικά, έφτιαξα την επέκταση για μένα με έναν μόνο σκοπό: να δείξω το ποσοστό των ερωτήσεων του χρήστη στις οποίες μπήκε στον κόπο να κάνει κλικ στο κουμπί "Επισήμανση ως λύση". Μετά, σιγά σιγά, προστέθηκαν πρώτα ένα και μετά ένα άλλο, ώσπου το εργαλείο μεγάλωσε σε ένα τέρας εκατό κιλομπάιτ. Εντούτοις, η αρχή «να μη χρησιμοποιούμε τίποτα περιττό» ακολουθήθηκε μέχρι τέλους.

Ένα από τα κύρια χαρακτηριστικά τώρα είναι η χρήση τύπων στις ρυθμίσεις. Μπορείτε να κάνετε σχεδόν τα πάντα μαζί τους, ό,τι θέλετε για να διαχειριστείτε την προσοχή σας. Το κύριο πράγμα είναι να ξέρεις τι να θέλεις. Η απόκρυψη, η αλλαγή χρωμάτων και οι ειδοποιήσεις είναι οι τρεις κύριες πτυχές που πρέπει να προσέχετε όταν εργάζεστε με έναν ιστότοπο. Το φιλτράρισμα οτιδήποτε και τα πάντα είναι το κλειδί για την ευκολία.

Ένα παράδειγμα ευέλικτου κανόνα που θα σας επιτρέψει να λαμβάνετε ειδοποιήσεις για ένα συγκεκριμένο θέμα:

!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

Θα πω αμέσως ότι η συνάρτηση eval() δεν μπορούσε να χρησιμοποιηθεί. Έτσι δεν θα διασκεδάσετε πολύ. Ως εκ τούτου, έπρεπε να γράψω το δικό μου δεκανίκι σε 5 KB κώδικα χρησιμοποιώντας αντίστροφη πολωνική σημειογραφία. Αυτό, θα έλεγε κανείς, είναι εξαιρετικά στειρωμένο JS, τόσο από άποψη συναρτήσεων όσο και από άποψη σύνταξης.

Υπήρξε πρόσφατα μια ανάρτηση σχετικά με Toster Extension. Συγκριτικά, το TE έχει καλύτερη διεπαφή και ορισμένες δυνατότητες που δεν διαθέτει το Toster Comfort. Ωστόσο, η επέκτασή μου δίνει έμφαση στην κατανάλωση πόρων. Ωστόσο, κανείς δεν σας ενοχλεί να χρησιμοποιήσετε και τις δύο επεκτάσεις· δεν πρέπει να έρχονται σε αντίθεση.

Με την καλή έννοια, το TC πρέπει να ξαναγραφτεί από την αρχή, επειδή η εργασία μπορεί να επιταχυνθεί τουλάχιστον δύο φορές και να εργαστεί με την κρυφή μνήμη - 10 φορές, εγκαταλείποντας το localStorage και το JSON.stringify() και αλλάζοντας ορισμένες αρχιτεκτονικές λύσεις. Αλλά δεν είμαι εγώ που πρέπει να κάνω αυτό το κατόρθωμα. Και είμαι λάτρης της αρχής «αν λειτουργεί, μην το αγγίζεις». Όσο είμαι σε διακοπές, ασχολούμαι ενεργά με θέματα και PR, αλλά όχι εις βάρος του μινιμαλισμού. Σας ευχαριστώ για την προσοχή σας!

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο