Verfahren zum Aktualisieren von Standard-Plugins

Ich habe eine kleine, selbst gehostete Discourse-Seite, die mit einer Standard-Docker-Installation erstellt wurde. Im Laufe der Jahre habe ich viele Plugins installiert, indem ich die Hooks am Ende der Datei containers/app.yml bearbeitet habe, um ein Plugin-Repository zu git clonen. Ich habe auch etwas Plugin-Entwicklung betrieben.

Vor einigen Monaten wurden jedoch viele Standard-Plugins in den Discourse-Kern integriert. Nehmen wir an, ich forke das gesamte Discourse-Repository, bearbeite eines dieser Plugins (z. B. discourse-math) und bekomme die Änderungen in meiner lokalen Entwicklungsumgebung zum Laufen. Wie sieht das Verfahren aus, um dieses neue Plugin in meine produktive Discourse-Instanz zu bekommen?

aus reinem Interesse – warum müssen Sie einen der offiziellen Plugins forken?

Jedenfalls können Sie in app.yml einen Befehl ausführen, um das spezifische Plugin-Verzeichnis zu löschen und dann Ihr eigenes zu klonen, falls Sie dies unbedingt tun müssen, z. B.:

<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

Sie könnten dies möglicherweise tun, aber überprüfen Sie:

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

Ich war bei den Leerzeichen nicht so sorgfältig – achten Sie darauf, dass die Einrückung perfekt ist.

2 „Gefällt mir“

Weil ich hoffe, die veraltete Version von MathJax zu aktualisieren, die vom discourse-math-Plugin verwendet wird.

OK, es sieht für mich so aus, als ob diese Zeile das ist, was mir fehlt:

cmd:
  - rm -r poll

Um es klarzustellen, was ist poll? Ich würde denken, ich sollte das alte discourse-math-Verzeichnis entfernen, um die Konflikte zu vermeiden, die ich anscheinend bekomme. Das heißt, etwas wie

cmd:
  - -r plugins/discourse-math

Sieht nicht nach einem Befehl aus, den man leichtfertig ausführen sollte. :slight_smile:

Es macht nichts, wenn du einen Fehler machst, baue ihn einfach neu auf, wenn du einen machst.

Mein Beispiel war mit dem Poll-Plugin.

Wiederhole nicht das Plugin-Verzeichnis.

2 „Gefällt mir“

@merefield Nebenbei bemerkt, ich glaube, die Animation auf meiner Startseite könnte Ihnen gefallen: https://discourse.marksmath.org/

Ich habe dabei etwas von Ihrem Code verwendet.

1 „Gefällt mir“

Ha, schön, jetzt füge eine Klickfunktion zur Benutzerkarte hinzu! :slight_smile:

2 „Gefällt mir“

Das hat den Trick gemacht @merefield - vielen Dank!!!

1 „Gefällt mir“

Das könnte eine Änderung sein, für die ein pr-welcome für das offizielle Plugin besteht. Wenn Sie daran interessiert sind, dies zum Wohle aller, die sich auf das Plugin verlassen, in Angriff zu nehmen, erstellen Sie ein #feature-Thema, um es vorzuschlagen.

3 „Gefällt mir“