Novas melhorias: Thumbnail dinâmica, Ícones do Bot do TabNews e outras 5 melhorias 🎉
Mais uma semana se passou desde a última publicação comemorando as melhorias e mais 7 novidades entraram em produção!
1) Thumbnails customizadas e dinâmicas
Agora qualquer publicação ao ser compartilhada em redes sociais como Facebook, Twitter ou qualquer outro lugar que cria uma imagem de pré-visualização, terá uma imagem customizada e dinâmica com informações internas, como título, autor, quantidade de comentários e a data da publicação, como essa própria publicação aqui (momento Inception):
Isso também vale para publicações que são respostas de outros conteúdos, como por exemplo ao compartilhar essa resposta aqui, será gerada automaticamente a thumbnail abaixo que possui um outro layout:
O mais legal é que tudo isto está disponível pela API e basta adicionar /thumbnail
na rota do conteúdo, olha só que massa:
Vamos usar como exemplo uma outra publicação, onde a URL para a página dela é o seguinte:
https://www.tabnews.com.br/GabrielSozinho/documentacao-da-api-do-tabnews
O conteúdo desta página pode ser acessada pela API apenas concatenando /api/v1/contents
no início do path
ali de cima:
https://www.tabnews.com.br/api/v1/contents/GabrielSozinho/documentacao-da-api-do-tabnews
E para acessar o PNG da thumbnail customizada, pasta concatenar /thumbnail
no final dessa URL:
https://www.tabnews.com.br/api/v1/contents/GabrielSozinho/documentacao-da-api-do-tabnews/thumbnail
Ter essa feature implementada já nesse estágio do projeto, com toda essa flexibilidade, é algo que me deixa muito surpreso e animado, pois é uma feature que o GitHub tem e isso só mostra como que nós iremos conseguir fazer qualquer coisa que grandes empresas fazem.
Esta implementação foi realizada por ErickCReis e as informações podem ser conferidas por essa Issue* 🎉
2) Logo do TabNews em SVG
Agora disponibilizamos de forma pública e em formato SVG todos os logos do TabNews e todas as suas variações, que ao total são 10 variações contendo fundo branco, fundo transparente, fundo escuro, outline, etc.
Tanto a criação dos SVGs quanto a implementação destes estáticos dentro do repositório foi realizada por ezequiaslopesdasilva e as informações podem ser conferidas por essa Issue* 🎉
3) Logos do Bot do TabNews em SVG
Agora também disponibilizamos de forma pública e em formato SVG todas as variações dos ícones do Bot do TabNews e ao total são 32 variações, por exemplo:
Não tenho palavras para demonstrar a surpresa que tive quando ví essas imagens sendo publicadas no Discord do TabNews.
Tanto a criação dos SVGs quanto a implementação destes estáticos dentro do repositório foi realizada por ezequiaslopesdasilva e as informações podem ser conferidas por essa Issue* 🎉
4) Ajuste de aria-label no TabCoinButtons
Quando eu implementei os botões de up/down vote das TabCoins, eu garantidamente copiei e colei de algum lugar que tinha outro ícone e não alterei a propriedade aria-label
que veio junto com o código. Então antes deste ajuste, ambos os botões estavam com o valor "Search"
, e após o ajuste estão com os valores "Creditar TabCoin"
e "Debitar TabCoin"
.
Esta implementação foi realizada por vinicius-arcanjo e as informações podem ser conferidas por essa Issue* 🎉
5) Renomear error_unique_code
para error_location_code
O objetivo inicial do error_unique_code
era cada erro ter um ID único que fosse fácil de identificar pela resposta pública da API em que local dentro do código o erro foi gerado, e de fato fica muito rápido só pelo retorno da API saber em qual condição o erro foi gerado, porque basta fazer uma busca global no código por aquela string.
Porém o nome error_unique_code
está errado, pois se o código for refatorado (no sentido dele ter o mesmo comportamento final, mas o erro é gerado em outro lugar do código), a string que está escrita dentro do erro irá mudar, pois a posição irá mudar.
Mas agora isto está ajustado e todas as declarações desta propriedade dentro do projeto foram renomeadas para error_location_code
, o que fez alterar numa paulada só 38
arquivos.
E assumimos que era improvável alguém estar usando essa propriedade em algum client, por isso realizamos esta breaking change sem uma notificação prévia.
Esta implementação foi realizada por vinicius-arcanjo e as informações podem ser conferidas por essa Issue* 🎉
6) Nova regra para o slug
sobre underscore
e ampersand
A função que gera o slug (texto-nesse-formato-limpo-para-url
) estava convertendo alguns títulos de forma errada, então no caso abaixo:
- Título de exemplo:
Testando children_deep_count
- Antes gerava isso como slug:
testando-childrendeepcount
- Agora gera isso:
testando-children-deep-count
Esta implementação foi realizada por vinicius-arcanjo e as informações podem ser conferidas por essa Issue* 🎉
7) Divisor padrão na data de publicação no ContentList
Esta tarefa na verdade começou de outra forma e era sobre a Lista de Conteúdos que monta a Home (através do componente ContentList
), onde a idéia era mover o autor da publicação para a última posição... mas como apontado pelo aprendendofelipe, não ficou legal e dificultou a leitura da data de publicação.
Com isso, apenas colocamos o divisor padrão entre o autor e a data para isolar e facilitar a leitura dela.
Como era antes
Como ficou agora
Esta implementação foi realizada por vinicius-arcanjo e as informações podem ser conferidas por essa Issue* 🎉
Conclusão
Turma, eu estou correndo um risco alto de me tornar repetitivo, mas não sei mais o que dizer a não ser que vocês são SENSACIONAIS!!! Olha tudo que surgiu nessa última semana e tudo vindo da comunidade!! Eu não tenho mais dúvida alguma que nós vamos construir a melhor plataforma possível de conteúdos sobre tecnologia!!! Ainda mais porque há várias outras melhorias aguardando revisão lá no repositório 🤝
Tenham todos uma ótima semana!!!
⚠️ O repositório Open Source do TabNews ainda está em Modo Privado. Caso queira receber um convite para participar, leia esta publicação.