有没有办法让MarkdownSharp(我正在使用NuGet package)来处理'GitHub flavored Markdown(GFM)',特别是c#代码的语法高亮,它(在GFM中)被写成这样:
```c#
//my code.....
```
因此,如果我将Markdown格式化的内容传递给MarkDownSharp,包含C#代码块(如上所述),我希望它为该c#代码生成突出显示的语法html。有任何想法吗?我知道我可以使用支持的4个空格来表示代码块,但同样,我正在寻找一个解决方案来让它支持GitHub风格的Markdown。
答案 0 :(得分:16)
我对MarkdownSharp进行了一些轻微的修改,它将改变github风格的围栏代码块
https://github.com/KyleGobel/MarkdownSharp-GithubCodeBlocks
```cs
Console.WriteLine("Fenced code blocks ftw!");
```
会变成
<pre><code class='language-cs'>
Console.WriteLine("Fenced code blocks ftw!");
</code></pre>
它处理我需要使用的情况,但可能有很多边缘情况,随意分叉/更改/修改/拉取请求。 Markdown sharp有很多评论,只有一个文件,因此修改起来并不算太糟糕。
答案 1 :(得分:6)
答案 2 :(得分:3)
正如人们可以阅读post,GitHub依赖于RedCarpet来呈现Markdown语法。
然而,Vicent Marti(Sundown(前Upskirt)和RedCarpet维护者)states语法突出显示由Pygments(一个python库)专门处理。
回到你的问题,我可以想到几个选项,可以从C#语法高亮中受益:
然后:
顺便说一句,作为MarkDown的替代方案,您可能需要考虑Moonshine,这是一个在Sundown之上的托管包装器,据说“比MarkdownSharp在MarkdownSharp运行时快至少20倍基准应用程序。“