文章出處

缺少好用的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);

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()