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 · GitHub
El repositorio git se verificará en busca de actualizaciones (una vez al día), o mediante el botón Check for Updates. Cuando se detecten cambios, el botón Check for Updates cambiará a Update to Latest.
![]()
Para crear un tema, debe seguir una estructura de archivos específica. Estos son los archivos que puede incluir:
about.json (obligatorio)
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 necesita crear los que necesita.
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 agregue los archivos JS que desee en el directorio javascripts.
La estructura de archivos about.json se muestra a continuación, y puede encontrar 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 su tema disponibles aquí: Add settings to your Discourse theme.
Para indicarle a Discourse que va a agregar un componente de tema y no un tema completo, simplemente agregue la línea "component": true al archivo about.json
La estructura de archivos coincide con el CSS/HTML del tema personalizado.
Lectura adicional
Consulte los otros artículos con la etiqueta #themes::tag.
Ver 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: sugiera cambios en github.

