Dieser Leitfaden erklärt, wie man Code oder vorformatierte Texte in Discourse mithilfe von Markdown, BBCode und HTML-Formaten postet.
Erforderliche Benutzerebene: Alle Benutzer
Haben Sie eine Codezeile, die Sie teilen möchten? Vielleicht möchten Sie ein Fehlerprotokoll von Ihrer Website teilen? Unformatierten Code zu lesen kann schwierig sein, besonders wenn der Code auf Leerzeichen oder Sonderzeichen angewiesen ist, die Discourse umwandelt.
Zusammenfassung
In diesem Leitfaden lernen Sie:
- Wie man Inline-Code formatiert.
- Wie man ganze Codezeilen formatiert.
- Wie man Codeblöcke formatiert.
- Wie man BBCode und HTML für die Codeformatierung verwendet.
- Wie man die automatische Codeformatierung deaktiviert.
Inline-Code-Formatierung
Um einen bestimmten Textabschnitt zu formatieren, verwenden Sie ein einzelnes Gravis-Zeichen (Backtick) auf jeder Seite des Codes. Dies kann innerhalb von regulärem Text oder wenn der Code in einer eigenen Zeile steht, erfolgen. Die Inline-Formatierung wendet keine automatische Codeformatierung an (siehe unten) und wendet den „Code-Stil“ nur auf den Text zwischen den Gravis-Zeichen an.
Beispiel 1:
Eingabe:
This is a line of code
Ergebnis:
This is a line of code
Beispiel 2:
Eingabe:
Here’s some text with a bit of code inside!
Ergebnis:
Here’s some text with a bit of code inside!
Formatierung ganzer Zeilen
Um eine ganze Zeile zu formatieren, fügen Sie 4 Leerzeichen am Anfang einer Zeile hinzu. Der gesamte Text bis zum nächsten Zeilenumbruch wird als Code formatiert.
Beispiel:
Eingabe:
All text after 4 spaces will be formatted.
Ergebnis:
All text after 4 spaces will be formatted.
Blockformatierung für Code
Obwohl Sie die 4-Leerzeichen-Methode verwenden können, um mehrere Codezeilen zu erzeugen, kann dies mühsam sein, besonders wenn Sie kopieren und einfügen und 4 Leerzeichen für mehrere Textzeilen eingeben müssen.
Verwenden Sie stattdessen 3 Gravis-Zeichen (`) in einer eigenen Zeile über und unter Ihrem Code. Achten Sie darauf, dass sich keine Leerzeichen in den Zeilen mit den Gravis-Zeichen befinden, da dies sonst nicht funktioniert.
Beispiel:
Eingabe:
```
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
}
```
Ergebnis:
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
}
BBCode und HTML
Zusätzlich zu Markdown unterstützt Discourse eine Teilmenge von BBCode und HTML.
Für HTML verwenden Sie 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>
Für BBCode verwenden Sie das Tag [code]:
[code]
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
}
[/code]
Angabe der Programmiersprache
Standardmäßig erkennt Discourse die Sprache Ihres Codes und formatiert ihn entsprechend.
Um die Programmiersprache für einen Codeblock manuell anzugeben, geben Sie den Namen der Sprache direkt nach der ersten Gruppe von Gravis-Zeichen ein:
``` your_language
# Your code here
Beispiel
Um Ruby anzugeben:
Eingabe:
``` ruby
3.times do |stuff|
stuff.do
end
```
Ergebnis:
3.times do |stuff|
stuff.do
end
Die Sprache muss eine der als highlighted languages konfigurierten Sprachen für die Syntaxhervorhebung auf Ihrer Website sein. Die Standardliste finden Sie in config/site_settings.yml durch die Suche nach highlighted_languages.
Sie können die Standard-Codelänge auch mit der Site-Einstellung default code lang festlegen.
Hervorhebung unterdrücken
Wenn Sie jegliche Syntaxhervorhebung verhindern möchten, können Sie text als Sprache verwenden:
Beispiel
Eingabe:
``` text
Your text to NOT highlight here
Ergebnis:
Your text to NOT highlight here
Best Practices
- Stellen Sie immer sicher, dass Ihr Inline-Code mit einzelnen Gravis-Zeichen eingerahmt ist, um die Lesbarkeit zu gewährleisten.
- Verwenden Sie die Blockcode-Formatierung, um größere Codeausschnitte zu teilen.
- Vermeiden Sie die automatische Codeformatierung, wenn Sie Text oder Protokolle teilen, die nicht von sprachspezifischer Formatierung profitieren.
- Geben Sie die Sprache an, falls die automatische Erkennung Ihren Code nicht korrekt erkennt.