Discourse admite temas nativos que se pueden obtener de un archivo .tar.gz o de un repositorio git remoto, incluidos repositorios privados.
Un tema de ejemplo se encuentra en: GitHub - discourse/discourse-simple-theme: Sam's simple discourse theme
El repositorio git se verificará en busca de actualizaciones (una vez al día), o usando el botón Check for Updates (Comprobar actualizaciones). Cuando se detecten cambios, el botón Check for Updates (Comprobar actualizaciones) cambiará a Update to Latest (Actualizar a la última versión).
![]()
Para crear un tema, debes seguir una estructura de archivos específica. Estos son los archivos que puedes incluir:
about.json (requerido)
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
Cualquiera de estos archivos
es opcional, por lo que solo necesitas crear los que necesites.
Para aquellos que buscan dividir el SCSS del tema en varios archivos, ahora es posible.
Para aquellos que buscan dividir el tema en varios archivos JS, simplemente agrega los archivos JS que desees en el directorio javascripts.
La estructura del archivo about.json se muestra a continuación, y puedes ver más información al respecto en 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"]
}
Instrucciones sobre cómo agregar configuraciones a tu tema disponibles aquí: Add settings to your Discourse theme.
Para indicarle a Discourse que vas a agregar un componente de tema y no un tema completo, simplemente agrega la línea "component": true al archivo about.json.
La estructura de archivos coincide con el CSS/HTML personalizado del tema.
Lectura adicional
Consulta los otros artículos con la etiqueta #themes::tag.
Consulta también:
- 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
Última revisión por @SaraDev el 2022-08-15T21:00:00Z
Este documento tiene control de versiones: sugiere cambios en github.

