Restringir edição de temas remotos

Por bastante tempo, a melhor prática tem sido evitar editar temas instalados a partir de um repositório Git remoto localmente no Discourse. Qualquer alteração no código do tema ou em uploads é perdida ao atualizar o tema a partir do repositório remoto.

Neste commit, removemos a capacidade de editar localmente um tema remoto e agora estamos impondo essa melhor prática no Discourse.

O que acontece se eu tiver um tema remoto com alterações locais?

Nada no momento. Seu tema permanece como está até que você o remova ou o atualize a partir do remoto.

Como manter minhas edições locais?

Se suas alterações forem apenas CSS:

Você pode copiar suas alterações apenas de CSS para um novo componente de tema local. Para fazer isso:

  1. Clique em Instalar
  2. Clique em Criar novo
  3. Clique no botão Editar no painel direito.
  4. Copie suas alterações de CSS para o arquivo adequado (comum/móvel/desktop).
  5. Salve e ative o componente do tema.
  6. Atualize seu tema remoto para sobrescrever as alterações locais e evitar CSS duplicado.

Se você alterou mais do que CSS (JS/Modelos):

Recomendamos que, se desejar manter suas edições locais, migre o tema para um tema local. Para fazer isso:

  1. Abra o tema em Admin > Personalizar
  2. Clique em Exportar para baixar o tema com suas alterações locais.
  3. Clique em Instalar abaixo da lista de temas e depois em Do seu dispositivo
  4. Faça upload do tema exportado, instale e ative como antes.

A outra opção para os interessados é fazer um fork do tema remoto no GitHub, confirmar suas alterações no repositório bifurcado e instalar esse fork na sua instância do Discourse. Isso permite a opção de rebase das suas alterações sobre qualquer atualização futura do repositório principal, algo que a conversão para um tema local não oferece.

Por fim, certifique-se de remover o tema remoto para evitar duplicação de alterações e confusão no futuro.

35 curtidas

Usei esse recurso para pré-visualizar rapidamente as alterações do meu tema remoto. Existe alguma maneira de fazer isso agora? Não quero fazer um commit de uma mudança de altura em algum lugar, fazer push, fazer pull e atualizar apenas para descobrir que a mudança foi excessiva ou insuficiente :frowning:

1 curtida

Uma maneira é usar o Discourse Theme CLI (aplicativo de console para ajudar você a criar temas) para testar o componente com um nome diferente antes de enviar o commit. Outra opção seria usar um site de desenvolvimento ou de staging.

2 curtidas

O CLI então! Incrível! Eu não sabia que algo assim existia, isso vai ajudar muito.

Obrigado pela dica!

2 curtidas

É incrível! E você ficará feliz por nunca mais precisar editar em um navegador da web! :clinking_glasses:

4 curtidas