最近发现hexo在文章中插入图片的时候有点麻烦,查了一下发现还是有很简洁的方法的,总结一下自己试过的几种方式:
本地图片引用(自动生成目录)
- 将配置文件_config.yml里面的post_asset_folder字段修改为true
- 在Hexo主目录下执行:
npm install hexo-asset-image --save
,这是下载安装一个可以上传本地图片的插件 - 插件安装完毕后,在建立新的文章时,如
hexo new test_image
,在source/_posts/
目录下除了会生成“test_image.md”以外,还会生成一个与文章标题相同的目录(source/_posts/test_image/),这个目录就是存放文章内图片的地方 - 在编写文章时,先将图片放到相应的同名目录下,在文章中按markdown语法进行引用,注意此处是相对路径,例如:

优点
- 每个文章中的图片单独存放,并且图片目录会自动生成,方便图片的管理与查找
缺点
- 文章目录(source/_post/)日积月累会变得很大,里面既有文章又有图片目录,稍显乱一些
- 图片要先拷贝到相应的图片目录下,做好图片命名,然后在文章中引入,图片少还ok,图片多的话感觉会比较繁琐
- 图片复用不是很方便
目前我自己的文章中图片不是很多,所以采用的还是这种方式。
本地图片引用(手动生成目录)
如果想对图片进行统一管理,可以单独创建一个图片目录,将所有的图片都放到一起,在source目录下创建一个images的目录source/images
,在文章中进行引用的时候,要写绝对路径,例如:
优点
- 所有的文章图片在公共目录统一进行存放和管理,不会弄乱文章目录,图片复用方便
缺点
- 图片目录会变得非常大,如果想按文章细分目录保存的话,需要手动创建目录
- 与上一个方法有同样的问题,如果文章中的图片较多,引入时会麻烦一些
远程图片引用
推荐这种方式,前两种方式都是本地存储,这一种方式是放到图片服务商的服务器当中,也就是所说的图床,国内比较好的有七牛云,微博,腾讯云等等,推荐一个app:IPic(下载地址),可以直接将图片上传到图床当中,并自动生成markdown地址,在文章中直接引用,试了试用起来真的很爽,哈哈哈。IPic目前上传到微博是完全免费的,上传其他的服务商app需要解锁付费使用(有个免费试用期)。
优点
- 图片是上传到服务商,不占用自己的本地空间
- 图片服务商会对图片加载做优化,访问速度会比较快
- 通过像IPic这样的app进行上传并自动生成好markdown地址,非常的方便、简单,比自己去本地管理图片要方便很多。
缺点
- 如果服务商挂了,图片访问也就跟着挂了(可能性极低)