hexo图片路径设置

hexo插入图片的方式有四种:绝对路径、相对路径、标签插件语法、CDN图床,下面将主要介绍前三种。

绝对路径

这种方法最简单,不需要修改任何配置,将图片放在${博客根路径}/source/images/下,然后在文章里面,用这种方式引用:

# 此时图片路径:${博客根路径}/source/images/planet.jpg
![图片描述](/images/planet.jpg)

planet

这种方法的好处是简单、博客的首页以及点击进入文章内都可以看到图片,缺点是如果文章很多,图片全都堆在images文件下会显得很凌乱,不好整理。

相对路径

这种方式需要修改${博客根路径}下hexo的配置文件_config.yml,将下面post_asset_folder属性改为true:

render_drafts: false
post_asset_folder: true # 这一行改为true
relative_link: false

之后通过治疗hexo new “new_article”,在${博客根路径}/source/_posts文件夹下同时生成一个空的new_article.md文件以及与文件同名的空文件夹new_article,当然不一定要用hexo new指令,自己在文件夹下创建md文件的同时,新建一个与md文件同名的文件夹也是可以的。

将图片放在new_article文件夹下,并在文章中用下面方式引用即可:

# 此时图片路径:${博客根路径}/source/_posts/new_article/planet.jpg
![图片描述](planet.jpg)

planet

注意是只需要写图片的名字即可,什么路径都不需要写。但是这样做在typora中无法显示图片,在下一篇博客将会讲述怎么解决这个问题。

这种方法的好处是好整理,一个md文件对应一个图片资源文件夹,缺点是文章在首页展示时是看不到图片的,只有点进去文章里面才能看到图片。

这里需要强调一下md文件名和博客文章名是可以不一样的,md文件名就是表面意思:md文件的名称,博客文章名是在md文件里面Front-matter设置的title属性,这个才是访客访问你的文章时所看到的标题。通常为了避免中文字符带来的一些路径上五花八门的bug,可以将md文件用英文命名,反正别人也看不到,而你希望别人看的文章标题,可以在md文件里的title属性中自由设置。

标签插件语法

这种方法结合上述两种方法的优点,既可以将每篇文章的图片分开存储,又可以同时支持在首页和文章内显示图片。它同样需要修改post_asset_folder参数,图片的放置也和相对路径法一样,只是在文章中引用图片时,需要用以下方式:

#此时图片路径:${博客根路径}/source/_posts/new_article/planet.jpg
{% asset_img planet.jpg 图片描述 %}

这种方式是hexo官方的解决方案,但是它仍然存在问题,即在typora中是无法解析这种写法的,所以在typora中显示的一行冷冰冰的文字,在写作时极为不便。此外,另外两种方式也是存在在typora中无法正常显示图片的问题,这将在下一篇博客中阐述如何解决。

图床

推荐一个免费的图床,免注册,免备案,想体验图床的可以先在这里尝试下:https://pic.alexhchu.com。将图片上传后会返回一个url,然后在文章中引用图床中图片的url即可,这种方法既可以统一管理图片,而且加载速度也会更快;缺点是免费的图床服务怕人跑路,稳定点的一般需要收费。

图片描述

在文章中引用的具体写法如下:

# 正常的markdown引用,括号中就是图床网站返回的url
![图片描述](https://upimage.alexhchu.com/2020/12/06/6545de7148b98.jpg) 

当然,利用github可以自建图床,配合jsdeliver加速,并用picgo作为上传工具,这一套流程下来全免费,typora上也可以设置picgo自动上传图片,可以参考这篇博客:https://www.cnblogs.com/roccoshi/p/13183890.html, 里面已经写得很详细了。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信