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
Il repository git verrà controllato per gli aggiornamenti (una volta al giorno), oppure utilizzando il pulsante Controlla aggiornamenti. Quando vengono rilevate modifiche, il pulsante Controlla aggiornamenti cambierà in Aggiorna all’ultima versione.
![]()
Per creare un tema è necessario seguire una struttura di file specifica. Questi sono i file che è possibile includere:
about.json (richiesto)
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
Ognuno di questi file
è facoltativo, quindi è necessario creare solo quelli necessari.
Per coloro che desiderano suddividere il SCSS del tema in più file, ora è possibile.
Per coloro che desiderano suddividere il tema in più file JS, è sufficiente aggiungere i file JS desiderati nella directory javascripts.
La struttura del file about.json è riportata di seguito, e ulteriori informazioni sono disponibili qui: 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"]
}
Istruzioni su come aggiungere impostazioni al tema disponibili qui: Add settings to your Discourse theme.
Per indicare a Discourse che si sta per aggiungere un componente tema e non un tema completo, è sufficiente aggiungere 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 @SaraDev il 2022-08-15T21:00:00Z
Questo documento è controllato in versione su github.
← 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 →

