การเน้นไวยากรณ์ที่แตกต่างกันใน Github Markdown


119

ฉันกำลังเขียนเอกสารที่ควรอธิบายโค้ดใน C # โดยใช้ Markdown

ฉันใช้```csharpเพื่อรับการไฮไลต์ csharp

บางครั้งฉันต้องการเน้นบางสิ่งที่เฉพาะเจาะจงในโค้ดโดยใช้ตัวหนาหรืออะไรก็ได้

ฉันรู้เรื่อง<pre>อื่น ๆ ... แต่มันทำให้การไฮไลต์ csharp ของฉันหายไป

สถานการณ์กรณีที่ดีที่สุด - บางวิธีในการเน้นรหัสใน```csharpส่วน

สิ่งที่ดีที่สุดถัดไป - ฉันสามารถเขียนโค้ดเป็น diff - โดยใช้ + และ - เพื่อเน้นสิ่งต่างๆ แต่ฉันจะบอกให้ Github เน้นไวยากรณ์ที่แตกต่างด้วย backcolor สีแดงและสีเขียวได้อย่างไร

มีวิธีใช้ทั้งการเน้นไวยากรณ์ diff และ csharp หรือไม่?


6
โอ้ฉันต้องการให้ stackoverflow อัปเดตการแยกวิเคราะห์ Markdown ให้เป็นเหมือน Github มากขึ้นได้อย่างไร ฉันเกลียดระบบบล็อกรหัสที่แย่มากของพวกเขา การห่อด้วย `` เป็นวิธีที่ดีกว่าเนื่องจากไม่ต้องมีการเปลี่ยนแปลง "ภายในข้อความเอง" (เยื้องทั้งหมดด้วยช่องว่างสี่ช่อง) แม้จะมีแป้นพิมพ์ลัด Ctrl + K แต่นั่นก็เป็นเพียงการออกแบบที่ไม่ดี </rant>
Venryx

คำตอบ:


210

markdown ของ Github รองรับความแตกต่างเมื่อฟอร์แมตโค้ด ตัวอย่างเช่น:

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

เอาท์พุต:

ใส่คำอธิบายภาพที่นี่

และควรให้รูปลักษณ์ที่แตกต่างที่คุณกำลังมองหาโดยเน้นด้วยสีแดงสิ่งที่ถูกลบออกและสิ่งที่เพิ่มเข้ามาเป็นสีเขียว


2
ฉันลองใช้ในส่วนสำคัญนี้ หวังว่าจะช่วยได้ gist.github.com/salmedina/…
Salvador Medina

ว้าว! ความผิดฉันเอง. ฉันกำลังค้นหา "การเน้นไวยากรณ์ที่แตกต่างกันในบล็อกโค้ด stackoverflow" และเป็นผู้นำที่นี่ ใช่ มันใช้งานได้บน github และนั่นคือเหตุผลที่ฉันหวังว่ามันจะทำงานบน stackoverflow อนิจจาไม่เป็นเช่นนั้นและดูเหมือนว่าไม่มีความสนใจเพียงพอที่จะทำให้มันใช้งานได้ meta.stackoverflow.com/questions/272207/…
Bruno Bronosky

42
คุณรู้วิธีการเน้นไวยากรณ์ที่ถูกต้องและการเน้นที่แตกต่างกันหรือไม่?
math2001

1
ดูเหมือนว่าจะไม่ได้รับการสนับสนุน ณ ตอนนี้ นี่คือกลโกงของสิ่งที่รองรับ github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code หวังว่านี่จะช่วยได้
Salvador Medina

1
ใช้งานได้กับ GitHub, BitBucket และแม้แต่ IDE - VS Code ของฉัน ขอบคุณ!
Liran H

17

อย่างไรก็ตามคำตอบของซัลวาดอร์นั้นถูกต้อง แต่ฉันพบว่าคุณควรเพิ่มส่วนหัวที่แตกต่างให้กับข้อมูลโค้ดเพื่อที่จะเน้น:

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

หวังว่าจะช่วยได้!


หากมีใครกำลังมองหาเพียงรูปแบบ git โดยไม่มีสี ... stackoverflow.com/a/4857407/3196753
tresf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.