amtoaer

晓风残月

叹息似的渺茫,你仍要保存着那真!
github
x
telegram
steam
nintendo switch
email

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

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

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

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

安装#

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

首先进行安装:

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,执行:

picgo install smms-user

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

picgo config plugin smms-user
? Auth 

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

[PicGo SUCCESS]: Configure config successfully!

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

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的配置文件内容应该形如:

{
  "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),然后在下面的文本框输入:

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
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。