Insert picture with Typora extension in Hexo

在Hexo中利用Typora插件便捷插入图片

Typora插件

Typora Extension

试用了下Vscode中的Typora插件,发现它支持直接将图片复制到md中,并自动生成对应md语句以及存储图片文件到当前目录下(image/insert-picture-with-Typora-extension-in-Hexo/1714922308235.png)。

生成问题

这个功能很便捷,但是在因为该image文件夹在_posts文件夹下,Hexo并没有将其复制到public文件夹里(复制过去路径应该也不正确)。

添加复制脚本

我使用了如下脚本来让Hexo在生成时将image文件夹复制到对应位置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// scripts/copy-images.js
var fs = require('hexo-fs');
var path = require('path');

hexo.on('generateBefore', function() {
var sourceDir = hexo.source_dir;
var publicDir = hexo.public_dir;
var imageDir = path.join(sourceDir, '_posts/image');

fs.exists(imageDir).then(exist => {
if (exist) {
return fs.copyDir(imageDir, path.join(publicDir, 'image'));
}
}).catch(err => {
console.error('Error copying images:', err);
});
});

最后就可以愉快的使用截图加复制来插入图片啦(●’◡’●)!