0

我正在编写一个 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,idx,options,env,self);
}

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

4

0 回答 0