Toster: todo en compostera. Filtra y disfruta

Resulta que en la CEI el recurso ruso Q&A sobre temas de TI es bastante popular — Tostadora. Sin embargo, le faltaba algo cuando comencé a familiarizarme con él. Esto se tradujo en una mejora en forma de extensión de navegador. Conózcanla.

Características clave:

  • Nombre: Toster Comfort.
  • Estadísticas de usuarios: porcentaje de preguntas con solución; karma de Habr; resumen del perfil — todo esto en la lista de preguntas de Toster.
  • Notificaciones: en tiempo real en el sitio, en el ícono, además de notificaciones push, muchas configuraciones, el sitio debe estar abierto (wiki).
  • Filtros: condiciones basadas en fórmulas: se pueden ocultar preguntas, colorearlas y mostrar notificaciones; todo esto se configura de manera flexible en forma de condiciones lógicas (wiki).
  • Interfaz: mejoras menores, por ejemplo, mostrar fechas exactas o mostrar el estado de la suscripción en la lista de preguntas.
  • Interfaz de Habr: mejoras menores (opcional), por ejemplo, líneas en las sangrías de los comentarios.
  • Gratis: Licencia MIT.
  • Consumo de memoria: 30-50 MB, dependiendo de las opciones y la intensidad de uso de Toster.
  • Tamaño: 93 KB para v0.8.1 (código descomprimido, no minimizado).
  • Framework: no hay, puro JS (minimalismo).
  • Calidad del código: media, mezcla de estilos, funciones grandes, técnicas sucias, pocos comentarios.
  • Permisos: toster.ru, habr.com, notifications, storage, unlimitedStorage.

Inicialmente, la extensión fue creada para mí mismo con un único objetivo: mostrar el porcentaje de preguntas del usuario en las que se dignó a presionar el botón "Marcar como resuelto". Luego, poco a poco, fueron agregándose unas y otras características hasta que la herramienta creció hasta convertirse en un monstruo de cien kilobytes. Sin embargo, el principio de "no usar nada innecesario" se mantuvo hasta el final.

Una de las principales características ahora es el uso de fórmulas en la configuración. Con ellas se puede hacer prácticamente lo que se desee, cualquier requerimiento para gestionar la atención. Lo principal es saber qué querer. Ocultar, cambiar el color y las notificaciones — esos son los tres aspectos principales de la atención al trabajar en el sitio. Filtrar todo y cualquier cosa, es clave para la comodidad.

Ejemplo de una regla flexible que permitirá recibir notificaciones sobre un tema específico:

!tag("Bloqueo de anuncios") && !contains(t,"anuncios") && contains(t,"bloqueo") && !tag("HTACCESS") || containsWord(t,"rkn") || contains(t,"roskomnadzor") || contains(t,"roskomposor") || contains(t,"estado") || contains(t,"prohibido") || contains(t,"pirata") || containsWord(t,"elusión") || containsWord(t,"rostelecom") || containsWord(t,"yarovaya") || containsWord(t,"rf") && tag("Redes informáticas") = notify

Para ser claro, no se podía usar la función eval(). Así que no hay mucho margen de maniobra. Por eso tuve que escribir mi propio truco de 5 KB de código, utilizando notación polaca inversa. Esto, se puede decir, es JS muy limitado, tanto en funciones como en sintaxis.

Recientemente hubo una publicación sobre Extensión Toster. Si comparamos, TE tiene una interfaz más agradable y algunas funciones que no están en Toster Comfort. Sin embargo, mi extensión se centra en el consumo de recursos. No obstante, nadie impide usar ambas extensiones, no deberían entrar en conflicto.

En realidad, TC debería reescribirse desde cero, porque se podría acelerar el trabajo al menos al doble, y el trabajo con caché — diez veces, renunciando a localStorage y JSON.stringify() y cambiando algunas decisiones arquitectónicas. Pero esa hazaña ya no me corresponde a mí. Y soy un defensor del principio de «si funciona, no lo toques». Mientras dure el descanso, acepto activamente issues y PR, pero sin menoscabar el minimalismo. ¡Gracias por su atención!

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster