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

admin 2022年5月8日18:20:51评论107 views字数 974阅读3分14秒阅读模式

如何将 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 非常简单:

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

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

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

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

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

本次转换得到的 html 如下:

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

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

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



 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/




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


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

原文始发于微信公众号(GoCN):想要轻松玩转Markdown?goldmark帮你实现!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月8日18:20:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   想要轻松玩转Markdown?goldmark帮你实现!http://cn-sec.com/archives/983552.html

发表评论

匿名网友 填写信息