Configure quais linguagens de programação estão disponíveis para realce de sintaxe

:bookmark: Este guia explica como configurar quais linguagens de programação estão disponíveis para realce de sintaxe no Discourse.

:person_raising_hand: 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_languages

Para configurar a lista de linguagens de programação para realce de sintaxe:

  1. Navegue até o painel do Administrador.
  2. Vá para Configurações.
  3. 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:

  1. 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
  2. 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.
7 curtidas

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 :slight_smile:

1 curtida

Também estou interessado nisso, para dar suporte à realce de sintaxe da linguagem supercollider via GitHub - highlightjs/highlightjs-supercollider

1 curtida

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.

3 curtidas

É 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.

3 curtidas

Obrigado @Falco! Vou criar o script e postarei de volta quando estiver pronto.

3 curtidas

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.