Esta guía explica cómo configurar qué lenguajes de programación están disponibles para el resaltado de sintaxis en Discourse.
Nivel de usuario requerido: Administrador
El resaltado de sintaxis mejora la legibilidad en los bloques de código aplicando formato según el lenguaje de programación. Puedes personalizar los lenguajes disponibles para el resaltado de sintaxis en Discourse.
Configuración del ajuste del sitio
highlighted_languagesPara configurar la lista de lenguajes de programación para el resaltado de sintaxis:
- Navega al panel de Administración.
- Ve a
Ajustes.- Busca el ajuste del sitio
highlighted_languages.En este ajuste, puedes definir qué lenguajes estarán disponibles para el resaltado de sintaxis. Ingresa los nombres de los lenguajes que deseas admitir, separados por comas.
Añadir soporte para lenguajes adicionales
Si el lenguaje deseado no está incluido con highlight.js, deberás añadirlo manualmente. A continuación, se detallan los pasos para lograrlo:
- Localiza un módulo para tu lenguaje: Encuentra un módulo de highlight.js que admita el lenguaje que deseas añadir. Por ejemplo, para añadir Solidity, puedes usar el paquete
highlightjs-solidity.
- Solidity:
https://github.com/highlightjs/highlightjs-solidity- Supercollider:
https://github.com/highlightjs/highlightjs-supercollider- Integra el módulo usando un componente de tema:
- Obtén el script HighlightJS para el lenguaje deseado.
- Crea un nuevo componente de tema en Discourse.
- Añade el script al componente de tema para asegurar que se integre correctamente.
Quiero añadir Solidity, un lenguaje que no viene incluido con highlight.js. Se proporciona en este paquete: GitHub - highlightjs/highlightjs-solidity
No estoy seguro de cómo hacerlo. Lo he añadido a la configuración de Discourse. ¿Lo encontrará el paquete por sí solo y se encargará de todo, o tengo que colocar este paquete de JavaScript adicional en algún lugar? Agradecería alguna orientación ![]()
También me interesa esto, para admitir el resaltado de sintaxis del lenguaje supercollider a través de GitHub - highlightjs/highlightjs-supercollider
Bump. Si queremos agregar soporte de resaltado de sintaxis para idiomas que aún no están en highlight.js, ¿hay alguna forma de agregarlo directamente, por ejemplo, a través de un componente temático, o necesitamos que la gente de highlight.js acepte una PR con la sintaxis adicional?
Pregunto porque existe un par de idiomas bastante esotéricos, Archetype Description Language (ADL) y Archetype Query Language (AQL), que los propietarios de discourse.openehr.org les gustaría que fueran resaltables por sintaxis. Tienen la capacidad técnica para construir un analizador/resaltador, solo necesitan saber cómo hacerlo funcionar en un Discourse.
¡Es totalmente factible como un componente de tema! Una vez que tengas listo el script de HighlightJS, avísame aquí y podré ayudarte a construir el #componente-de-tema.
¡Gracias @Falco! Construiré el script y publicaré cuando esté listo.
En las últimas una o dos semanas, he notado que el resaltado de código no parece registrarse cuando debería. Ver aquí un ejemplo. Cuando especifico un idioma (java en el caso anterior), se aplican los colores.
Aquí hay otro ejemplo para XML:
https://developer.sailpoint.com/discuss/t/get-application-roles-as-well-as-search-for-the-roles/78194?u=derek_putnam
Tenemos docenas de idiomas para detectar. Veo que el subtexto debajo de esta configuración dice que demasiados pueden hacer que funcione mal, pero no creo que hayamos agregado nada recientemente.

