Um die Antwort von @EricGT, die bereits gut erklärt, zu ergänzen:
- Ein Theme oder Theme-Komponente ist im Wesentlichen eine Möglichkeit, beliebige Teile der Discourse-Frontend-EmberJS-Anwendung zu ändern. Dies kann so einfach sein wie das Anpassen von HTML oder CSS, oder so komplex wie das Hinzufügen neuer Funktionen. Themes sind deutlich robuster, falls etwas schiefgeht; das bedeutet, dass Ihre gesamte Seite nicht unbedingt ausfällt, wenn etwas nicht funktioniert.
- Ein Plugin wirkt sich hauptsächlich auf die Rails-Server-seitige Anwendung aus, bietet aber auch alle Möglichkeiten eines Themes und beeinflusst die EmberJS-Anwendung, ist jedoch deutlich komplexer. Plugin-Fehler sind oft weniger robust. Wenn Sie also etwas in einem Theme umsetzen können, beginnen Sie dort. Ein Plugin ist jedoch erforderlich, wenn Sie eine benutzerdefinierte Route benötigen oder Daten speichern möchten.
- Die pluginAPI ist eine Client-seitige API, die Themes oder Theme-Komponenten nutzen können, um bestimmte Teile der Discourse-Client-Anwendung einfacher zu modifizieren.
Der beste Einstieg in die Anpassung Ihrer Seite ist ein Theme. Hier sind einige Ressourcen:
Designer’s Guide zu Discourse Themes
Entwicklerguide zu Discourse Themes
Anfängerleitfaden zur Verwendung von Theme Creator und Theme CLI zum Starten der Entwicklung eines Discourse-Themes