想要輕松玩轉(zhuǎn)Markdown?goldmark幫你實(shí)現(xiàn)!
如何將 Markdown 文檔解析成 html?如何對 Markdown 語法進(jìn)行個(gè)性化擴(kuò)展以實(shí)現(xiàn)特定功能?
goldmark 也許是一個(gè)不錯(cuò)的選擇!
本期要介紹的 goldmark 就是 Go 生態(tài)中的一款 Markdown 解析器和擴(kuò)展器,與 GitHub 中被廣泛應(yīng)用的 GFM(GitHub Flavored Markdown) 一樣,goldmark 也遵循 CommonMark 標(biāo)準(zhǔn),且非常易于使用和擴(kuò)展。
goldmark 有以下特點(diǎn):
完全符合最新版(0.30)的 CommonMark 規(guī)范
易擴(kuò)展,例如使用 goldmark 添加 @username 擴(kuò)展會(huì)非常容易
具備與 cmark 相當(dāng)?shù)男阅?/span>
魯棒性好,goldmark 使用 go-fuzz 進(jìn)行模糊測試
豐富的內(nèi)置擴(kuò)展,如表格、刪除線、任務(wù)列表和定義列表等
工程僅依賴 Go 標(biāo)準(zhǔn)庫
使用 goldmark 將基本的 Markdown 轉(zhuǎn)換成 html 非常簡單:
轉(zhuǎn)換得到的 html 如下,符合我們的預(yù)期:

我們再來試試帶擴(kuò)展文檔的轉(zhuǎn)換(本例中的文檔使用了 GFM 與腳注),注意這次需要額外引入一些 goldmark 的內(nèi)置擴(kuò)展:

本次轉(zhuǎn)換得到的 html 如下:

html 不夠直觀,用瀏覽器渲染出來的樣式大致如下圖,可見腳注、刪除線和超鏈接被正確解析啦!

goldmark 不僅能夠幫助我們輕松將 Markdown 文檔轉(zhuǎn)換成對應(yīng)的 html,還內(nèi)置了非常多的常用擴(kuò)展支持,使用 goldmark 開發(fā)自定義擴(kuò)展的成本也相對較低,快使用 goldmark 玩轉(zhuǎn)服務(wù)端 Markdown 渲染吧!
參考資料
https://github.com/yuin/goldmark
https://commonmark.org/
https://github.github.com/gfm/
https://michelf.ca/projects/php-markdown/extra/
想要了解更多 相關(guān)的內(nèi)容,歡迎掃描下方?? 關(guān)注 公眾號,回復(fù)關(guān)鍵詞 [實(shí)戰(zhàn)群] ,就有機(jī)會(huì)進(jìn)群和我們進(jìn)行交流~

