想要轻松玩转Markdown?goldmark帮你实现!

共 1065字,需浏览 3分钟

 ·

2022-05-11 01:41

如何将 Markdown 文档解析成 html?如何对 Markdown 语法进行个性化扩展以实现特定功能?

goldmark 也许是一个不错的选择!


 1 
简介

使用 Markdown 书写结构化的文档和评论已经相当流行了,Web 服务需要将用户编写的 Markdown 文本转换为 html 以便浏览器渲染,还常常需要对 Markdown 语法进行自定义扩展以实现个性化的功能。

本期要介绍的 goldmark 就是 Go 生态中的一款 Markdown 解析器和扩展器,与 GitHub 中被广泛应用的 GFM(GitHub Flavored Markdown) 一样,goldmark 也遵循 CommonMark 标准,且非常易于使用和扩展

goldmark 有以下特点:

  • 完全符合最新版(0.30)的 CommonMark 规范

  • 易扩展,例如使用 goldmark 添加 @username 扩展会非常容易

  • 具备与 cmark 相当的性能

  • 鲁棒性好,goldmark 使用 go-fuzz 进行模糊测试

  • 丰富的内置扩展,如表格、删除线、任务列表和定义列表等

  • 工程仅依赖 Go 标准库



 2 
使用举例


使用 goldmark 将基本的 Markdown 转换成 html 非常简单:

转换得到的 html 如下,符合我们的预期:


我们再来试试带扩展文档的转换(本例中的文档使用了 GFM 与脚注),注意这次需要额外引入一些 goldmark 的内置扩展:

本次转换得到的 html 如下:

html 不够直观,用浏览器渲染出来的样式大致如下图,可见脚注、删除线和超链接被正确解析啦!



 3
总结

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/




想要了解更多 相关的内容,欢迎扫描下方👇 关注 公众号,回复关键词 [实战群]  ,就有机会进群和我们进行交流~


浏览 100
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报