Wenn ich das CSS bearbeiten möchte, muss ich eine Komponente erstellen, eine CSS-Datei erstellen und dann funktioniert es. Wenn ich nun eine weitere Komponente hinzufüge, z. B. ‘Discourse Topic Cards’, und dann zur benutzerdefinierten CSS-Datei zurückkehre, die Änderungen anwende, auf Speichern klicke und die Seite aktualisiere, wird das benutzerdefinierte CSS nicht angewendet.
Außerdem, warum gibt es keinen Weg, Vorlagen im Admin-Bereich zu bearbeiten? Wenn ich die Vorlagen von ‘Discourse Topic Cards’ bearbeiten möchte, muss ich mich per SSH in den Discourse Docker einloggen und Änderungen vornehmen?
Ist WordPress Ihnen vertrauter? Wenn ja, verstehen Sie dies leichter: Sie bearbeiten niemals direkt den Kern, Plugins oder Themes, da Sie alle Änderungen bei der nächsten Aktualisierung verlieren werden.
So viele dieser Schwierigkeiten stammen nicht wirklich von Discourse, sondern von der Funktionsweise der Welt
Möglicherweise müssen Sie !important zu Ihrem CSS hinzufügen, damit diese Regeln Vorrang vor anderen Regeln haben, die anderswo definiert sind. Diese Situation ist zu erwarten, wenn mehrere Komponenten in einer bestimmten Reihenfolge geladen werden. Das ist ein häufiges Problem und nicht unbedingt spezifisch für Discourse. Ich weiß nicht, ob wir ein Gewichtungssystem einführen könnten, um zu sagen: „Diese Komponente sollte am Ende geladen werden“, aber das klingt wirklich unüberschaubar.
Deshalb ist es wichtig, dass Themes und Theme-Komponenten kein !important im CSS verwenden, es sei denn, es ist absolut notwendig.
Wenn Sie eine Remote-Theme-Komponente bearbeiten möchten, können Sie sie gerne auf GitHub forken und Ihre eigene Version erstellen. Das ist der einfachste Weg! Sie erhalten jedoch keine Updates von der Originalversion. Sie können keine Remote-Komponenten bearbeiten, da Ihre Anpassung mit den Updates kollidieren könnte (und es ist ein Albtraum, damit umzugehen).
Die Anpassung von Discourse ist recht zugänglich. Es hängt jedoch davon ab, was Sie unter Anpassung verstehen. Was möchten Sie hier erreichen? Vielleicht können wir helfen. Das Discourse-Team ist normalerweise offen, wenn ein Bereich Anpassungsmöglichkeiten bietet.
Ich betreibe seit Jahren Websites online. Ich glaube, wenn man etwas Einzigartigeres schaffen kann, das tendenziell besser abschneidet. Ich möchte die Vorlage „Discourse Cards Topic“ anpassen und Poster-, Antwort-, Ansichts- und Aktivitätsstatistiken aus der generischen Themenliste einfügen.
Wenn Sie Änderungen an der Discourse Topic Cards Theme-Komponente vornehmen möchten, können Sie dies wie folgt tun:
Installieren Sie Discourse Topic Cards und fügen Sie es zu Ihrem aktiven Theme hinzu.
Erstellen Sie eine neue Theme-Komponente.
Fügen Sie die neue Theme-Komponente ebenfalls zum aktiven Theme hinzu.
Sie müssen sich nicht per SSH auf dem Server anmelden oder etwas am Quellcode ändern oder das Repository forken.
Als Beispiel, hier ist, was ich getan habe, um einige Änderungen an Discourse Topic Cards für das Theme Minima vorzunehmen:
Auf diese Weise erhalten Sie weiterhin neue Updates vom Theme, und alle Theme-Komponenten sind organisiert und getrennt (sodass Sie sie zum Debuggen einfach deaktivieren/aktivieren können).
Aber ja, ich denke, dieser Prozess könnte für Administratoren etwas besser erklärt werden.