Por que estou achando o Discourse tão difícil de personalizar?

Se eu quiser editar o CSS, tenho que criar um componente, criar um arquivo CSS e, finalmente, ele funciona. Agora, se eu adicionar outro componente, por exemplo, ‘Discourse Topic Cards’, e depois voltar ao arquivo CSS personalizado, aplicar as alterações, clicar em salvar e, em seguida, atualizar a página, o CSS personalizado não se aplica.

Além disso, por que não há uma maneira de editar modelos na área de administração? Se eu quiser editar os modelos de ‘Discourse Topic Cards’, tenho que acessar o servidor do discourse docker via SSH e editar para fazer alterações?

O WordPress é mais familiar para você? Se sim, você entenderá isso mais facilmente: você nunca edita diretamente o core, plugins ou temas porque perderá todas as modificações quando a próxima atualização ocorrer.

Tantas dessas dificuldades não são realmente do Discourse, mas de como o mundo funciona :smirking_face:

5 curtidas

Talvez você precise adicionar !important ao seu CSS para que essas regras tenham prioridade sobre outras definidas em outros lugares. Essa situação é esperada quando vários componentes são carregados em uma ordem específica. Esse é um problema comum e não necessariamente específico do Discourse. Não sei se poderíamos ter um sistema de ponderação para dizer “esse componente deve carregar no final”, mas isso parece realmente incontrolável.

É por isso que é importante que temas e componentes de temas não usem !important no CSS, a menos que seja absolutamente necessário.

Se você quiser editar um componente de tema remoto, sinta-se à vontade para copiá-lo no GitHub e criar sua versão. Essa é a maneira mais fácil! No entanto, você não receberá nenhuma atualização da versão original. Você não pode editar componentes remotos porque sua personalização pode entrar em conflito com as atualizações (e é um pesadelo lidar com isso).

Personalizar o Discourse é bastante acessível. Depende do que você espera como personalização. O que você está tentando alcançar aqui? Talvez possamos ajudar. A equipe do Discourse geralmente está aberta se alguma área acolhe instalações de personalização.

1 curtida

Tenho administrado sites online há vários anos, acredito que se você puder criar algo um pouco mais único, ele tende a ter um desempenho melhor. Gostaria de personalizar o modelo ‘Discourse Cards Topic’ e incluir pôsteres, respostas, visualizações e estatísticas de atividade da lista genérica de tópicos.

O que você pode fazer:

  • Solicitar recursos (no tópico apropriado, como você fez)
  • Postar no Marketplace se puder
  • Aprender a programar e como os componentes de tema funcionam (veja #documentation:theme-developers) e não hesite em pedir ajuda ao Dev!
3 curtidas

Existe alguma documentação para programadores lerem?

Aqui estão alguns recursos que você pode achar interessantes para se familiarizar com o Discourse:

Leve o seu tempo para ler! Alguns guias contêm links para guias externos também.

Se tiver dúvidas, pergunte ao Dev :+1: .

5 curtidas

Se você quiser adicionar alterações sobre o componente de tema ‘Discourse Topic Cards’, você pode fazer o seguinte:

  1. Instale o Discourse Topic Cards e adicione-o ao seu tema ativo
  2. Crie um novo componente de tema
  3. Adicione o novo componente de tema ao tema ativo também

Você não precisa fazer SSH no servidor ou alterar nada no código-fonte, ou fazer um fork do repositório.

Como exemplo, veja o que fiz para fazer algumas alterações no Discourse Topic Cards para o tema Minima:

Dessa forma, você ainda recebe novas atualizações do tema, e todos os componentes de tema são organizados e separados (para que você possa facilmente desativar/ativar para depuração)

Mas sim, acho que esse processo poderia ser explicado um pouco melhor para os administradores.