Discourse supporta temi nativi che possono essere ottenuti da un archivio .tar.gz o da un repository git remoto, inclusi repository privati.
Un esempio di tema è disponibile qui: GitHub - discourse/discourse-simple-theme: Sam's simple discourse theme · GitHub
Il repository git viene controllato per aggiornamenti (una volta al giorno) oppure utilizzando il pulsante Controlla aggiornamenti. Quando vengono rilevate modifiche, il pulsante Controlla aggiornamenti cambia in Aggiorna all’ultima versione.
![]()
Per creare un tema è necessario seguire una struttura di file specifica. Questi sono i file che puoi includere:
about.json (obbligatorio)
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}.gjs
javascripts/{anything}.hbs
assets/{asset_filename}
settings.yml
Tutti i file indicati
sono opzionali, quindi devi creare solo quelli di cui hai bisogno.
Per chi desidera suddividere i file SCSS del tema in più file, ora è possibile.
Per chi desidera suddividere il tema in più file JS, basta aggiungere i file JS desiderati nella directory javascripts.
La struttura del file about.json è riportata di seguito; per ulteriori informazioni consulta: 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"]
}
Le istruzioni su come aggiungere impostazioni al tuo tema sono disponibili qui: Add settings to your Discourse theme.
Per indicare a Discourse che stai aggiungendo un componente tema e non un tema completo, aggiungi semplicemente la riga "component": true al file about.json.
La struttura dei file corrisponde al CSS/HTML personalizzato del tema.
Ulteriori letture
Consulta gli altri articoli con il tag #themes::tag.
Vedi anche:
- 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
Ultima revisione da parte di @SaraDev il 2022-08-15T21:00:00Z
Questo documento è sottoposto a controllo versione: suggerisci modifiche su GitHub.

