用上CommonMark.NET,.NET平台终于有了好用的markdown引擎
缺少好用的markdown引擎之前一直是.NET平台上的一个痛点。因为这个痛点,我们被迫痛苦地使用了pandoc——不是pandoc做的不好,而是pandoc是由Haskell开发的,只能在Windows Server 2008上编译,而且编译出来的dll只能在Windows Server 2012上使用,并且只能在IIS 32位应用程序池下使用,甚至有时会引起CPU 100%造成服务器宕机。
昨天,我们在github上发现了今年新上市的一款.net markdown引擎 —— CommonMark.NET(当前在github上有188颗星)。它是CommonMark规范的一个.NET实现,所以叫CommonMark.NET。CommonMark是什么呢?它是一个markdown标准。之前我们经常抱怨markdown最大的问题是缺少标准,而现在已经有了标准。我们只知道抱怨问题,而有人却已经在解决问题,这就是差距啊。
发现CommonMark.NET之后,我们进行了一番测试,测试下来效果不错,能满足我们的应用需求,除了一个问题 —— 不支持表格。这不是CommonMark.NET的问题,而是CommonMark规范本身不支持markdown表格标记,支持表格的markdown标记是由GitHub Flavored Markdown定义的,但没能成为markdown标准。(针对不支持表格的问题,CommonMark.NET的开发者也进行了专门的说明,详见 Tables)。
经过评估,我们最终决定选用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);
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· autohue.js:让你的图片和背景融为一体,绝了!
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
2013-09-30 上周热点回顾(9.23-9.29)