为typora集成sm.ms图床,纵享丝滑体验

起因是安利一位同学使用typoramarkdown,他那里上官网比较慢,所以我去帮他下载,闲来无聊顺便逛了逛。逛完才发现,原来typora有那么多自定义选项!(没错我这一年多一直用的默认设置XD)

以此为契机,我第一次打开了它的偏好设置,查看了各类选项, 发现里面有一个很有意思的功能:插入图片自动上传,觉得挺方便的,于是准备配置一波…

注意:笔者使用的是linuxwindows请酌情参考(安装方法和配置文件路径会略有差异)

安装

typora中可选的上传配置有PicgoPicgo-corecustom commandnone,本人很久前用过Picgo,但其使用electron构建的UI在linux上体验属实很差,所以此处我选用了命令行版的Picgo-core

首先进行安装:

1
2
3
npm install picgo -g
# or
yarn global add picgo

插件配置

注意:windows用户请确保将picgo添加到环境变量,否则需要把下文中的所有picgo替换为path+picgo(例:C:\picgo\picgo.exe

Picgo本身支持多种图床上传,我选用的是方便免费的SM.MS,于项目主页我们了解到:

PicGo 本体支持如下图床:

  • SM.MS v1.5.1 由于官方不再支持V1版本,暂时请使用smms-user插件

也就是说我们需要额外安装插件才可以正常使用SM.MS图床进行上传,于是打开terminal,执行:

1
picgo install smms-user

安装成功后,我们仍然需要对其进行配置。执行以下命令:

1
2
picgo config plugin smms-user
? Auth

你需要在此处输入你的TOKEN,首先到SM.MS网站注册一个账户,接着访问该链接获取TOKEN并输入,你应该会收到以下提示信息:

1
[PicGo SUCCESS]: Configure config successfully!

接下来是最后一步,你需要把你使用的uploader修改为smms-user,在命令行中执行:

1
2
3
4
5
6
7
8
9
10
picgo config uploader
? Choose a(n) uploader (Use arrow keys)
❯ smms-user
smms
tcyun
github
qiniu
imgur
aliyun
(Move up and down to reveal more choices)

移动箭头并选中smms-user,点击回车,此时你位于~/.picgo/config.json的配置文件内容应该形如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"picBed": {
"current": "smms-user",
"uploader": "smms-user",
"transformer": "path",
"smms-user": {
"Authorization": "your token"
}
},
"picgoPlugins": {
"picgo-plugin-smms-user": true
},
"picgo-plugin-smms-user": {
"Authorization": "your token"
}
}

图片上传服务配置成功完成!

typora集成

配置完上传服务,接下来在typora对接一下即可。

打开typora偏好设置,在上传服务设定栏选custom command(这里解释一下,选择Picgo-core只能使用其规定的路径,我们自己指定路径还是需要用custom command),然后在下面的文本框输入:

1
picgo upload

对接完成!接下来可以尝试点击旁边的“验证图片上传选项”按钮,测试上传是否成功了。

小提示

目前仅支持把文件拖动到typora中完成上传,如果直接从剪切板粘贴,typora会自动将该图片放到~/upload文件夹下但不会自动上传,需要自己手动点击“上传图片”。这是typora本身的bug:

This should be a bug, there’s no need to create the “upload” folder.

详见#3331.

参考

  1. Picgo
  2. Picgo-core
  3. picgo-plugin-smms-user
  4. Picgo-core document