有没有办法让MarkdownSharp (我用的是NuGet package)来处理'GitHub flavored Markdown ( GFM)‘,特别是c#代码的语法突出显示,它(在GFM中)是这样写的:
```c#//我的代码.....
因此,如果我将Markdown格式的内容传递给MarkDownSharp,包含一个C#代码块(如上所述),我希望它为该c#代码生成语法突出显示的html。有什么想法吗?我知道我可以使用支持的4个空格来指示代码块,但我仍然在寻找一种解决方案,让它支持GitHub风格的Markdown。
发布于 2011-12-03 09:27:21
发布于 2014-05-12 01:45:34
我对MarkdownSharp做了一些轻微的修改,可以转换github风格的栅栏代码块。
https://github.com/KyleGobel/MarkdownSharp-GithubCodeBlocks
```csConsole.WriteLine(“围墙代码块ftw!");
会变成
<pre><code class='language-cs'>
Console.WriteLine("Fenced code blocks ftw!");
</code></pre>它处理了我需要使用的情况,虽然可能有很多边缘情况,但请随意派生/更改/修改/拉入请求。Markdown sharp有很多注释,而且只有一个文件,所以修改它并不是太糟糕。
发布于 2011-12-02 21:49:57
从这个post中可以看出,GitHub依赖于RedCarpet来呈现Markdown语法。
然而,Vicent Marti (Sundown (ex-Upskirt) states python maintainer)指出,语法突出显示是由python库Pygments专门处理的。
回到您关心的问题,我可以想到几个选项来从C#的语法突出显示中受益:
然后:
要使其接受plug-ins
生成的MarkDownSharp进行后期处理
顺便说一句,作为MarkDown的替代方案,你可能想要考虑Moonshine,它是Sundown之上的一个托管包装器,据说“在运行MarkdownSharp自己的基准应用程序时,它至少比MarkdownSharp快20倍”。
https://stackoverflow.com/questions/8210974
复制相似问题