Procedura per aggiornare i plugin standard

Ho un piccolo sito Discourse self-hosted creato con un’installazione Docker standard. Ho installato molti plugin nel corso degli anni modificando gli hook alla fine del file containers/app.yml per clonare tramite git clone un repository di plugin. Ho anche fatto un po’ di sviluppo di plugin.

Tuttavia, alcuni mesi fa, molti plugin standard sono stati uniti nel core di Discourse. Supponiamo che io faccia un fork dell’intero repository di Discourse, modifichi uno di quei plugin (ad esempio, discourse-math) e faccia funzionare splendidamente le modifiche nel mio ambiente di sviluppo locale. Qual è la procedura per inserire questo nuovo plugin nella mia istanza di produzione di Discourse?

per curiosità, perché devi fare il fork di uno qualsiasi dei plugin ufficiali?

In ogni caso, in app.yml puoi eseguire un comando per eliminare la directory specifica del plugin e poi clonare la tua se hai assolutamente bisogno di farlo, ad esempio:

<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

potresti essere in grado di farlo, ma controlla:

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

Non sono stato così attento con gli spazi, assicurati che l’indentazione sia perfetta.

2 Mi Piace

Perché spero di aggiornare la versione obsoleta di MathJax utilizzata dal plugin discourse-math.

OK, mi sembra che questa riga sia ciò che mi manca:

cmd:
  - rm -r poll

Per essere chiari, però, cos’è poll? Penserei di dover rimuovere la vecchia directory discourse-math per prevenire i conflitti che sembro riscontrare. Cioè, qualcosa come

cmd:
  - -r plugins/discourse-math

Non sembra un buon comando da eseguire alla cieca. :slight_smile:

Non importa se commetti un errore, basta ricostruire se lo fai.

Il mio esempio era con il plugin poll.

Non ripetere la directory del plugin.

2 Mi Piace

@merefield Tra l’altro, penso che potrebbe piacerti l’animazione sulla mia pagina principale: https://discourse.marksmath.org/

Ho usato parte del tuo codice nel processo.

1 Mi Piace

Ah, bello, ora aggiungi un clic alla scheda utente! :slight_smile:

2 Mi Piace

Questo ha funzionato @merefield - grazie mille!!!

1 Mi Piace

Questa potrebbe essere una modifica per cui è pr-welcome per il plugin ufficiale. Se sei interessato a provare a farlo a beneficio di tutti coloro che si affidano al plugin, avvia un argomento Feature per proporlo.

3 Mi Piace