Publier du code ou du texte préformaté

:bookmark: Ce guide explique comment publier du code ou du texte préformaté dans Discourse en utilisant les formats Markdown, BBCode et HTML.

:person_raising_hand: Niveau d’utilisateur requis : Tous les utilisateurs

Vous avez une ligne de code à partager ? Peut-être avez-vous besoin de partager un journal d’erreurs de votre site ? Lire du code non formaté peut être difficile, surtout si le code dépend d’espaces ou contient des caractères spéciaux que Discourse transforme.

Résumé

Dans ce guide, vous apprendrez :

  • Comment formater le code en ligne.
  • Comment formater des lignes de code entières.
  • Comment formater des blocs de code.
  • Comment utiliser BBCode et HTML pour le formatage du code.
  • Comment désactiver le style automatique du code.

Formatage du code en ligne

Pour formater une section de texte spécifique, utilisez un seul accent grave de chaque côté du code. Cela peut être fait dans du texte normal, ou lorsque le code est sur sa propre ligne. Le formatage en ligne n’applique aucun formatage automatique du code (voir ci-dessous) et applique uniquement le « style de code » au texte entre les accents graves.

Exemple 1 :

Saisie :

``This is a line of code``

Résultat :

This is a line of code

Exemple 2 :

Saisie :

Voici du texte avec `un peu de code` à l’intérieur !

Résultat :

Voici du texte avec un peu de code à l’intérieur !

Formatage de lignes de code entières

Pour formater une ligne entière, ajoutez 4 espaces au début d’une ligne. Tout le texte jusqu’à la prochaine rupture de ligne sera considéré comme du code.

Exemple :

Saisie :

    All text after 4 spaces will be formatted.

Résultat :

All text after 4 spaces will be formatted.

Formatage des blocs de code

Bien que vous puissiez utiliser la méthode des 4 espaces pour produire plusieurs lignes de code, cela peut être fastidieux, surtout si vous copiez et collez et que vous devez taper 4 espaces sur plusieurs lignes de texte.

Au lieu de cela, utilisez 3 accents graves (```) sur leur propre ligne au-dessus et en dessous de votre code. Assurez-vous qu’il n’y a pas d’espaces sur les lignes contenant les accents graves, sinon cela ne fonctionnera pas.

Exemple :

Saisie :

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

Résultat :

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

BBCode et HTML

En plus de Markdown, Discourse prend en charge un sous-ensemble de BBCode et de HTML.

Pour le HTML, utilisez les balises <pre> et <code> :

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

Pour le BBCode, utilisez la balise [code] :

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

Spécification du langage de programmation

Par défaut, Discourse détecte la langue de votre code et la stylise en conséquence.

Pour spécifier manuellement le langage de programmation pour un bloc de code, tapez le nom du langage juste après le premier ensemble d’accents graves :

``` your_language
# Your code here

Exemple

Pour spécifier Ruby :

Saisie :

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

Résultat :

3.times do |stuff|
    stuff.do
end

Le langage doit être l’un des langages mis en évidence configurés pour la coloration syntaxique sur votre site. La liste par défaut peut être trouvée dans config/site_settings.yml en recherchant highlighted_languages.
Vous pouvez également définir la langue de code par défaut avec le paramètre de site default code lang.

Suppression de la coloration syntaxique

Si vous souhaitez empêcher toute coloration syntaxique, vous pouvez utiliser text comme langage :

Exemple

Saisie :

``` text
Your text to NOT highlight here

Résultat :

Your text to NOT highlight here

Meilleures pratiques

  • Assurez-vous toujours que votre code en ligne est encadré d’accents graves simples pour plus de clarté.
  • Utilisez le formatage de bloc de code pour partager de plus grands extraits de code.
  • Évitez le style automatique du code lors du partage de texte ou de journaux qui ne bénéficient pas d’un style spécifique au langage.
  • Spécifiez le langage si la détection automatique ne reconnaît pas correctement votre code.

Ressources supplémentaires

15 « J'aime »

Un lien fixe et plus sûr pour la liste par défaut des langues activées pour la coloration syntaxique est https://github.com/discourse/discourse/blob/c4de8565eceeadda8f2a800226a02d0c40752ae6/config/site_settings.yml#L1086-L1087

3 messages ont été déplacées vers un nouveau sujet : Impossible de poster un sujet avec un bloc de code