微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编写markdown-it插件时如何获取markdown文件路径

如何解决编写markdown-it插件时如何获取markdown文件路径

我正在写一个markdown-it插件,可以将图片文件转为Base64类型。例如

![foo](./foo.png)

渲染结果应该是

<p><img src="data:image/jpeg;base64,/9j/2dkaAAA=="/></p>

所以我写了一个这样的小插件

let defaultimageRender=md.renderer.rules.image;
md.renderer.rules.image=function(tokens,idx,options,env,self){
    let token=tokens[idx];
    let relativeImgSrc=token.attrs.filter(x=>x[0]==='src').map(x=>x[1])[0];
    let imageBase64=convertToBase64(relativeImgSrc);
    token.attrSet('src',imageBase64);
   return defaultimageRender(tokens,self);
}

因为我只能得到相对于 Markdown 文件路径的路径,而不是我的代码路径,所以代码抛出错误。 无论如何我可以在插件获取降价文件路径还是有其他方法可以实现该功能

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。