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 de la opción del sitio highlighted_languages
Para configurar la lista de lenguajes de programación para el resaltado de sintaxis:
- Navega al panel de Administración.
- Ve a
Config→Content→Posts and Topics. - Busca la opción del sitio
highlighted_languages.
En esta configuración, puedes definir qué lenguajes estarán disponibles para el resaltado de sintaxis. Ingresa los nombres de los lenguajes que deseas admitir, separados por comas.
Configuraciones relacionadas
Hay dos opciones del sitio adicionales relacionadas con el resaltado de sintaxis, que se encuentran en la misma área:
default_code_lang— El lenguaje predeterminado aplicado a los bloques de código cuando no se especifica ningún lenguaje. El valor predeterminado esauto, que intenta detectar el lenguaje automáticamente.autohighlight_all_code— Cuando está activado, aplica el resaltado de sintaxis a todos los bloques<code>, incluso aquellos sin una clase de lenguaje especificada. El valor predeterminado es desactivado.
Agregar soporte para lenguajes adicionales
Si el lenguaje deseado no viene incluido con highlight.js, puedes agregarlo mediante un componente de tema utilizando la API de plugins api.registerHighlightJSLanguage(). A continuación se muestran los pasos para lograrlo:
- Localiza un módulo para tu lenguaje: Encuentra una definición de lenguaje de highlight.js que admita el lenguaje que deseas agregar. Por ejemplo:
- Solidity:
https://github.com/highlightjs/highlightjs-solidity - Supercollider:
https://github.com/highlightjs/highlightjs-supercollider
- Integra el módulo usando un componente de tema:
- Obten la definición de lenguaje de HighlightJS para el lenguaje deseado.
- Crea un nuevo componente de tema en Discourse.
- En el JavaScript del componente de tema, utiliza la API de plugins para registrar el lenguaje:
api.registerHighlightJSLanguage("languageName", languageDefinitionFunction); - Consulta Instalar un nuevo lenguaje para Highlight.JS mediante un componente de tema para ver un ejemplo completo.

