想要轻松玩转Markdown?goldmark帮你实现!
如何将 Markdown 文档解析成 html?如何对 Markdown 语法进行个性化扩展以实现特定功能?
goldmark 也许是一个不错的选择!
本期要介绍的 goldmark 就是 Go 生态中的一款 Markdown 解析器和扩展器,与 GitHub 中被广泛应用的 GFM(GitHub Flavored Markdown) 一样,goldmark 也遵循 CommonMark 标准,且非常易于使用和扩展。
goldmark 有以下特点:
完全符合最新版(0.30)的 CommonMark 规范
易扩展,例如使用 goldmark 添加 @username 扩展会非常容易
具备与 cmark 相当的性能
鲁棒性好,goldmark 使用 go-fuzz 进行模糊测试
丰富的内置扩展,如表格、删除线、任务列表和定义列表等
工程仅依赖 Go 标准库
使用 goldmark 将基本的 Markdown 转换成 html 非常简单:
转换得到的 html 如下,符合我们的预期:
我们再来试试带扩展文档的转换(本例中的文档使用了 GFM 与脚注),注意这次需要额外引入一些 goldmark 的内置扩展:
本次转换得到的 html 如下:
html 不够直观,用浏览器渲染出来的样式大致如下图,可见脚注、删除线和超链接被正确解析啦!
goldmark 不仅能够帮助我们轻松将 Markdown 文档转换成对应的 html,还内置了非常多的常用扩展支持,使用 goldmark 开发自定义扩展的成本也相对较低,快使用 goldmark 玩转服务端 Markdown 渲染吧!
参考资料
https://github.com/yuin/goldmark
https://commonmark.org/
https://github.github.com/gfm/
https://michelf.ca/projects/php-markdown/extra/
想要了解更多 相关的内容,欢迎扫描下方👇 关注 公众号,回复关键词 [实战群] ,就有机会进群和我们进行交流~