Acontece que um recurso russo de perguntas e respostas sobre TI é bastante popular na CEI — . 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 ().
- 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 ().
- 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 ().
- Grátis: Licença MIT.
- Plataforma: , .
- 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") = notifyVou 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 . Isso pode ser considerado um JS bastante limitado, tanto em funções quanto em sintaxe.
Recentemente houve um post sobre . 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
