Toster — tudo em um compostor. Filtre e desfrute.

Acontece que um recurso russo de perguntas e respostas sobre TI é bastante popular na CEI — Tostador. No entanto, algo lhe faltava quando comecei a me familiarizar com ele. Isso resultou em uma melhoria na forma de uma extensão de navegador. Conheça.

Recursos principais:

  • Nome: Toster Comfort.
  • Estatísticas de usuários: porcentagem de perguntas com solução; karma do Habr; resumo do perfil — tudo isso na lista de perguntas do Tostador.
  • Notificações: em tempo real no site, no ícone, além de notificações push, muitas configurações, o site deve estar aberto (wiki).
  • Filtros: condições baseadas em fórmulas: é possível ocultar perguntas, colorir, assim como mostrar notificações — tudo isso é configurável de forma flexível por meio de condições lógicas (wiki).
  • Interface: melhorias pequenas, por exemplo, exibir datas exatas ou mostrar o status da assinatura na lista de perguntas.
  • Interface do Habr: melhorias pequenas (opcional), por exemplo, linhas nas indentizações em comentários.
  • Código aberto: pode ser modificado se realmente desejar (códigos-fonte).
  • Grátis: Licença MIT.
  • Consumo de memória: 30-50MB, dependendo das opções e intensidade de uso do Tostador
  • Tamanho: 93KB para v0.8.1 (código descompactado, não minimizado).
  • Framework: não existe, código JS puro (minimalismo).
  • Qualidade do código: média, mistura de estilos, funções grandes, truques sujos, poucos comentários.
  • Permissões: toster.ru, habr.com, notificações, armazenamento, armazenamento ilimitado

Inicialmente, a extensão foi feita para mim com um único objetivo: mostrar a porcentagem de perguntas do usuário em que ele se deu ao trabalho de clicar no botão 'Marcar como solução'. Depois, gradualmente, foram adicionadas novas funcionalidades, até que a ferramenta cresceu para um monstro de cem quilobytes. Entretanto, o princípio de 'não usar nada a mais' foi mantido até o fim.

Uma das principais funcionalidades agora é o uso de fórmulas nas configurações. Com elas, é possível fazer praticamente o que quiser, qualquer desejo de gerenciar sua atenção. O importante é saber o que se deseja. Ocultar, mudar a cor e notificações — estes são os três aspectos principais de atenção ao trabalhar com o site. A filtragem de tudo e de todos — a chave para conveniência.

Exemplo de uma regra flexível que permitirá receber notificações sobre um determinado tema:

!tag("Bloqueio de anúncios") && !contains(t,"anúnci") && contains(t,"bloquei") && !tag("HTACCESS") || containsWord(t,"rkn") || contains(t,"roskomnadzor") || contains(t,"roskompozor") || contains(t,"governo") || contains(t,"proibido") || contains(t,"proibid") || contains(t,"pirata") || containsWord(t,"bypass") || containsWord(t,"rostelecom") || containsWord(t,"yarovaya") || containsWord(t,"rf") && tag("Redes de Computadores") = notify

Vou ser direto: a função eval() não deveria ser usada. Então não tem muito espaço para exageros. Tive que escrever uma solução alternativa de 5 KB, usando notação polonesa reversa. Isso pode ser considerado um JS bastante limitado, tanto em funções quanto em sintaxe.

Recentemente houve um post sobre Toster Extension. Comparando, o TE tem uma interface mais agradável e algumas funções que não estão no Toster Comfort. No entanto, minha extensão se concentra no consumo de recursos. De qualquer forma, ninguém impede o uso de ambas as extensões, elas não devem conflitar.

Seria adequado reescrever o TC do zero, pois é possível acelerar o trabalho no mínimo em duas vezes, e a manipulação do cache — em 10 vezes, desistindo do localStorage e JSON.stringify() e mudando algumas decisões arquitetônicas. Mas essa tarefa não cabe a mim. Eu sou a favor do princípio ‘funciona — não mexa’. Enquanto isso, estou de férias, aceitando ativamente issues e PRs, mas sem comprometer o minimalismo. Obrigado pela atenção!

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster