📣 处理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文件在其他站的上传。

参考资料:前端小雪刘昕hrf杨 戬

我根据上面三个参考回答实现了将图片保存到gitee图床中。

我的图床:gitee平台

🌸 第三阶段:图片采用网络地址

参考野猿新一的回答,图片路径还是引用网络地址,想要在hexo博客中查看到网络地址的图片,直接在文章Front-matter下加一句:<meta name="referrer" content="no-referrer"/>即可,如下图所示:

最终发现就是加了这一句就可以显示网络地址图片了,我哭死┭┮﹏┭┮。也不需要插件了,也不需要找个地方保存图片!

还有一个小问题就是,hexo博客网络图片下方可能会出现image.png,如果所示:

解决办法就是把alt这一块(下图圈的地方)去掉即可:

本篇结束!


📣 处理hexo博客中图片不显示问题
https://luoynothing.github.io/2023/08/31/📣-处理hexo博客中图片不显示问题/
Author
John Doe
Posted on
2023-08-31 17:37
Updated on
2023-09-16 10:13
Licensed under