龙脊梯田

Typora+PicGo-Core+SM.MS搭建图床

1
2
3
版本信息:
Typora:1.2.3
PicGo-Core:1.5.0

1、PicGo-Core

安装

PicGo-Core 是一个开源的命令行图片上传工具。虽然可以在 Typora 的设置中一键下载安装 PicGo-Core,但它是从 Typora 自己的 fork 库中安装的,并不是 PicGo-Core 的官方开源库;因此版本通常较为老旧,存在各种没有必要的 bug、也无法使用更新的 feature。

基于以上理由,强烈建议直接在本地自己安装 PicGo-Core。安装本身也很简单:

1
2
# 需要 Node.js 版本 >= 8
npm install picgo -g
配置

安装成功后,可以使用交互式命令行方便地进行配置并自动生成配置文件,无需手动生成和复制粘贴。配置好图床后使用 picgo use uploader 选择当前要使用的 Uploader

image-20230108225835752

这边使用的是SM.MS图床,选择smms选项后要求输入api token。注册登录SM.MS后,可以在个人中心中生成查看token,输入即可完成配置。其他的图床也有对应的交互配置选项。

如果无法通过上面的方式完成配置,也可以手动生成配置文件。这里以默认的smms图床为例,更多图床的配置方法详见配置文档

picgo 的默认配置文件为~/.picgo/config.json。其中~为用户目录。不同系统的用户目录不太一样。

linux 和 macOS 均为~/.picgo/config.json

windows 则为C:\Users\你的用户名\.picgo\config.json

1
2
3
4
5
6
7
8
9
{
"picBed": {
"uploader": "smms", // 代表当前的默认上传图床为 SM.MS,
"smms": {
"token": "" // 自己的 token
}
},
"picgoPlugins": {} // 为插件预留
}
安装smms v2 API插件

这边有坑,一是SMMS V1 API停用

正如博主Lzskyline所说这是个大坑,有多大呢。PicGo-Core目前使用的是SMMS v1 API,但是SMMS已经把V1 API给停了,只能使用V2。(PicGo-Core作者已经在Github上表示后面会增加v2 API)经过查询后发现有其他开发者通过第三方插件的方式解决了这个问题,,所以我们需要安装这个v2版本的smms-user插件。

用命令安装smms-user插件

1
picgo install smms-user

等待安装完成即可。

这边同时安装一个另外的命名插件,可以将上传的图片按照时间重新命名。

1
picgo install super-prefix

配置信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"picBed": {
"current": "smms-user",
"uploader": "smms-user",
"smms-user": {
"Authorization": "[token]"
},
"transformer": "path"
},
"picgoPlugins": {
"picgo-plugin-smms-user": true,
"picgo-plugin-super-prefix": true
},
"picgo-plugin-super-prefix": {
"fileFormat": "YYYYMMDDHHmmss"
}, //super-prefix插件配置
}
测试

完成安装和配置后,就可以通过命令行上传图片到图床了。如果执行命令后返回了图床的URL,则说明配置成功。

1
2
3
4
5
# 上传具体路径图片
picgo upload /xxx/xxx.jpg

# 上传剪贴板里的第一张图片(上传时会将格式转成png)
picgo upload

image-20230108230616425

2、Typora设置

配置好 PicGo-Core 后,在 Typora 的偏好设置-图像中进行设置。

上传服务设定

由于我们自己安装了 PicGo-Core,没有使用它自己集成的,所以上传服务选择 Custom Command (自定义命令),命令使用 picgo u 即可。

image-20230108230807058

设置后点击下方的“验证图片上传选项”,他会自动上传两张图片测试图片上传服务。如果出现如下结果,说明配置成功。

image-20230108231009195

插入图片时设置

image-20230108231054042

如果想在插入图片时直接上传,可以按照如上选项设置。然而这样设置存在一个问题,插入图片后需要等待上传完成返回URL才能在文档中看到图片的预览,感觉不够流畅。并且如果反复多次替换图片,图床中会出现很多冗余图片,造成空间浪费。

批量上传图片

由于上述原因,推荐在完成文章后统一批量上传文章中用到的所有本地图片。

在菜单中选择“格式-图像-上传所有本地图片即可完成批量上传。

参考文章