Hervorhebung der Diff-Syntax in Github Markdown

99

Ich schreibe Dokumente, die Code in C # mit Markdown erklären sollen.

Ich benutze das ```csharp, um csharp hervorzuheben.

Ich möchte manchmal etwas Bestimmtes im Code mit Fettdruck oder etwas anderem hervorheben.

Ich weiß über <pre>etc ... aber es nimmt meine csharp Hervorhebung weg.

Best-Case-Szenario - eine Möglichkeit, Code im ```csharpAbschnitt hervorzuheben .

Das nächstbeste: Ich kann den Code als Diff schreiben - mit + und -, um Dinge hervorzuheben, aber wie kann ich Github anweisen, die Diff-Syntax mit der roten und grünen Hintergrundfarbe hervorzuheben?

Gibt es eine Möglichkeit, sowohl die Diff- als auch die Csharp-Syntaxhervorhebung zu verwenden?

Noam
quelle
4
Oh, wie ich wünschte, Stackoverflow würde ihre Markdown-Analyse so aktualisieren, dass sie eher Githubs ähnelt. Ich hasse ihr schreckliches Codeblocksystem. Das Umschließen mit `` `ist viel besser, da keine Änderungen" innerhalb des Textes selbst "erforderlich sind. (Alle mit vier Leerzeichen einrücken) Selbst mit der Tastenkombination Strg + K ist das nur ein Bandaid über schlechtes Design. </ rant>
Venryx

Antworten:

179

Githubs Markdown unterstützt Diff beim Formatieren von Code. Beispielsweise:

```diff
public class Hello1
{
   public static void Main()
   {
-      System.Console.WriteLine("Hello, World!");
+      System.Console.WriteLine("Rock all night long!");
   }
}
```

und es sollte Ihnen das Diff-Aussehen geben, das Sie suchen , und in Rot hervorheben, was entfernt wurde und in Grün, was hinzugefügt wurde.

Salvador Medina
quelle
2
Ich habe es in diesem Kern versucht. Ich hoffe es hilft. gist.github.com/salmedina/…
Salvador Medina
Beeindruckend! Mein Fehler. Ich suchte nach "Diff-Syntax-Hervorhebung in Stackoverflow-Codeblöcken" und wurde hier geführt. Ja! Es funktioniert auf Github und deshalb hatte ich gehofft, dass es auf Stackoverflow funktioniert. Leider nicht und es scheint nicht genug Interesse daran zu geben, dass es funktioniert. meta.stackoverflow.com/questions/272207/…
Bruno Bronosky
30
Wissen Sie, wie Sie die richtige Syntaxhervorhebung UND die Diff-Hervorhebung erzielen?
Math2001
1
Es scheint derzeit nicht unterstützt zu werden. Hier ist ein Spickzettel, was unterstützt wird. github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code . Hoffe das hilft.
Salvador Medina
1
Funktioniert für mich auf GitHub, BitBucket und sogar meinem IDE - VS Code. Vielen Dank!
Liran H
15

Salvadors Antwort ist korrekt. Ich habe jedoch herausgefunden, dass Sie den Diff-Header zum Code-Snippet hinzufügen sollten, um ihn hervorzuheben:

``` diff
diff --git a/filea.extension b/fileb.extension
index d28nd309d..b3nu834uj 111111
--- a/filea.extension
+++ b/fileb.extension
@@ -1,6 +1,6 @@
-oldLine
+newLine
```

Ich hoffe das hilft!

Fdiazreal
quelle
Wenn jemand nur nach dem Git-Format sucht, ohne die Farben ... stackoverflow.com/a/4857407/3196753
tresf