用上CommonMark.NET,.NET平台终于有了好用的markdown引擎
发布日期:2021-05-09 01:36:18 浏览次数:22 分类:博客文章

本文共 970 字,大约阅读时间需要 3 分钟。

缺少好用的markdown引擎之前一直是.NET平台上的一个痛点。因为这个痛点,我们被迫痛苦地使用了pandoc——不是pandoc做的不好,而是pandoc是由Haskell开发的,只能在Windows Server 2008上编译,而且编译出来的dll只能在Windows Server 2012上使用,并且只能在IIS 32位应用程序池下使用,甚至有时会引起CPU 100%造成服务器宕机。

昨天,我们在github上发现了今年新上市的一款.net markdown引擎 —— (当前在github上有188颗星)。它是CommonMark规范的一个.NET实现,所以叫CommonMark.NET。CommonMark是什么呢?它是一个。之前我们经常抱怨markdown最大的问题是缺少标准,而现在已经有了标准。我们只知道抱怨问题,而有人却已经在解决问题,这就是差距啊。

发现CommonMark.NET之后,我们进行了一番测试,测试下来效果不错,能满足我们的应用需求,除了一个问题 —— 不支持表格。这不是CommonMark.NET的问题,而是CommonMark规范本身不支持markdown表格标记,支持表格的markdown标记是由定义的,但没能成为markdown标准。(针对不支持表格的问题,CommonMark.NET的开发者也进行了专门的说明,详见 )。

经过评估,我们最终决定选用CommonMark.NET作为博客程序的markdown主引擎,昨天晚上已经发布上线。如果您遇到markdown生成html的转换问题,麻烦您发邮件至contact@cnblogs.com向我们反馈。

对于不支持表格的问题,我们正在尝试折衷的解决方法。如果在markdown文本中检测到markdown表格标记,就换一个markdown引擎进行转换。

使用CommonMark.NET非常简单,nuget安装CommonMark.NET包包:

PM> Install-Package CommonMark.NET

然后在代码中调用CommonMark.CommonMarkConverter.Convert()方法进行转换:

body = CommonMark.CommonMarkConverter.Convert(body);
上一篇:如何在博客园的markdown编辑器中输入数学公式
下一篇:云计算之路-阿里云上:消灭“黑色n秒”第二招——给w3wp进程指定CPU核

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月30日 14时57分07秒