Procedimento para atualizar plugins padrão

Eu tenho um site Discourse pequeno e auto-hospedado criado com uma instalação Docker padrão. Instalei muitos plugins ao longo dos anos editando os hooks no final do arquivo containers/app.yml para clonar um repositório de plugin via git clone. Também fiz um pouco de desenvolvimento de plugins.

No entanto, há alguns meses, muitos plugins padrão foram mesclados ao núcleo do Discourse. Suponha que eu crie um fork de todo o repositório do Discourse, edite um desses plugins (digamos, discourse-math) e consiga que as alterações funcionem perfeitamente no meu ambiente de desenvolvimento local. Qual é o procedimento para colocar este novo plugin na minha instância de produção do Discourse?

por curiosidade - por que você precisa criar um fork de algum dos plugins oficiais?

De qualquer forma, em app.yml você pode executar um comando para deletar o diretório específico do plugin e então clonar o seu, se você realmente precisar, por exemplo:

<in after_code: somewhere >
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/myaccount/myplugin-replacement.git

Você pode conseguir fazer isso, mas verifique:

<in after_code: somewhere >
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
          - git clone https://github.com/myaccount/myplugin-replacement.git

Eu não fui muito cuidadoso com os espaços - certifique-se de que a indentação esteja perfeita.

2 curtidas

Porque eu espero atualizar a versão desatualizada do MathJax que é usada pelo plugin discourse-math.

Ok, parece-me que esta linha é o que está faltando:

cmd:
  - rm -r poll

Para ser claro, no entanto, o que é poll? Eu pensaria que eu deveria remover o diretório antigo do discourse-math para evitar os conflitos que pareço estar tendo. Ou seja, algo como

cmd:
  - -r plugins/discourse-math

Não parece um bom comando para executar sem critério. :slight_smile:

Não importa se você cometer um erro, apenas reconstrua se o fizer.

Meu exemplo foi com o plugin de enquete.

Não repita o diretório do plugin.

2 curtidas

@merefield A propósito, acho que você pode gostar da animação na minha página inicial: https://discourse.marksmath.org/

Usei um pouco do seu código no processo.

1 curtida

Ah, legal, agora adicione um clique ao cartão do usuário! :slight_smile:

2 curtidas

Isso resolveu o problema @merefield - muito obrigado!!!

1 curtida

Essa pode ser uma alteração que é pr-welcome para o plugin oficial. Se você estiver interessado em tentar isso para o benefício de todos que dependem do plugin, inicie um tópico de Feature para propor isso.

3 curtidas