Usar informações do discourse e cálculos básicos em css customizado?

Olá a todos,

Estou tentando encontrar uma maneira de mostrar o número de tópicos em categorias na página inicial e se há alguma maneira de classificá-los ainda mais com base em suas tags?

E alguma ideia de como fazer matemática simples usando os números acima com JavaScript?

1 curtida

Você pode começar por aqui:

<script type="text/discourse-plugin" version="1.4.0">
    api.modifyClass("component:topic-list", {
      pluginId: "returnTopicList",
      didInsertElement: function() {
        this._super();
        console.log(this.topics);
      }
    });
</script>

Isso exibirá a lista de tópicos, bem como seus atributos (incluindo tags).
Então, suponho que você só precise manipular um pouco o array para conseguir o que deseja.

1 curtida

Olá @Canapin,

Obrigado pela ajuda! Sou bastante leigo em como o javascript do Discourse funciona, você pode explicar o que isso faz/como funciona e como trabalhar com isso?

Procurei em algum lugar onde eu possa ter uma noção de como funciona, alguma sugestão também?

2 curtidas

Para mais contexto, estou tentando obter o número de tópicos em cada categoria do Discourse e usá-los na tabela para Discuss1-4. Se possível, também gostaria de ter a subcategoria do tópico classificada de A a F. No geral, quero que ele seja atualizado sempre que um tópico for movido, para que eu não precise fazer isso manualmente.
Espero ter descrito isso bem e, por favor, sinta-se à vontade para pedir esclarecimentos :slight_smile:

(Desculpas pela falta de capricho da tabela)

1 curtida

Não entendi muito bem o que você quer alcançar. Onde você quer que esta tabela seja exibida? Em uma nova página ou em uma página existente?
O que A B C D E F significam? O que Discutir 1 a 4 significa? São categorias?
Você precisa do número total de postagens de cada categoria?

1 curtida

Ok, deixe-me tentar reformulá-los, já que cometi um pequeno erro ao chamar as tags de subcategorias.

Então, vamos ter Discussão 1-4 = Categoria 1-4
e A-F serão para tags

Então, vamos fingir que a tabela está em branco. Eu crio um novo tópico na Categoria 1 e adiciono uma tag ‘A’. Agora a tabela deve mostrar um único tópico ao lado da Categoria 1 e sob ‘A’:

No caso de eu remover a tag ‘A’ e atribuir a tag ‘C’, a tabela será atualizada de acordo.

Existe uma maneira de fazer isso?

1 curtida

Você quer a informação, ou exibi-la na página egret para todos os usuários? Se for a primeira opção, você pode querer o plugin data explorer.

2 curtidas

CSS é muito superficial para este propósito. É uma linguagem de estilo para ajudar com o layout e a aparência.

O que você quer é uma solução ponta a ponta usando Rails para calcular, resumir e serializar seus dados, Ember JavaScript para receber os dados e apresentá-los de forma agradável em uma rota e CSS para estilizar conforme necessário. Você poderia até usar a biblioteca D3 para criar uma visualização particularmente agradável.

Dê uma olhada nos meus plugins Word Cloud ou Network Vis que fazem exatamente tudo isso. Modifique-os para atender à sua necessidade.

4 curtidas

Gostaria que fosse exibido para todos os usuários

1 curtida

Incrível! Vou conferir isso

2 curtidas

Olá @merefield,

Depois de verificar estes e ver como funciona a partir do link do gerador, tem a certeza de que conseguiria apenas obter o número de tópicos sob uma categoria com estes? Apenas a confirmar antes de implementar isto no meu discurso.

1 curtida

Obviamente, você precisará criar seu próprio cálculo personalizado, mas o que compartilhei foi um esqueleto apropriado que substitui todas as partes corretas da arquitetura.

O que você faz com isso depende de você…

2 curtidas