解决hexo搭建博客图片相对路径上传异常问题
本地无法读取
在利用相对路径读取图片的时候,像这样在本地source目录下新建一个images文件夹,然后在写markdown文档的时候将图片放在该文件夹下,然后将路径修改为
images/image-20240715161150570.png
这样就能在本地浏览器读取图片预览文章,可以看到已经能够正常访问
网络无法读取
先说一下hexo打包机制,在执行hexo g后,它会把相应的文件夹打包到public文件夹,可以看到这个images就是我们在sources下创建的images,执行hexo d后会将public文件夹上传至github,这就是为什么github上传完成后图片的访问地址是
此时我们的目录结构
-source
-_posts
-001 - 解决hexo搭建博客批量修改图片路径问题.md
-images
而此时我们的地址路径
images/image-20240715193810731.png
而我们本地的markdown文档正常读取需要下面的地址路径,此时如果是上面的路径就会造成typora无法读取图片的问题
../images/image-20240715193810731.png
但是改为上面的路径之后又会出现下面的问题
在上传到github的时候可以发现前面带有/../,中间还有%5C这样的转义文字,正常路径应该是/images/图片名称,浏览器网页就无法读取了,前面说到hexo会将public文件夹上传至git,而images在根目录,故不能访问图片。所以说经过上面的分析,最简单的办法无非就是再复制一份images到_posts下面嘛
-source
-_posts
-images
-001 - 解决hexo搭建博客批量修改图片路径问题.md
-images
如上面所示,再复制一份,这样本地markdown也能正常预览了
而关于转义的路径这里是因为我在本地拼接路径的时候应该是用了.\,网络链接中为了防止读取的时候与”\“冲突,通常会将”\“转义,然后前面的/../是因为在拼接路径的时候前面加了./,正常不用加就行
.\images\image-20240715161150570.png
images/image-20240715161150570.png
批量处理图片路径
那么一个一个添加图片很麻烦,有没有什么简单的办法呢,请移步我另外的博客(套娃是吧,你隔这隔这呢!)