Questa guida spiega come pubblicare codice o testo preformattato in Discourse utilizzando i formati Markdown, BBCode e HTML.
Livello utente richiesto: Tutti gli utenti
Hai una riga di codice che devi condividere? Forse devi condividere un log di errore dal tuo sito? Leggere codice non formattato può essere difficile, specialmente se il codice dipende dagli spazi o contiene caratteri speciali che Discourse trasforma.
Sommario
In questa guida imparerai:
- Come formattare il codice inline.
- Come formattare intere righe di codice.
- Come formattare blocchi di codice.
- Come usare BBCode e HTML per la formattazione del codice.
- Come disabilitare lo stile automatico del codice.
Formattazione del codice inline
Per formattare una sezione specifica di testo, usa un singolo apice inverso su ogni lato del codice. Questo può essere fatto all’interno di testo normale, o quando il codice è sulla sua riga. La formattazione inline non applica alcuna formattazione automatica del codice (vedi sotto) e applica solo lo “stile codice” al testo tra gli apici inversi.
Esempio 1:
Digitazione:
`Questa è una riga di codice`
Risultato:
Questa è una riga di codice
Esempio 2:
Digitazione:
Ecco del testo con `un po’ di codice` all’interno!
Risultato:
Ecco del testo con un po' di codice all’interno!
Formattazione dell’intera riga di codice
Per formattare un’intera riga, aggiungi 4 spazi all’inizio di una riga. Tutto il testo fino alla successiva interruzione di riga sarà considerato codice.
Esempio:
Digitazione:
Tutto il testo dopo 4 spazi sarà formattato.
Risultato:
Tutto il testo dopo 4 spazi sarà formattato.
Formattazione del blocco di codice
Sebbene tu possa usare il metodo dei 4 spazi per produrre più righe di codice, questo può essere tedioso, specialmente se stai copiando e incollando e devi digitare 4 spazi su più righe di testo.
Invece, usa 3 apici inversi (```) sulla propria riga sopra e sotto il codice. Assicurati che non ci siano spazi sulle righe con gli apici inversi, altrimenti non funzionerà.
Esempio:
Digitazione:
```
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("Posso formattare il codice ora!");
}
}
```
Risultato:
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("Posso formattare il codice ora!");
}
}
BBCode e HTML
Oltre a Markdown, Discourse supporta un sottoinsieme di BBCode e HTML.
Per HTML, usa i tag <code> e <pre>:
<pre><code>
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("Posso formattare il codice ora!");
}
}
</code></pre>
Per BBCode, usa il tag [code]:
[code]
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("Posso formattare il codice ora!");
}
}
[/code]
Specificare il linguaggio di programmazione
Per impostazione predefinita, Discourse rileva il linguaggio del tuo codice e lo formatta di conseguenza.
Per specificare manualmente il linguaggio di programmazione per un blocco di codice, digita il nome del linguaggio subito dopo il primo set di apici inversi:
``` nome_linguaggio
# Il tuo codice qui
Esempio
Per specificare Ruby:
Tipo:
``` ruby
3.times do |stuff|
stuff.do
end
```
Risultato:
3.times do |stuff|
stuff.do
end
Il linguaggio deve essere uno dei linguaggi evidenziati configurati per l’evidenziazione della sintassi sul tuo sito. L’elenco predefinito si trova in config/site_settings.yml cercando highlighted_languages.
Puoi anche impostare il linguaggio di codice predefinito con l’impostazione del sito default code lang.
Soppressione dell’evidenziazione
Se vuoi impedire qualsiasi evidenziazione della sintassi, puoi usare text come linguaggio:
Esempio
Digitazione:
``` text
Il tuo testo da NON evidenziare qui
Risultato:
Il tuo testo da NON evidenziare qui
Buone pratiche
- Assicurati sempre che il codice inline sia racchiuso tra apici inversi singoli per chiarezza.
- Usa la formattazione del blocco di codice per condividere snippet di codice più grandi.
- Evita lo stile automatico del codice quando condividi testo o log che non beneficiano di uno stile specifico per linguaggio.
- Specifica il linguaggio se il rilevamento automatico non riconosce correttamente il tuo codice.