Ícones de Tag

Sim, esse é o problema com os grupos de tags.

Sim, acabei de verificar e parece ser uma correção bastante simples. O núcleo precisa usar o renderizador de tags no menu suspenso de filtros (isso faria com que correspondesse ao seletor de tags no compositor). Vou investigar isso em breve.

3 curtidas

Acabei de notar que o renderizador de categoria também é substituído no menu suspenso exibido ao #mencionar no editor, mostrando o ícone da categoria do componente do tema. No entanto, o renderizador de tags exibe um renderizador diferente de todos os outros lugares, com um ícone de tag ao lado do nome da tag:

@pmusaraj, você acha que é possível fazer com que esse renderizador use o mesmo substituído pelo componente do tema?

Obrigado.

2 curtidas

Acho que padronizar isso faria sentido, sim. Você está interessado em trabalhar em um PR para isso, @renato?

(Para sua informação, há um PR aberto para o menu suspenso de filtro, que provavelmente será mesclado na próxima semana.)

4 curtidas

Comecei a usar este componente para alertar visualmente os usuários ao aplicar uma tag que acionará uma integração de chat.

Seria possível colorir opcionalmente o texto da tag diretamente a partir deste componente? Vi uma opção manual no fórum aqui. Obrigado pelo ótimo componente!

edit: Também seria útil adicionar vários ícones a uma tag. Obrigado por considerar!

1 curtida

Isso pode ser feito com SCSS no seu tema; não temos planos de adicionar essa funcionalidade ao componente.

Também não há planos para permitir múltiplos ícones por tag.

2 curtidas

Ei @pmusaraj

Já existe alguma solução alternativa para definir um ícone de fallback por grupo de tags?

É possível alterar os ícones em todas as tags? Em vez de marcadores, algo diferente? Se entendi corretamente, este componente é apenas para tags listadas.

Resposta encontrada:

.discourse-tags .bullet:before { 
    background: transparent;
    content: svg-uri('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" version="1.1" style="shape-rendering:geometricPrecision;text-rendering:geometricPrecision;image-rendering:optimizeQuality;" viewBox="0 0 467 856.25" x="0px" y="0px" fill-rule="evenodd" clip-rule="evenodd"><defs><style type="text/css">.fil0 {fill:black}</style></defs><g><path class="fil0" d="M234 0c129,0 233,105 233,234 0,64 -26,122 -68,165l-165 286 -166 -286c-42,-43 -68,-101 -68,-165 0,-129 105,-234 234,-234zm0 125c50,0 90,40 90,90 0,50 -40,91 -90,91 -50,0 -91,-41 -91,-91 0,-50 41,-90 91,-90z"/></g></svg>'); 
    vertical-align:baseline;
}

Imagens de ícones SVG podem ser baixadas gratuitamente em sites como https://thenounproject.com/

1 curtida

Tags em formato de lista + cor da tag

Se você está usando tags em formato de lista e:

  • deseja ter as mesmas cores para o ícone da tag e o texto da tag
  • deseja mostrar o marcador apenas se não houver ícone da tag definido

aqui está como fiz para as tags books e science-fiction:

Resultado final:

  1. Configuração do componente Tag icons (este componente)

  1. Configuração de um componente secundário que deve ser mantido sincronizado com Tag Icons
    Neste componente, estamos fazendo duas coisas:
    1. Ocultar o marcador para tags específicas
    2. Colorir o texto da tag com a mesma cor do ícone

Para que isso funcione, criamos um novo componente de tema: Tag Icons extra.
Na seção Common/CSS:

  1. Adicione o seguinte mixin (necessário apenas uma vez):
@mixin updateBulletTag ($col) {
    &.bullet {
        color: $col !important;
    }
    &.bullet::before {
        content: none !important;
    }
}
  1. Para cada tag que deseja editar, cole o seguinte e substitua REPLACEMETAG pelo nome da tag e REPLACEMECOLOR pela mesma cor do ícone:
[data-tag-name="REPLACEMETAG"] {
    @include updateBulletTag(REPLACEMECOLOR);
}

7 curtidas

Relatório de bug: no seletor de tags de uma postagem, os ícones não estão coloridos:

Aqui, os ícones deveriam ter a mesma cor do texto (o texto é meu CSS personalizado):

Minha configuração:

2 curtidas

@pmusaraj Tenho cerca de 50 tags para as quais adicionei ícones há duas semanas. Agora, ao verificar minha lista de tags, percebi que cinco delas não têm mais ícones… E mesmo que eu as exclua e as recrie, nada acontece. Talvez eu tente excluir todas as 50 e recriá-las todas para ver se isso ajuda, mas gostaria de não precisar fazer isso, já que é um trabalho chato…

Você pode postar uma captura de tela das suas configurações, indicando as tags cujos ícones não estão funcionando mais?

2 curtidas

Hmm, é curioso que as últimas cinco entradas não estão funcionando. Você pode tentar inverter uma das últimas cinco com outra acima e ver o que acontece? Parece que o valor da configuração está sendo truncado em algum ponto…

3 curtidas

Só para você saber, não foram os últimos cinco que originalmente começaram a não aparecer. Eram cinco aparentemente aleatórios. Depois, eu os excluí e os re-inseri para ver se apareceriam (o que não aconteceu). É por isso que parece que eles não estão aparecendo, porque são os últimos.

Dito isso, excluí a tag de verificação de prova e a re-inseri para que ficasse no início da fila. Estava laranja e continua laranja, aparecendo corretamente. Ainda parece ser apenas aqueles cinco…

Existe alguma maneira de usar essas variáveis de cor para as cores dos ícones das tags?

Você pode usar qualquer cor para os ícones das tags.
tagicons
Ou o que você quer dizer?

Boa pergunta, sim, parece que você pode usar variáveis CSS personalizadas. Isso funcionou para mim:

2 curtidas

Ah, meu erro. Acabei de encontrar o meu erro e está funcionando perfeitamente.
Maravilhoso que seja possível!

1 curtida

Existe alguma maneira de usar um PNG para o ícone? Tenho todas as imagens que quero usar em formato PNG, e convertê-las para SVG apenas as estraga. Além disso, quando faço a conversão, os ícones não carregam mesmo assim.

Tenho mais de 400 imagens que precisaria converter e, como nem consigo fazer uma conversão funcionar, seria ótimo poder usar os PNGs que já tenho.

Este componente não é destinado ao uso com arquivos PNG. No seu caso, você provavelmente pode usar apenas CSS.

2 curtidas