Różnicowe podświetlanie składni w Github Markdown

112

Piszę dokumenty, które powinny wyjaśniać kod w C # przy użyciu Markdown.

Używam, ```csharpaby uzyskać wyróżnienie csharp.

Czasami chcę podkreślić coś konkretnego w kodzie, używając pogrubienia lub czegokolwiek.

Wiem o <pre>itp ... ale to odbiera mi csharpowe wyróżnianie.

Najlepszy scenariusz - sposób na wyróżnienie kodu w ```csharpsekcji.

Następna najlepsza rzecz - mogę napisać kod jako diff - używając + i - do podświetlania rzeczy, ale jak powiedzieć Githubowi, aby podświetlał składnię diff za pomocą czerwonego i zielonego koloru tła?

Czy istnieje sposób na użycie podświetlania składni diff i csharp?

Noam
źródło
4
Och, jak bardzo chciałbym, żeby stackoverflow zaktualizował ich parsowanie Markdown, aby bardziej przypominał Github. Nienawidzę ich okropnego systemu blokowania kodu. Zawijanie „” jest o wiele lepsze, ponieważ nie wymaga żadnych zmian „w samym tekście”. (wcięcie ich wszystkich czterema spacjami) Nawet ze skrótem klawiaturowym Ctrl + K to tylko bandaż na zły projekt. </rant>
Venryx

Odpowiedzi:

200

Markdown Github obsługuje różnicowanie podczas formatowania kodu. Na przykład:

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

Wynik:

wprowadź opis obrazu tutaj

i powinien dać ci wygląd Diff, którego szukasz , podkreślając na czerwono, co zostało usunięte, a na zielono, co zostało dodane.

Salvador Medina
źródło
2
Spróbowałem tego w tym sensie. Mam nadzieję, że to pomoże. gist.github.com/salmedina/…
Salvador Medina,
Łał! Mój błąd. Szukałem „podświetlania składni różnic w blokach kodu przepływu stosu” i zostałem tutaj prowadzony. Tak! działa na githubie i dlatego miałem nadzieję, że będzie działać na przepływie stosu. Niestety tak nie jest i wydaje się, że nie ma wystarczającego zainteresowania, aby to zadziałało. meta.stackoverflow.com/questions/272207/…
Bruno Bronosky,
40
Czy wiesz, jak uzyskać prawidłowe podświetlanie składni ORAZ podświetlanie różnic?
math2001
1
Obecnie nie wydaje się, aby był obsługiwany. Oto ściągawka tego, co jest obsługiwane. github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code . Mam nadzieję że to pomoże.
Salvador Medina
1
Działa dla mnie na GitHub, BitBucket, a nawet na moim IDE-VS Code. Dzięki!
Liran H
16

Odpowiedź Salvadora jest poprawna, jednak dowiedziałem się, że należy dodać nagłówek diff do fragmentu kodu, aby go podświetlić:

``` 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
```

Mam nadzieję że to pomogło!

Fdiazreal
źródło
Jeśli ktoś szuka tylko formatu git, bez kolorów ... stackoverflow.com/a/4857407/3196753
tresf