Melhor fluxo de trabalho para manter temas?

Olá a todos,

Gostaria de saber qual é o método recomendado ou melhor para manter suas edições/personalizações em, digamos, um tema existente?

Como exemplo, gostaria de fazer edições no fantástico Material Design Stock Theme do @rewphus e me pergunto se seria bom bifurcá-lo, construí-lo sobre ele e depois tentar sincronizar a partir da origem?

Sei que em outros softwares de fórum que não usam os conceitos de Repos ou Git, você instalaria uma cópia do tema e depois uma segunda cópia como filho, editando apenas o filho, para que, quando houvesse atualizações, você atualizasse o pai.

Você pode essencialmente fazer a mesma coisa: crie seu próprio componente de tema e adicione-o como filho ao seu tema base (obtido via git). Assim, você pode atualizar o tema do git conforme necessário sem impactar seu trabalho personalizado no componente.

Essa é a maneira mais simples; você pode estar duplicando algum CSS, mas provavelmente não em quantidade incontrolável.

Mais sobre temas e componentes: Beginner's guide to using Discourse Themes

Eu li isso e me apaixonei completamente pelo processo. Vou admitir que, até este ano, eu nunca usava o Git para organizar meu trabalho, mas estou adorando o fluxo de trabalho.

Eu havia pensado em usar um componente de tema, mas achei que ele deveria ser algo de menor escala, em nível conceitual. Um componente de tema pode editar o Esquema de Cores de alguma forma? Essa funcionalidade parece ser exclusiva dos temas.

Vou reler aquele documento novamente, já que estava tarde quando o li ontem, e começar a fazer isso como um componente de tema :).

Não há nenhuma exigência nesse sentido. Eu não recomendaria copiar todo o tema base e colocá-lo em um componente… isso carregaria muito mais CSS do que o necessário, mas você pode adicionar quantas substituições quiser.

Não diretamente, mas você pode criar um novo Esquema de Cores e selecioná-lo como uma opção nas configurações do tema base. Qualquer esquema de cores pode ser aplicado a qualquer tema (a eficácia disso pode variar dependendo de como o tema foi construído).

Faz sentido, muito obrigado por ter tirado um tempo para me responder. Foi muito esclarecedor.

Parece bom.


Fluxo de Trabalho Sugerido


  • Faça um fork e clone o componente do tema que deseja modificar
  • Abra o workspace clonado com o Visual Studio Code (VSC)
  • Aproveite para modificar e codificar seu componente de tema
  • Envie suas alterações do VSC para o seu repositório no GitHub
  • Instale seu componente de tema modificado a partir do seu repositório
  • Teste

Repita o processo.


Esse fluxo de trabalho está correto, mas nem sempre faz sentido pular diretamente para um fork… especialmente se o tema original parecer bem mantido. Ao fazer um fork, você fica mais por conta própria se uma atualização subjacente do Discourse quebrar seu tema.