ich wollte fragen, was die empfohlene oder beste Methode ist, um eure Änderungen/Anpassungen an einem bestehenden Theme zu pflegen?
Als Beispiel möchte ich gerne das fantastische Material Design Stock Theme von @rewphus anpassen und frage mich, ob es sinnvoll wäre, es zu forken, darauf aufzubauen und dann versucht, Änderungen vom Upstream zu synchronisieren?
Ich weiß, dass man bei anderen Forum-Software, die keine Repos oder Git-Konzepte verwendet, eine Kopie des Themes installiert und dann eine zweite Kopie als „Child“ installiert, wobei man nur das „Child“ bearbeitet. So kann man bei Updates das „Parent“ aktualisieren, ohne die eigenen Anpassungen zu verlieren.
Du kannst im Wesentlichen dasselbe tun: Baue deine eigene Theme-Komponente und füge sie als Child-Theme zu deinem Basis-Theme hinzu (das aus Git stammt). Dann kannst du das Git-Theme bei Bedarf aktualisieren, ohne deine eigenen Anpassungen in der Komponente zu beeinträchtigen.
Das ist der einfachste Weg. Du wirst vielleicht etwas CSS duplizieren, aber wahrscheinlich nicht in einem unüberschaubaren Umfang.
Ich habe das gelesen und bin dem Prozess völlig verfallen. Ich gebe zu, dass ich bis zu diesem Jahr Git nie wirklich zur Organisation meiner Arbeit verwendet habe, aber ich liebe den Workflow.
Ich hatte überlegt, eine Theme-Komponente zu verwenden, war jedoch der Ansicht, dass diese auf konzeptioneller Ebene eher kleinere Aufgaben übernehmen sollte. Kann eine Theme-Komponente das Farbschema in irgendeiner Weise bearbeiten? Diese Funktion scheint ausschließlich Themen vorbehalten zu sein.
Ich werde das Dokument erneut lesen, da es gestern spät war, als ich es las, und stattdessen damit beginnen, dies als Theme-Komponente umzusetzen :).
Es gibt keine Vorgabe, dass dies so sein muss. Ich würde nicht empfehlen, das gesamte Basisthema zu kopieren und in eine Komponente zu packen – das würde viel zu viel CSS mit sich bringen, das du gar nicht brauchst. Du kannst jedoch so viele Überschreibungen hinzufügen, wie du möchtest.
Nicht direkt, aber du kannst ein neues Farbschema erstellen und dies als Option in den Einstellungen des Basisthemas auswählen. Jedes Farbschema kann auf jedes Theme angewendet werden (wie effektiv dies ist, hängt davon ab, wie das Theme aufgebaut wurde).
Dieser Workflow ist in Ordnung, aber es macht nicht immer Sinn, sofort einen Fork zu erstellen – besonders dann nicht, wenn das Originalthema gut gewartet wird. Wenn du einen Fork erstellst, bist du allein verantwortlich, falls ein grundlegendes Discourse-Update dein Theme beschädigt.