1. PicGo-Core

A tool for pictures uploading. Both CLI & API supports

PicGo-Core其实PicGo下的一个项目, PicGo是一个基于Electron的GUI客户端而PicGo-Core是做图床实现的核心,如其GitHub的描述, Core只是CLI和API, 其中API就是NPM package, API方式使用时更像是一个做图床的SDK. 本问主要介绍CLI的使用.

2. PicGo CLI 使用

2.1 安装

1
yarn global add picgo # 或者 npm install picgo -g

2.2 配置文件

默认picgo cli的配置文件位置在: ~/.picgo

1
2
3
4
5
6
.picgo
├── config.json
├── node_modules
├── package-lock.json
├── package.json
└── picgo.log

2.3 配置

2.4 配置结果展示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
➜  ~ cat ~/.picgo/config.json
{
"picBed": {
"current": "gitee",
"uploader": "gitee",
"github": {
"branch": "main",
"customUrl": "",
"path": "img/",
"repo": "xxxname/xxxrepo",
"token": "ghp_xxxx"
},
"transformer": "path",
"picgo-plugin-gitee-uploader": {},
"gitee": {
"repo": "xxxname/xxxrepo",
"branch": "master",
"token": "xxxx",
"path": "",
"customPath": "default",
"customUrl": ""
}
},
"picgoPlugins": {
"picgo-plugin-gitee-uploader": true
},
"picgo-plugin-gitee-uploader": {
"lastSync": "2022-04-07 10:17:54"
}
}

2.5 切换图床

如果有多个图床, 可以选择一个作为默认, 也可能根据情况切换, 方法如下:

1
2
3
4
5
6
7
8
9
10
➜  ~ picgo use uploader
? Use an uploader (Use arrow keys)
❯ gitee
smms
tcyun
github
qiniu
imgur
aliyun
(Move up and down to reveal more choices)

这是一个交互的命令, 选择你需要的图床, 选择的图床名字会在配置文件中的: picBed.currentpicBed.uploaderzhong , 随意可以接直接编辑配置.

3. 测试上传

  • 使用操作系统或者其他各类截图工具如微信, 选择一个区域截图, 截图会报错在粘贴板

  • 上传粘贴板截图

    1
    2
    3
    4
    5
    6
    7
    ➜  ~ picgo u
    [PicGo INFO]: Before transform
    [PicGo INFO]: Transforming... Current transformer is [path]
    [PicGo INFO]: Before upload
    [PicGo INFO]: Uploading... Current uploader is [gitee]
    [PicGo SUCCESS]:
    https://gitee.com/xxxname/xxxrepo/raw/master/20220407105320.png

4. 与Typora配合使用

  • 选择图像, 选择自定义命令
  • 输入自定义命令

image-20220407110157776

其中命令中的全文如下, 主要是增加了环境变量PATH的修改, 让其可以找到picgo命令

1
export PATH=/usr/local/bin/:$PATH; picgo upload

注意: 命令picgo upload是picgo u的简写, 和上面测试步骤中的命令一致

配置完成后, 当你截图复制到Typora的时候就自动会把图片上传到默认图床, 并且把图片地址从本地替换为图床文件.