Hexo图床管理
Hexo支持Markdown写作,所以我们在为博客添加图片时,都是采用如下格式:
1 |  |
或者
1 | <img src="http://xxx.com/bucketName/pictureName.jpg"></img> |
但是如果图床更换,要更新很麻烦,所以想了以下办法
- 我们先在博客中定义图片仓库的地址(如:http://xxx.com/bucketName),并将其复制给某个全局变量pictureAdress;
- 我们在添加图片时地址使用
pictureAdress
+pictureName.jpg
的形式;
一旦,我们使用的存储平台失效了,即pictureAdres
s目前的值失效了,我们只需要修改pictureAdress
,赋予它新的图片仓库地址就可以啦。虽然这个过程也要上传图片,但是在更改文档时,只需要修改pictureAdress
就可以了,并不需要一个图片地址一个图片地址的修改了,是不是简单很多了。
具体方法如下:
在本地的hexo
中,找到你现在所用的主题目录,打开其中的scripts
文件夹,然后创建一个.js
文件(文件名任意,如mypicture.js
等),在里面添加如下内容:注意:上面的1
2
3
4
5
6
7
8
9
hexo.extend.tag.register('plant', function(args, content){
var id = args[0];
return 'http://plant.xxx.com/';
});
hexo.extend.tag.register('animal', function(args, content){
var id = args[0];
return 'http://animal.xxx.com/';
});http://plant.xxx.com/
和http://animal.xxx.com/
即代表了pictureAdress
的值,上面只是写了两个函数,一个代表某存储中植物图片库的地址,另一个代表了某存储中动物图片库的地址,大家可以根据自己的情况对库的数量进行增删。在我们写文章添加图片时,要加上这个库地址,比如我想添加一张苹果的图片,它在存储平台的真实地址是http://plant.xxx.com/apple.jpg
,为了显示该图片,我们应该这么写:
1 | <img src="{%plant%}apple.jpg"></img> |
因为{%plant%}
代表了http://plant.xxx.com/
,{%plant%}apple.jpg
就代表了http://plant.xxx.com/apple.jpg
这个真实地址。一旦我们使用的存储平台失效了,我们只需要将图片上传到新平台,然后将http://plant.xxx.com/的值改为新平台给我们的地址http://plant.yyy.com/
就可以啦。
使用此方法后用obsidian编辑会报错,暂时没有找到对应的解决办法。
评论