Este guia explica como configurar quais linguagens de programação estão disponíveis para realce de sintaxe no Discourse.
Nível de usuário necessário: Administrador
O realce de sintaxe aprimora a legibilidade em blocos de código, aplicando formatação com base na linguagem de programação. Você pode personalizar os idiomas disponíveis para realce de sintaxe no Discourse.
Configurando a configuração do site
highlighted_languagesPara configurar a lista de linguagens de programação para realce de sintaxe:
- Navegue até o painel do Administrador.
- Vá para
Configurações.- Procure pela configuração do site
highlighted_languages.Nesta configuração, você pode definir quais idiomas estarão disponíveis para realce de sintaxe. Insira os nomes dos idiomas que você deseja suportar, separados por vírgulas.
Adicionando suporte para idiomas adicionais
Se o idioma desejado não estiver incluído no highlight.js, você precisará adicioná-lo manualmente. Abaixo estão os passos para conseguir isso:
- Localize um módulo para o seu idioma: Encontre um módulo highlight.js que suporte o idioma que você deseja adicionar. Por exemplo, para adicionar Solidity, você pode usar o pacote
highlightjs-solidity.
- Solidity:
https://github.com/highlightjs/highlightjs-solidity- Supercollider:
https://github.com/highlightjs/highlightjs-supercollider- Integre o módulo usando um componente de tema:
- Obtenha o script HighlightJS para o idioma desejado.
- Crie um novo componente de tema no Discourse.
- Adicione o script ao componente de tema para garantir que ele se integre corretamente.
Quero adicionar solidity, uma linguagem que não vem com o highlight.js. Ela é fornecida neste pacote: GitHub - highlightjs/highlightjs-solidity
Não tenho certeza de como fazer isso. Adicionei às configurações do discourse. Ele vai encontrar o pacote para mim e cuidar de tudo, ou eu tenho que colocar este pacote javascript extra em algum lugar? Agradeceria alguma orientação ![]()
Também estou interessado nisso, para dar suporte à realce de sintaxe da linguagem supercollider via GitHub - highlightjs/highlightjs-supercollider
Bump. Se quisermos adicionar suporte de realce de sintaxe para idiomas que ainda não estão no highlight.js, há alguma maneira de adicioná-lo diretamente, por exemplo, via componente de tema, ou precisamos que as pessoas do highlight.js aceitem um PR com a sintaxe adicional?
Estou perguntando porque existe um par de linguagens bastante esotéricas, Archetype Description Language (ADL) e Archetype Query Language (AQL), que os proprietários do discourse.openehr.org gostariam que fossem realçáveis por sintaxe. Eles têm a capacidade técnica de construir um analisador/realçador, eles apenas precisam saber como fazê-lo funcionar em um Discourse.
É totalmente viável como um componente de tema! Assim que você tiver o script HighlightJS pronto, me chame aqui e posso ajudar você a construir o Theme component.
Obrigado @Falco! Vou criar o script e postarei de volta quando estiver pronto.
Nas últimas uma ou duas semanas, notei que a coloração de código não parece estar sendo registrada quando deveria. Veja aqui um exemplo. Quando especifico uma linguagem (java no caso acima), ela aplica as cores.
Aqui está outro exemplo para XML:
https://developer.sailpoint.com/discuss/t/get-application-roles-as-well-as-search-for-the-roles/78194?u=derek_putnam
Temos dezenas de linguagens para serem detectadas. Vejo o subtexto sob esta configuração dizendo que muitas podem fazer com que ela tenha um desempenho ruim, mas não acho que adicionamos nada recentemente.

