Penyorotan sintaks diff di Github Markdown

110

Saya sedang menulis dokumen yang harus menjelaskan kode dalam C # menggunakan penurunan harga.

Saya menggunakan ```csharpuntuk mendapatkan penyorotan csharp.

Saya terkadang ingin menyorot sesuatu yang spesifik dalam kode menggunakan huruf tebal atau apapun.

Saya tahu tentang <pre>dll ... tetapi menghilangkan sorotan csharp saya.

Skenario kasus terbaik - beberapa cara untuk menyorot kode di ```csharpbagian tersebut.

Hal terbaik berikutnya - saya dapat menulis kode sebagai diff - menggunakan + dan - untuk menyorot sesuatu, tetapi bagaimana cara memberi tahu Github untuk menyorot sintaks diff dengan warna latar merah dan hijau?

Apakah ada cara untuk menggunakan penyorotan sintaks diff dan csharp?

Noam
sumber
4
Oh betapa saya berharap stackoverflow akan memperbarui parsing penurunan harga mereka menjadi lebih seperti Github. Saya benci sistem blok kode mereka yang mengerikan. Membungkus dengan `` jauh lebih baik, karena tidak memerlukan perubahan "di dalam teks itu sendiri". (membuat indentasi semuanya dengan empat spasi) Bahkan dengan pintasan keyboard Ctrl + K, itu hanyalah bandaid dari desain yang buruk. </rant>
Venryx

Jawaban:

198

Penurunan harga Github mendukung diff saat memformat kode. Sebagai contoh:

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

Keluaran:

masukkan deskripsi gambar di sini

dan itu akan memberi Anda tampilan Diff yang Anda cari , menyoroti merah apa yang telah dihapus dan hijau apa yang telah ditambahkan.

Salvador Medina
sumber
2
Saya mencobanya di inti ini. Semoga membantu. gist.github.com/salmedina/…
Salvador Medina
Wow! Salahku. Saya sedang mencari "penyorotan sintaks diff di blok kode stackoverflow" dan memimpin di sini. Iya! ini berfungsi di github dan itulah mengapa saya berharap ini akan berfungsi di stackoverflow. Sayangnya, tidak dan tampaknya minat untuk membuatnya berhasil. meta.stackoverflow.com/questions/272207/…
Bruno Bronosky
40
Apakah Anda tahu cara mendapatkan penyorotan sintaks yang tepat DAN penyorotan perbedaan?
math2001
1
Tampaknya tidak didukung untuk sekarang. Berikut adalah lembar contekan tentang apa yang didukung. github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code . Semoga ini membantu.
Salvador Medina
1
Bekerja untuk saya di GitHub, BitBucket, dan bahkan IDE - VS Code saya. Terima kasih!
Liran H
16

Tanggapan Salvador benar, namun, saya menemukan bahwa Anda harus menambahkan header diff ke cuplikan kode untuk menyorotnya:

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

Saya harap itu membantu!

Fdiazreal.dll
sumber
Jika seseorang hanya mencari format git, tanpa warna ... stackoverflow.com/a/4857407/3196753
tresf