Struktur von Themen und Themenkomponenten

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).

image

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 :arrow_up: 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.

:information_source: Siehe auch:


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 →

62 „Gefällt mir“
Alien Night Theme - A free Dark Theme for Discourse
Override values for auto-generated color variables
How to modify the header HTML, but still remaining the default founctions
Custom user fields show on Activity, but not Summary page
Add Unsolved button to top menu using custom HTML
Add support for theme settings
Create and share a font theme component
Color Scheme Contest (with Prizes!)
How do I get started with Discourse development as a regular end user with no programming experience?
Custom assets upload folder?
Some basic questions about discourse and rails
Create and share a color scheme
Split up theme SCSS into multiple files
Theme Developer Quick Reference Guide
Theme Developer Tutorial: 2. Creating a remote theme
Mobile View Loading different HTML as compared to Desktop
Developing Discourse Themes & Theme Components
Minimizing Maintenance on Theme Customizations
Need help with theme component Github
Allow users to select new color palettes
Challenges creating a custom color palette
Adding metadata and screenshots to a Theme
Push to digital ocean from command line and rebuild
Battle Axe - A free theme by the Tappara.co hockey community
Beginner's guide to using Discourse Themes
Discourse deployment using github or bitbucket?
How to remove sticky top bar?
Do you have original customisations?
Add custom content that only appears on your homepage
Highlight color
Timefuser Theme
Compact member list
Understanding the development/deployment process
CSS Theme Contest (with Prizes!)
How to bring in Latest topics when using category boxes
Need to include PGN (chess game notation) in a post
Custom header colour and category icons and login button
Automatic dark mode for embedded comments as well?
Add settings to your Discourse theme
Designer's Guide to getting started with themes in Discourse