用上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);
最新文章
- 时间复杂度分别为 O(n)和 O(1)的删除单链表结点的方法
- Swift-常量变量
- jsp模仿QQ空间说说的发表
- iOS设备的越狱方法
- angularjs之自己定义指令篇
- Neutron分析(7)—— neutron-l3-agent HA solutions
- android手机配置hosts文件
- centos msyql 安装与配置
- fix org.openqa.selenium.NoSuchWindowException when find element on windows8.1 ie11.
- chrome浏览器解决ajax跨域问题
- Android Studio 下载与安装配置
- Python中列表、元组、集合、字典
- HDU 4639 Hehe 2013 Multi-University Training Contest 4
- vm参数配置的理解
- SOA,Webservice,SOAP,REST,RPC,RMI的区别与联系
- php通过$_SERVER['HTTP_USER_AGENT']获取浏览器useAgent
- 20155231 邵煜楠《网络对抗技术》实验一 PC平台逆向破解
- Hadoop基础-HDFS的读取与写入过程
- C++的四种初始化形式以及类型转换
- vs2005新建项目中没有ASP.NET WEB应用程序的解决方法
热门文章
- jquery模拟LCD 时钟
- 浅谈HTML5单页面架构(三)—— 回归本真:自定义路由 + requirejs + zepto + underscore
- Metasploit各版本对比
- centos 7 64位虚机上android4环境运行
- [Java编程思想-学习笔记]第4章 控制执行流程
- MySQL学习笔记之视图
- mysql数据库乱码解决方法之一
- mysql权限与安全
- DbVisualizer连接hbase
- CocoaPods报错:The dependency `AFNetworking ` is not used in any concrete target