Подсветка синтаксиса различий в Github Markdown

110

Я пишу документы, которые должны объяснять код на C # с использованием Markdown.

Я использую ```csharpдля выделения csharp.

Иногда я хочу выделить что-то конкретное в коде жирным шрифтом или чем-то еще.

Я знаю о и <pre>т.д ... но это убирает мою подсветку csharp.

В лучшем случае - как-то выделить код в ```csharpразделе.

Следующая лучшая вещь - я могу написать код как diff - используя + и -, чтобы выделить материал, но как мне сказать Github выделить синтаксис diff с помощью красного и зеленого цвета фона?

Есть ли способ использовать подсветку синтаксиса diff и csharp?

Ноам
источник
4
О, как бы мне хотелось, чтобы stackoverflow обновил свой разбор Markdown, чтобы он был больше похож на Githubs. Я ненавижу их ужасную систему кодовых блоков. Намного лучше использовать обертку «внутри самого текста, поскольку она не требует изменений». (с отступом их всех четырьмя пробелами) Даже с сочетанием клавиш Ctrl + K это всего лишь бандаж из-за плохого дизайна. </rant>
Venryx

Ответы:

198

Уценка Github поддерживает разницу при форматировании кода. Например:

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

Выход:

введите описание изображения здесь

и он должен придать вам вид Diff, который вы ищете , выделив красным то, что было удалено, и зеленым, что было добавлено.

Сальвадор Медина
источник
2
Я попробовал в этом суть. Надеюсь, это поможет. gist.github.com/salmedina/…
Сальвадор Медина
Вот это да! Виноват. Я искал «подсветку синтаксиса различий в блоках кода stackoverflow» и меня привели сюда. Да! он работает на github, и поэтому я надеялся, что он будет работать с stackoverflow. Увы, это не так, и, похоже, не хватает интереса к тому, чтобы заставить его работать. meta.stackoverflow.com/questions/272207/…
Бруно Броноски,
40
Вы знаете, как получить правильную подсветку синтаксиса и подсветку различий?
math2001
1
Похоже, что на данный момент он не поддерживается. Вот список того, что поддерживается. github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code . Надеюсь это поможет.
Сальвадор Медина
1
У меня работает на GitHub, BitBucket и даже в моей IDE - VS Code. Благодарность!
Liran H
16

Ответ Сальвадора верен, однако я обнаружил, что вам следует добавить заголовок diff к фрагменту кода, чтобы выделить его:

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