Javascript 获取 Markdown 所有图片节点
JavaScript 解析 Markdown 获取 所有图片节点
场景
需要对 Markdown 中所有 img src 进行服务端加签名。
思路
因为 Markdown 有语法,首先放弃正则的方案,搜一下是否有现有方案,
google javascript get all image in markdown
搜到 get-md-image 这个方案,本地试了一下,发现只取到了 Markdown 中第一个 image 节点。看了下源码实现,原来是基于 commonmark.js 实现,除了获取图片,作者还封装了一系列基于 commonmark.js 的库,并且这些库的 npm 下载量都很大。
再看下 commonmark.js,这个库是基于 markdown 标准的 JavaScript 实现,其中提供的 Parser
方法可以将 markdown string 解析为一棵节点树,节点数包含基础数据和一些方法,我们会用到 type
、destination
、walker()
来获取所有的图片节点,代码如下
1 | const commonMark = require("commonmark") |
作者: leeon
来源: https://leeon.im
链接: https://leeon.im/javascript-get-all-image-src-from-markdown/
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可