📣 处理hexo博客中图片不显示问题
Last updated on 2023-09-16 10:13
在解决这个问题的过程中,我经历了三个阶段,很磨人最终还是回到了起点,发现最初的方法最好,如果赶时间,可以直接看第三个阶段。
🌸第一阶段:将图片保存在本地
搭建好个人博客网站之后,写了两篇markdown文章(这时候我图片用的是网络地址),然后按照hexo三连上传了文章,最后在浏览器打开发现图像不显示:
一般图片显示不出来很大的原因是路径不对。于是我去查看了图片路径,确实找不到相应的图片。然后我参考相关资料了解到hexo g
指令是将md文件生成html页面,然后每篇博文生成的html页面最后都是放在用年月日做文件夹的下面,例如:E:\myblog\public\2023\08\31\test
。
下面是我参考养恐龙、ETRD、金牛大王三位的回答,最终解决了我的问题。
第一步:确保你的Hexo的配置文件_config.yml里面有这个选项配置,并将其置为true
post_asset_folder: true
这个功能实际上是Hexo官方文档中提到的资源文件夹功能,它的作用在于当你使用hexo n "文章名"
生成一篇新文章时,会在\source\_posts
目录下生成一个 文章名.md 文件外,附带生成一个与 文章名 同名的文件夹,可以用它来存放这篇文章的所有资源,比如图片,附件等。
【注】你也可以自己在 _posts 文件夹下自动生成md文件和相同名字的文件夹(用于存放图片)
第二步:typora中的图像保存位置设置
点开文件——>偏好设置,设置如下:
修改好后,图片引用路径就在和博文同名的文件夹(新建博文名为test)的图片,如图所示:
第三步:安装插件
在根目录下打开git bash,然后运行以下命令,如果有安装淘宝镜像,第一个改为cnpm即可。
npm install https://github.com/xcodebuild/hexo-asset-image.git
运行结果如下图所示,图为安装成功:
该插件的作用:将图片等静态资源的引用路径转化为绝对路径。
【注】我最开始不是用的上面命令安装的,用的是npm install hexo-asset-image -- save
,该命令安装的是插件 hexo-asset-image 1.0 ,这个版本有点问题,安装后图片不能正常显示,查看图片路径被渲染成了 /.xx/abc.png
的格式(xx 是域名后缀)。最后采用上面的命令才成功。
如何卸载该插件?路径:\blog\node_modules\hexo-asset-image
,直接删除文件夹,我试过没问题。
🌸 第二阶段:将图片保存到图床
网上查了一些有关md文件中图片的保存位置,发现除了在本地保存外,还可以采用图床进行保存,可以尝试一下PicGo 这个图床上传工具,也方便md文件在其他站的上传。
我根据上面三个参考回答实现了将图片保存到gitee图床中。
我的图床:gitee平台
🌸 第三阶段:图片采用网络地址
参考野猿新一的回答,图片路径还是引用网络地址,想要在hexo博客中查看到网络地址的图片,直接在文章Front-matter下加一句:<meta name="referrer" content="no-referrer"/>
即可,如下图所示:
最终发现就是加了这一句就可以显示网络地址图片了,我哭死┭┮﹏┭┮。也不需要插件了,也不需要找个地方保存图片!
还有一个小问题就是,hexo博客网络图片下方可能会出现image.png,如果所示:
解决办法就是把alt这一块(下图圈的地方)去掉即可:
本篇结束!