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.
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).
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.