Questa guida spiega come configurare quali linguaggi di programmazione sono disponibili per l’evidenziazione della sintassi in Discourse.
Livello utente richiesto: Amministratore
L’evidenziazione della sintassi migliora la leggibilità nei blocchi di codice applicando la formattazione in base al linguaggio di programmazione. Puoi personalizzare i linguaggi disponibili per l’evidenziazione della sintassi in Discourse.
Configurazione dell’impostazione del sito highlighted_languages
Per configurare l’elenco dei linguaggi di programmazione per l’evidenziazione della sintassi:
Accedi al pannello Admin.
Vai su Impostazioni.
Cerca l’impostazione del sito highlighted_languages.
In questa impostazione, puoi definire quali linguaggi saranno disponibili per l’evidenziazione della sintassi. Inserisci i nomi dei linguaggi che desideri supportare, separati da virgole.
Aggiungere il supporto per linguaggi aggiuntivi
Se il linguaggio desiderato non è incluso in highlight.js, devi aggiungerlo manualmente. Di seguito sono riportati i passaggi per raggiungere questo obiettivo:
Individua un modulo per il tuo linguaggio: Trova un modulo highlight.js che supporti il linguaggio che desideri aggiungere. Ad esempio, per aggiungere Solidity, puoi utilizzare il pacchetto highlightjs-solidity.
Non sono sicuro di come fare. L’ho aggiunto alle impostazioni di Discourse. Lo troverà per me e si occuperà di tutto, o devo mettere questo pacchetto JavaScript aggiuntivo da qualche parte? Apprezzerei una guida
Bump. Se vogliamo aggiungere il supporto per l’evidenziazione della sintassi per lingue non ancora presenti in highlight.js, c’è un modo per aggiungerla direttamente, ad esempio tramite un componente tematico, o dobbiamo chiedere alle persone di highlight.js di accettare una PR con la sintassi aggiuntiva?
Chiedo perché esiste una coppia di linguaggi piuttosto esoterica, Archetype Description Language (ADL) e Archetype Query Language (AQL), per i quali i proprietari di discourse.openehr.org vorrebbero che la sintassi fosse evidenziabile. Hanno la capacità tecnica di creare un parser/evidenziatore, devono solo sapere come farlo funzionare in Discourse.
È assolutamente fattibile come componente del tema! Una volta che avrai pronto lo script HighlightJS, contattami qui e potrò aiutarti a creare il Theme component.
Nelle ultime due settimane, ho notato che l’evidenziazione del codice non sembra funzionare quando dovrebbe. Vedi qui un esempio. Quando specifico una lingua (java nel caso sopra), vengono applicati i colori.
Abbiamo dozzine di lingue da rilevare. Vedo che il sottotesto sotto questa impostazione dice che troppe possono causare prestazioni scadenti, ma non credo che abbiamo aggiunto nulla di recente.