Bearbeitung von Remote-Themes einschränken

Lange Zeit galt es als bewährte Praxis, Themes, die aus einem entfernten Git-Repository installiert wurden, lokal auf Discourse nicht zu bearbeiten. Änderungen am Theme-Code oder an Uploads gehen bei einem Update des Themes aus dem Remote-Repository verloren.

In diesem Commit haben wir die Möglichkeit entfernt, ein Remote-Theme lokal zu bearbeiten, und setzen diese bewährte Praxis nun in Discourse durch.

Was passiert, wenn ich ein Remote-Theme mit lokalen Änderungen habe?

Im Moment nichts. Ihr Theme bleibt so, wie es ist, bis Sie es entfernen oder aus der Remote-Quelle aktualisieren.

Wie bewahre ich meine lokalen Änderungen?

Wenn Ihre Änderungen nur CSS betreffen:

Sie können Ihre reinen CSS-Änderungen in eine brandneue lokale Theme-Komponente kopieren. Gehen Sie dabei wie folgt vor:

  1. Klicken Sie auf Installieren.
  2. Klicken Sie auf Neu erstellen.
  3. Klicken Sie im rechten Bereich auf die Schaltfläche Bearbeiten.
  4. Kopieren Sie Ihre CSS-Änderungen in die entsprechende Datei (common/mobile/desktop).
  5. Speichern und aktivieren Sie die Theme-Komponente.
  6. Aktualisieren Sie Ihr Remote-Theme, um die lokalen Änderungen zu überschreiben und doppeltes CSS zu vermeiden.

Wenn Sie mehr als nur CSS geändert haben (JS/Templates):

Wenn Sie Ihre lokalen Änderungen beibehalten möchten, empfehlen wir, das Theme in ein lokales Theme zu überführen. Gehen Sie dabei wie folgt vor:

  1. Öffnen Sie das Theme unter Admin > Anpassen.
  2. Klicken Sie auf Exportieren, um das Theme mit Ihren lokalen Änderungen herunterzuladen.
  3. Klicken Sie in der Theme-Liste auf Installieren und wählen Sie dann Von Ihrem Gerät.
  4. Laden Sie das exportierte Theme hoch, installieren und aktivieren Sie es wie zuvor.

Eine weitere Option für Interessierte ist das Forken des Remote-Themes auf GitHub, das Einchecken Ihrer Änderungen in das geforkte Repository und die Installation dieses Forks auf Ihrer Discourse-Instanz. Dies ermöglicht die Option, Ihre Änderungen auf zukünftige Updates des Haupt-Repositories zu rebasen, was die Umwandlung in ein lokales Theme nicht bietet.

Schließlich entfernen Sie unbedingt das Remote-Theme, um Duplizierung von Änderungen und zukünftige Verwirrung zu vermeiden.

35 „Gefällt mir“

Ich habe diese Funktion genutzt, um Änderungen an meinem Remote-Theme schnell vorab zu prüfen. Gibt es jetzt eine Möglichkeit, das zu erreichen? Ich möchte keine Höhenänderung irgendwo committen, pushen, pullen und aktualisieren, nur um festzustellen, dass die Änderung zu groß oder zu klein war :frowning:

1 „Gefällt mir“

Eine Möglichkeit besteht darin, die Discourse Theme CLI (Konsole-App zur Unterstützung beim Erstellen von Themes) zu verwenden, um die Komponente mit einem anderen Namen zu testen, bevor Sie den Commit durchführen. Eine andere Option wäre eine Entwicklungs- oder Staging-Umgebung.

2 „Gefällt mir“

Das CLI ist es! Toll! Ich wusste nicht, dass so etwas existiert, das wird sehr helfen.

Danke für den Tipp!

2 „Gefällt mir“

Das ist großartig! Und du wirst froh sein, nie wieder in einem Webbrowser bearbeiten zu müssen! :clinking_glasses:

4 „Gefällt mir“