Discourse veröffentlicht Code oder formatierten Text

:bookmark: Der Text erklärt, wie man mit Markdown, BBCode und HTML formatierten Text in Discourse veröffentlicht.

:person_raising_hand: Erforderliche Benutzerstufe: Alle Benutzer

:link: Link zum Originalartikel: Posting code or preformatted text

Wenn Sie Code in Discourse teilen möchten oder Fehlermeldungen auf Discourse veröffentlichen müssen. Wenn wir den Code nicht formatieren, ist er sehr schwer zu lesen, und viele Codes enthalten Leerzeichen und andere Zeichen, die bei der Konvertierung ihren ursprünglichen Sinn verlieren.

Überblick

In dieser Anleitung lernen Sie:

  • Wie man Inline-Code formatiert.
  • Wie man einzeiligen Code formatiert.
  • Wie man mehrzeiligen Code formatiert.
  • Wie man BBCode und HTML für die Codeformatierung verwendet.
  • Wie man die automatische Codeformatierung deaktiviert.

Inline-Code-Formatierung

Um Inline-Code oder Sonderzeichen zu formatieren, verwenden Sie einfache Anführungszeichen vor und nach dem zu formatierenden Inhalt.

Dies kann innerhalb eines Textes oder auf einer separaten Zeile geschehen.

Die Inline-Code-Formatierung wendet keine Formatierung auf den zu formatierenden Code an (siehe Beispiele unten), sondern verwendet nur den Code-Stil (code style) für den zu formatierenden Code.

Beispiel 1:

Eingabe:

This is a line of code

Ausgabe:

This is a line of code

Beispiel 2:

Eingabe:

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

Ausgabe:

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

Einzeilige Code-Formatierung

Wenn Sie eine Zeile Code formatieren müssen, fügen Sie einfach 4 Leerzeichen vor der Zeile ein.

Alle Inhalte in einer einzelnen Zeile werden bis zum Beginn der nächsten Zeile als Code formatiert.

Beispiel:

Eingabe:

    All text after 4 spaces will be formatted.

Ausgabe:

All text after 4 spaces will be formatted.

Mehrzeilige Code-Formatierung

Für mehrzeiligen Code wäre die Formatierung mit einzeiligem Code sehr umständlich.

Insbesondere viele Codes verwenden Leerzeichen für die Einrückung.

Die einzeilige Leerzeichen-Codeformatierung beeinflusst die Einrückung des gesamten Codeblocks.

Zu diesem Zeitpunkt können Sie 3 einfache Anführungszeichen (backticks (```)) als Anfang des Codes verwenden. Diese 3 einfachen Anführungszeichen müssen auf einer separaten Zeile stehen.

Außerdem dürfen vor diesen 3 einfachen Anführungszeichen keine Leerzeichen stehen. Wenn Leerzeichen vorhanden sind, kann der gesamte Codeblock möglicherweise nicht formatiert werden.

Beispiel:

Eingabe:

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

Ausgabe:

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

BBCode und HTML

Neben der Markdown-Formatierung unterstützt Discourse auch BBCode und HTML.

Verwenden Sie für HTML die Tags <pre> und <code>:

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

Verwenden Sie für BBCode das Tag [code]:

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

Für bestimmte Programmiersprachen

Standardmäßig erkennt Discourse automatisch die verwendete Sprache basierend auf Ihrer Eingabeformatierung.

Sie können die Sprache für Codeblöcke auch manuell angeben, indem Sie nach den 3 einfachen Anführungszeichen die gewünschte Sprache eingeben.

``` your_language
# Your code here

Beispiel:

Für die Sprache Ruby:

Eingabe:

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

Ausgabe:

3.times do |stuff|
    stuff.do
end

Unterstützte Sprachen müssen die Sprachen sein, für die die Syntaxhervorhebung unterstützt wird.

Die Liste der unterstützten Sprachen finden Sie auf der GitHub-Seite.

Sie können die Standard-Sprache auch mit der Einstellung default code lang konfigurieren.

Keine Syntaxhervorhebung

Wenn Sie nicht möchten, dass Ihr Text oder Codeblock mit einer Syntaxhervorhebung versehen wird, verwenden Sie stattdessen text im Sprachauswahlbereich.

Beispiel:

Eingabe:

``` text
Your text to NOT highlight here

Ausgabe:

Your text to NOT highlight here

Best Practices

  • Verwenden Sie für Inline-Code immer einfache Anführungszeichen, um den zu formatierenden Text einzuschließen.
  • Wenn Sie mehrzeiligen Code teilen möchten, formatieren Sie den Code.
  • Vermeiden Sie für Text und Protokolle die automatische Codeformatierung, da diese Texte meist reiner Text sind und mit Textformatierung behandelt werden sollten.
  • Wenn die automatische Erkennung den Code nicht korrekt identifiziert, geben Sie die richtige Sprache für Ihren Code an.
2 „Gefällt mir“