Discourse admite temas nativos que pueden obtenerse desde un archivo .tar.gz o desde un repositorio git remoto, incluidos repositorios privados.
Un ejemplo de tema está 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 Buscar actualizaciones. Cuando se detecten cambios, el botón Buscar actualizaciones cambiará a Actualizar a la versión más reciente.
![]()
Para crear un tema, debes seguir una estructura de archivos específica. Estos son los archivos que puedes 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}.gjs
javascripts/{anything}.hbs
assets/{asset_filename}
settings.yml
Cualquiera de estos archivos
es opcional, por lo que solo necesitas crear los que necesites.
Para quienes buscan dividir el SCSS del tema en varios archivos, ahora es posible.
Para quienes buscan dividir el tema en varios archivos JS, simplemente agrega los archivos JS deseados al directorio javascripts.
La estructura del archivo about.json se muestra a continuación, y puedes ver más información sobre él en https://meta.discourse.org/t/adding-metadata-to-a-theme/119205:
{
"name": "Mi Tema",
"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": {
"Mi Esquema de Color": {
"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 indicar 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.
Véase 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 está bajo control de versiones: sugiere cambios en GitHub.

