Nuvem de Tags do Discourse

Adiciona uma tag tradicional (ou quase), responsiva, em “nuvem” à página de Tags e, opcionalmente, ao topo da Lista de Descoberta para facilitar a navegação. As tags são organizadas automaticamente em uma nuvem, enquanto seu tamanho relativo representa a frequência de uso.

Ainda não conhece as Tags do Discourse? Acesse aqui primeiro: Discourse Tags

NB É deliberadamente apenas para Desktop (e tablet) no momento, devido aos alvos de toque potencialmente pequenos.

Configurações

A Nuvem na página inicial está DESLIGADA por padrão.

Você pode ajustar a escala das palavras e a altura da tela para tornar as coisas mais compactas. Posso eventualmente tornar as coisas colapsáveis em uma versão futura.

Você pode ajustar as configurações de cor para torná-las monocromáticas.

NB Se a configuração tags listed by group estiver LIGADA, o componente deve percorrer os grupos e adicionar as tags incorporadas.

Veja em ação

Demonstração ao vivo aqui: https://starzen.space/tags

Problemas conhecidos

  • Se você não tornar a nuvem grande o suficiente, ou a escala das tags pequena o suficiente, ela omitirá arbitrariamente algumas tags. Experimente.

  • Devido aos alvos de toque potencialmente pequenos, não está habilitado em dispositivos móveis. Considere suas configurações cuidadosamente ao usar em tablets. Posso fornecer uma maneira de desativar em tablets no futuro.

  • Sem suporte automático ao modo escuro. O esquema de cores padrão é escolhido para ser neutro e funcionar em temas claros e escuros. É possível torná-lo todo branco ou todo preto ajustando as configurações de cor. Potencialmente, você pode instalar dois e configurá-los de forma diferente para o modo escuro. Terei que pensar em adicionar alguma automação aqui.

  • Se você tiver a animação ativada e alternar rapidamente entre as palavras, elas encolherão. Isso é inevitável, acredito, pois você não dá tempo suficiente para a animação de “mouse out”. Por isso, forneço uma maneira de desativar a animação nas configurações.

Créditos

Projetos semelhantes

Se você gosta disso, pode gostar também do meu:

|||
|-|-|-|
| :hammer_and_wrench:|Repositório| Discourse Tag Cloud |
| :question:|Guia de Instalação|Como instalar um tema ou componente de tema|
| :open_book:|Novo em Temas do Discourse?| Guia para iniciantes sobre como usar Temas do Discourse|

NB Você deve incluir sua pasta de uploads em sua configuração content security policy script src.

19 curtidas

O tamanho de uma palavra depende de quantas vezes ela foi usada como tag?

Correto. Eu deveria adicionar isso ao OP

Recebi uma mensagem de erro dizendo Refused to load the script 'https://{{some url}}.js' because it violates the following Content Security Policy directive: \"script-src\" e Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

Parece que você não permitiu que seu site use scripts da pasta de uploads?

Você precisa de uma entrada como esta:

image

(com seu próprio domínio).

1 curtida

Obrigado, e descobri que ele consulta apenas tags de "Outras Tags" se houver grupos de tags que existiam.

Ah, interessante. Obrigado pelo feedback. Só foi testado sem grupos de tags. Vou dar uma olhada em algum momento…

Acabei de dar uma olhada nisso, eu:

  • Criei um novo Grupo de Tags
  • Adicionei uma Tag existente ao Grupo.
  • Atualizei a página inicial
  • A Tag ainda aparecia na Nuvem.

Portanto, não consigo reproduzir seu problema? Por favor, forneça os passos completos para reproduzir.

Esta Nuvem de Tags conteria as palavras mais faladas no fórum? Como um tópico em alta do Twitter?

Não, é literalmente uma nuvem de Tags do Discourse. No entanto, eu também fiz: Word Cloud plugin (que está linkado no OP, aliás), que soa mais como o que você está descrevendo?

1 curtida

Existe algo semelhante aos Tópicos em Alta do Twitter? Tipo, os tópicos mais populares do dia (digitados em tópicos)

O Discourse principal já tem isso, chama-se lista de Tópicos Principais:

Acho que a tradução saiu errada, eu quis dizer as palavras mais citadas do dia, exemplo: Queijo, Carne, The Weeknd, Xtina, American Idol

[image]

1 curtida

O plugin Nuvem de Palavras é provavelmente o mais próximo, mas ele não tem uma dimensão temporal (ainda), ele pega estatísticas agregadas de todo o fórum (ou Categorias selecionadas).

Incrível! Sempre quis ter uma nuvem de tags no Discourse, então fico feliz em ver que este componente de tema está disponível. Bom trabalho!

A questão do CSP é estranha - deparei-me com o mesmo erro, e acabou por funcionar para mim apenas quando adicionei o caminho especificado no erro, que foi:

https://SITEURL/uploads/default/original/1X/
1 curtida

Eu verifiquei o código-fonte e descobri que a propriedade computed tags retornou apenas tags agrupadas em tags.json, as outras estão em extras.tag_groups. No entanto, não consegui descobrir como corrigir o problema.

1 curtida

Bom trabalho por tentar, mas se você quiser que eu conserte alguma coisa, seria muito útil ter etapas funcionais para reproduzir, por favor, do front-end, como se fosse apenas um usuário, porque no momento não consigo ver o problema.

Acabei de instalar o componente e vou para a página /tags e só encontro tags sem um grupo atribuído aparecendo na nuvem.

Atualização: desculpe, esqueci de mencionar que a opção de listar tags por grupo está habilitada, já fazia um tempo que a habilitei, esqueci que estava desativada por padrão.

1 curtida

Consigo reproduzir isso. Se você habilitar a configuração tags listed by group, você só verá as tags não agrupadas na nuvem de tags.

Screen Shot 2022-02-15 at 1.03.58 PM

No processo, também estou recebendo este erro.

Slow down, too many requests from this IP address.
Please retry again in 3 seconds.
Error code: ip_10_secs_limit.
3 curtidas

obrigado, isso teria economizado muito tempo.

Vou adicioná-lo como um problema conhecido até que eu tenha tempo para analisar isso (feito).