Qual é a nova melhor maneira de ajustar o componente de tema distante?

Há alguns meses (ou talvez mais, nunca estive tão atualizado), podíamos modificar o HTML/CSS de qualquer componente de tema, não apenas do local.

Havia apenas um alerta dizendo: “cuidado, se este componente fosse atualizado, suas alterações seriam apagadas”.

Para ser justo, sinto falta desse comportamento (sou o administrador do fórum, deveria saber o que estou fazendo; tenho um arquivo com todas as alterações que preciso re-aplicar; é trabalhoso, mas pelo menos posso fazê-lo).

Não podemos mais fazer isso. O único componente de tema que o administrador do fórum pode personalizar é aquele que ele escreve diretamente no Discourse. Ou aquele ao qual ele pode acessar por meio de seu próprio repositório Git.

Então, minha pergunta é:
Se eu realmente precisar personalizar outros componentes de tema, qual seria a melhor maneira de fazer isso?

  • Fazer um fork do repositório Git original em um novo repositório Git?
    • Prós: é bastante fácil gerenciar a atualização original do TC
    • Contras: é ainda mais trabalhoso do que antes
  • Copiar e colar os arquivos em um novo componente de tema local?
    • Prós: menos trabalhoso (tudo é feito no mesmo lugar)
    • Contras: alguns arquivos não podem ser adicionados pelo painel de administração, creio eu
    • Contras: difícil acompanhar as atualizações originais do TC
  • Manter o componente original e adicionar um novo componente que o modifique?
    • Prós: atualizado automaticamente
    • Prós: bastante seguro
    • Contras: funciona para algumas personalizações (ex: CSS), mas não para tudo (não é possível realmente modificar um componente Handlebars sem copiar e colar tudo)
    • Contras: provavelmente possível, mas difícil modificar widgets (pelo menos, não encontrei como adicionar algumas linhas de código em um widget)

Quais seriam suas sugestões?

Acho que você entendeu. Parece que adicionar seu próprio componente de tema com sua personalização é a melhor solução para você.

Eu escolheria entre “Fazer um fork do repositório git original em um novo repositório git” e “Manter o componente original e adicionar um novo componente que o modifique”. Se as alterações que você está fazendo forem significativas o suficiente, faça um fork do repositório do componente. Mas, se você estiver fazendo apenas alterações simples de estilo, faz sentido criar um novo componente com apenas as sobrescritas.