Discourse admite temas nativos que pueden obtenerse de un archivo .tar.gz o de un repositorio git remoto, incluidos repositorios privados.
Un ejemplo de tema 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 uso del botón Buscar actualizaciones. Cuando se detectan cambios, el botón Buscar actualizaciones cambiará a 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 (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/{cualquiera}/{cualquiera}/{cualquiera}.scss
javascripts/{cualquiera}.js
javascripts/{cualquiera}.gjs
javascripts/{cualquiera}.hbs
assets/{nombre_del_archivo}
settings.yml
Cualquiera de estos archivos
es opcional, por lo que solo necesitas crear los que necesites.
Para aquellos que desean dividir el SCSS del tema en varios archivos, ahora es posible.
Para aquellos que desean dividir el tema en varios archivos JS, simplemente agrega los archivos JS que desees en el directorio javascripts.
La estructura del archivo about.json es la siguiente, y puedes obtener 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 ajustes 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
Revisa 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 está bajo control de versiones - sugiere cambios en github.

