Discourse unterstützt native Themes, die aus einem .tar.gz-Archiv oder aus einem entfernten Git-Repository, einschließlich privater Repositories, bezogen werden können.
Ein Beispiel-Theme finden Sie unter: GitHub - discourse/discourse-simple-theme: Sam's simple discourse theme · GitHub
Das Git-Repository wird auf Aktualisierungen geprüft (einmal täglich) oder durch die Verwendung der Schaltfläche Check for Updates (Auf Aktualisierungen prüfen). Wenn Änderungen erkannt werden, ändert sich die Schaltfläche Check for Updates (Auf Aktualisierungen prüfen) zu Update to Latest (Auf neueste Version aktualisieren).
![]()
Um ein Theme zu erstellen, müssen Sie eine bestimmte Dateistruktur befolgen. Dies sind die Dateien, die Sie einschließen können:
about.json (erforderlich)
common/common.scss
common/header.html
common/after_header.html
common/footer.html
common/head_tag.html
common/body_tag.html
common/embedded.scss
desktop/desktop.scss
desktop/header.html
desktop/after_header.html
desktop/footer.html
desktop/head_tag.html
desktop/body_tag.html
mobile/mobile.scss
mobile/header.html
mobile/after_header.html
mobile/footer.html
mobile/head_tag.html
mobile/body_tag.html
locales/en.yml
locales/{locale}.yml
stylesheets/{anything}/{anything}/{anything}.scss
javascripts/{anything}.js
javascripts/{anything}.hbs
javascripts/{anything}.hbr
assets/{asset_filename}
settings.yml
Jede dieser Dateien
ist optional, Sie müssen also nur diejenigen erstellen, die Sie benötigen.
Für diejenigen, die SCSS-Code für Themes in mehrere Dateien aufteilen möchten, ist dies jetzt möglich.
Für diejenigen, die ihr Theme in mehrere JS-Dateien aufteilen möchten, fügen Sie die gewünschten JS-Dateien einfach in das Verzeichnis javascripts ein.
Die Struktur der about.json-Datei ist unten aufgeführt, und weitere Informationen dazu finden Sie unter https://meta.discourse.org/t/adding-metadata-to-a-theme/119205:
{
"name": "My Theme",
"component": false,
"license_url": null,
"about_url": null,
"authors": null,
"theme_version": null,
"minimum_discourse_version": null,
"maximum_discourse_version": null,
"assets": {
"variable-name": "assets/my-asset.jpg"
},
"color_schemes": {
"My Color Scheme": {
"primary": "222222"
}
},
"screenshots": ["screenshots/light.jpeg", "screenshots/dark.jpeg"]
}
Anleitungen zum Hinzufügen von Einstellungen zu Ihrem Theme finden Sie hier: Add settings to your Discourse theme.
Um Discourse mitzuteilen, dass Sie eine Theme-Komponente und kein vollständiges Theme hinzufügen, fügen Sie einfach die Zeile \"component\": true in die Datei about.json ein.
Die Dateistruktur entspricht dem benutzerdefinierten CSS / HTML des Themes.
Weiterführende Lektüre
Sehen Sie sich die anderen Artikel mit dem Tag #themes::tag an.
Siehe auch:
- Developing Discourse Themes & Theme Components
- Install the Discourse Theme CLI console app to help you build themes
- Include assets (e.g. images, fonts) in themes and components
Zuletzt geprüft von @SaraDev am 2022-08-15T21:00:00Z
Dieses Dokument wird versioniert – Änderungen hier auf github vorschlagen.
← START DOCS ASSET MAP
[
{
“local_path”: “/assets/theme-structure-1.png”,
“local_sha1”: “5d81758f2f3090bee941c034a5d5a8165df50ce4”,
“remote_short_url”: “upload://465qlv5OiFWlR8qrBc6wGExEt07.png”
},
{
“local_path”: “/assets/theme-structure-2.png”,
“local_sha1”: “66944b3e613c84ac19333461a11ffb39988b5f32”,
“remote_short_url”: “upload://d4Smpts3JzE3LozxhVOInZNjv3S.png”
},
{
“local_path”: “/assets/theme-structure-3.png”,
“local_sha1”: “971f8599d19fa8f30ba787bf7c74bdc54a5f9228”,
“remote_short_url”: “upload://vQ0g1yk6xAJqM2fLe2nCmTdsK9h.png”
}
]
END DOCS ASSET MAP →

