Discourse pubblica codice o testo formattato

:bookmark: Questo documento fornisce istruzioni su come utilizzare Markdown, BBCode e HTML in Discourse per pubblicare testo formattato.

:person_raising_hand: Livello utente richiesto: Tutti gli utenti possono utilizzare

:link: Collegamento originale ufficiale: Posting code or preformatted text

Quando si desidera condividere codice in Discourse, o pubblicare log di errori su Discourse. Se non formattiamo il codice, la lettura di questi contenuti diventa molto difficile, e molti codici contengono spazi e altri caratteri, che perderanno il loro significato originale durante la conversione.

Sommario

In questa guida, imparerai:

  • Come formattare il codice inline.
  • Come formattare il codice monolinea.
  • Come formattare il codice multilinea.
  • Come utilizzare BBCode e HTML per la formattazione del codice.
  • Come disabilitare la formattazione automatica del codice.

Formattazione del codice inline

Per formattare il codice inline o il testo speciale, utilizzare gli apostrofi singoli prima e dopo il contenuto da formattare.

Questo può essere all’interno di un testo, o il codice può essere su una riga diversa.

La formattazione del codice inline non applicherà alcuna formattazione al codice da formattare (vedi l’esempio qui sotto), ma utilizzerà solo lo stile del codice (“code style”) per il codice da formattare.

Esempio 1:

Input:

This is a line of code

Output:

This is a line of code

Esempio 2:

Input:

Here’s some text with a bit of code inside!

Output:

Here’s some text with a bit of code inside!

Formattazione del codice monolinea

Se è necessario formattare il codice su una riga, è sufficiente aggiungere 4 spazi prima della riga di codice.

Tutto il contenuto su una singola riga verrà formattato come codice fino all’inizio della riga successiva.

Esempio:

Input:

    All text after 4 spaces will be formatted.

Output:

All text after 4 spaces will be formatted.

Formattazione del codice multilinea

Per il codice multilinea, se si utilizza ancora la formattazione del codice monolinea, l’intero processo diventerà molto complicato.

In particolare, molti codici utilizzano spazi per l’indentazione.

L’utilizzo della formattazione del codice con spazi monolinea influenzerà l’indentazione dell’intero blocco di codice.

In questo caso, è possibile utilizzare 3 apostrofi singoli (backticks (```)) come inizio del codice, e questi 3 apostrofi devono essere su una riga separata.

Inoltre, non ci devono essere spazi prima di questi 3 apostrofi, altrimenti l’intero blocco di codice potrebbe non essere formattato correttamente.

Esempio:

Input:

public class CodeFormatting {
public static void main(String args) {
System.out.println(“I can format code now!”);
}
}

Output:

public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}

BBCode e HTML

Oltre alla formattazione Markdown, Discourse supporta anche BBCode e HTML.

Per HTML, utilizzare i tag <pre> e <code>:

<pre><code>
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}
</code></pre>

Per BBCode, utilizzare il tag [code]:

[code]
public class CodeFormatting {
    public static void main(String[] args) {
        System.out.println("I can format code now!");
    }
}
[/code]

Per linguaggi specifici

Per impostazione predefinita, Discourse rileva automaticamente la lingua utilizzata in base al formato di input.

Naturalmente, è anche possibile specificare manualmente il linguaggio per un blocco di codice inserendo il linguaggio desiderato dopo i 3 apostrofi singoli.

``` your_language
# Your code here

Esempio:

Per il linguaggio Ruby:

Input:

``` ruby
3.times do |stuff|
    stuff.do
end

**Output:**

```ruby
3.times do |stuff|
    stuff.do
end

Le lingue supportate devono essere tra quelle che supportano l’evidenziazione della sintassi highlighted languages.

L’elenco delle lingue supportate è disponibile su GitHub.

Naturalmente, è possibile configurare la lingua predefinita utilizzando l’impostazione default code lang.

Nessuna evidenziazione della sintassi

Se non si desidera che il testo di input o il blocco di codice utilizzino alcuna evidenziazione della sintassi, utilizzare text al posto della selezione della lingua.

Esempio:

Input:

``` text
Your text to NOT highlight here

**Output:**

```text
Your text to NOT highlight here

Best practice

  • Per il codice inline, racchiudere sempre il testo da formattare con apostrofi singoli.
  • Se si desidera condividere codice multilinea, formattare il codice.
  • Per testo e log, evitare di utilizzare lo stile automatico del codice, poiché questi testi sono per lo più testo semplice e dovrebbero essere formattati come testo normale.
  • Quando si scopre che lo stile automatico non ha riconosciuto correttamente il codice, ricordarsi di specificare il linguaggio corretto per il codice.
2 Mi Piace