Typora 最近的一次更新支持图片自定义图片上传服务了,增加了对 uPicPicGo 以及自定义上传命令的支持。不过在使用中也遇到了一些小问题,我帮大家踩了一些坑,也希望后续 Typora 官方能够修复一下吧。

自定义图片上传服务的设置

更新Typora的最新版,可以在设置-图像处找到自定义图片上传服务的设置区域:

image-20200226105152275

不过需要注意的是,Typroa 内置的说明文档链接有误,打开会404。关于图像自定义上传相关的配置、介绍的页面 在这里

如上图,你可以选择自己喜欢用的图片上传工具,可选的工具如下图:

image-20200226114210451

同时 Typora 提供了上传测试功能,如下图你可以找到 Test Uploader 按钮来测试你的上传功能是否正常:

image-20200226114658030

Typora 会上传的图片就是它家的 Logo了,如下:

image-20200226192722744

当测试成功之后,还别忘了开启图片自动上传功能:

image-20200226120345146

不过这里有个小bug,选择 Upload image 的时候会提示你需要安装 iPic,这个应该是 Typora 依然保留之前的判断逻辑导致的。(我手头没有 Windows 不知道 Windows 选择这个选项会有什么结果)

同时注意选则第三项,即允许通过读取 YAML 配置来决定是否自动上传图片。经过测试,在 macOS 上必须开启这个选项,同时在文章的顶部写下如下的 YAML 配置:

---
typora-copy-images-to: upload
---

这样才可以开启自动上传图片的功能。应该是 Typora 的一个 bug ,后续版本不知道会不会修复。

自动上传图片的效果

说了这么多,Typora 里引入图片即上传的效果是怎么样的呢?我录制了一个 gif (截图,并粘贴,然后触发自动上传):

typora-upload-image-gif-v2

可以说整体效果还是比较流畅的。

同时如果你未开启自动上传图片的功能,把图片拖入 Typor a或者粘贴到 Typora ,右键图片看到一个上传图片的选项:

upload-image-with-context-menu.png

这样也能根据你配置的上传服务手动来上传图片。

 

使用PicGo上传的相关说明

「这里是一段夹杂私货的说明」

如果你是 uPic 、iPic 的忠实粉丝,想必上述的说明已经能够让你们成功在 Typora 里上传图片啦。由于我是 PicGo 的开发者,而 Typora 支持了两种 PicGo 的上传模式,所以我觉得有有必要跟朋友们说说区别。Typora 支持的两种 PicGo 上传模式分别是:PicGo-Core(命令行)以及PicGo.app(图形界面)

1. PicGo.app

这个就是 PicGo.app 用户平时经常使用的图形化界面的 PicGo 。而 Typora 对接的上传服务来自于 PicGo v2.2.0+提供的 PicGo-Server 的功能,它是一个小型的 HTTP 服务器,会默认开启 36677 端口来监听上传的请求。而 Typora 则会往 36677 端口发送请求来上传图片。

所以如果你的 PicGo 版本过低或者 PicGo-Server 功能没有开启,或者端口不是 36677 ,都无法使用 Typora 上传图片。

2. PicGo-Core

这个是 PicGo 底层依赖的核心库,是 PicGo 上传图片、插件机制的核心。它是一个 npm 包,意味着你可以通过 npm 全局安装来实现上传,也可以支持安装插件。同时 Typora 也提供了预编译的二进制文件,它是把 PicGo-Core 所有依赖都打包成了一个可执行的文件,点击下载 binary file就行。不过需要注意的是 macOS 由于系统的原因,不支持预编译的二进制文件这种使用方法,而只能使用npm全局安装的方式,再通过 custom command 自定义命令的方式来使用PicGo-Core:

custom

Typora对这两种 PicGo-Core 的用法都支持,官方的文档对此有详细的配置说明

3. 二者的区别

官方文档里对二者的区别有做出描述,我觉得写得挺到位的。不过还是跟大家聊聊这二者的区别:

  1. 使用 PicGo.app 模式上传意味着PicGo需要开启常驻后台。如果对性能要求比较高的用户可能不太能接受。
  2. 用 PicGo-Core 来上传只有运行时的消耗,上传结束后会自动销毁进程,性能方面会更好。
  3. PicGo-Core 上传的配置跟 PicGo.app 用的不是同一个文件,不过picBed的配置是可以复制的,因此如果需要用 PicGo-Core 来上传需要重新配置一遍。
  4. PicGo.app 提供了更多的功能,比如上传前重命名、上传的历史记录等
  5. PicGo.app 的一些插件只有 GUI 版本支持,而不支持 PicGo-Core ,所以如果需要使用插件功能,更推荐使用 PicGo.app
  6. PicGo.app 这个选项只有在中文语言版本的 Typora 里可以使用。至于为啥我上图可以在英文版里使用,这就又是 Typora 的一个 bug 了。如果喜欢英文版的又想使用 PicGo.app 的可以通过设置里修改显示的语言来调出 PicGo.app 这个选项,然后再切回英文版。

就我自己的使用来说,我是更喜欢直接用 PicGo.app 来上传的,因为配置什么的不用再调了,可视化界面也更容易操作~

 

小结

前不久 PicGo 2.0 发布的时候,PicGo-Core 还收到了来自 Typora 官方的PR。我以为需要好几个月的时间才能支持自定义图床,没想到支持来得这么快。我觉得对于一个 Markdown 编辑器而言,图片的管理、上传一定是一种刚需。而此次开放了图片自定义上传的功能,想必也是戳中了很多 Typora 用户的痛点。另外这次 PicGo 能够作为官方指定的上传工具,我觉得非常开心,同时它也是 Typora 三个平台都支持的上传工具( uPic 和 iPic 都很棒,不过都只支持 macOS ),希望有了这个功能以后能够给你们带来更好码字体验~