在Markdown中,我们可以通过下面的代码来实现插入一个本地图片
1 |  |
不过这种方式在预览markdown的时候可以正常显示,在将Hexo发布之后,这个路径是无效的,也就是说Hexo不支持直接使用Markdown的语法来实现展示本地链接。
这里介绍几种方式来实现Hexo Post中添加本地文件
Global Asset Folder
适用于全局的静态文件,一般指不是post相关的文件,例如image
,css
,javascript
.
在source
文件夹下创建images
,然后通过下面的代码来引用
1 |  |
这种方式不适用于markdown的语法,就是说,在预览markdown文件的时候,图片没有办法正常显示,这个只会在Hexo生成部署文件后,可以看到
Post Asset Folder
适用于特定Post
的静态文件
- 在
_config.yml
设置post_asset_folder
为true
1
2_config.yml
post_asset_folder: true - 设置成功后,当我们通过
hexo new [layout] <title>
命令来创建post
的时候,会自动创建一个与文件名相同的文件夹,将md
所需要的静态文件都放在这个路径下即可 - 引用文件
1
2
3{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %} - 这种方式跟
Global Asset Folder
方式一样,有个问题就是不能在md
预览模式下正常显示
预览模式下显示图片
为了让预览模式下也正常显示图片,可以使用hexo-renderer-marked
- 安装
hexo-renderer-marked
1
npm install hexo-renderer-marked --save
- 修改
_config.yml
启用1
2
3
4
5_config.yml
post_asset_folder: true
marked:
prependRoot: true
postAsset: true - markdown语法
1
