最近突然发现Typora更新了, 新增了原生对 PicGo-Core 的调用, 可以自动上传markdown内的图片, 于是赶紧尝鲜一波. 使用过程中遇到了一点坑, 但还是摸索着解决了.
1. 安装PicGo-Core
因为Typora已经原生支持PicGo-Core, 所以只需要在软件内下载一下就可以了(PS: 下面这张图就是用的自动上传, 很方便)
image-20200226192555818首先点击上面红色1的位置, 选择PicGo-Core, 再点3(不要问我2去哪儿了....就当他不存在), 并等待下载完成.
2. 安装smms v2 API插件
这里是个大坑.
因为PicGo-Core默认的smms使用的是v1的api, 而目前smms已经停用了该版本API, 所以导致PicGo-Core在默认配置下, smms图床完全不可用
翻了一下PicGo-Core的Github发现作者目前还没有把内置的smms api升级到v2, 但是有其他开发者通过第三方插件的方式解决了这个问题, 所以我们需要安装这个v2版本的smms-user插件.
直接点击红色5的位置, 根据文本内容找到PicGo-Core的程序目录
image-20200226193128224注意, 因为默认的smms api已经不可用, 这里肯定会上传失败, 不用管
找到目录后我们在picgo的目录下启动命令行, 执行如下命令, 并等待安装成功
.\picgo.exe install smms-user
3. 配置PicGo-Core
安装完成之后点击红色4的位置(红标顺序不代表点击顺序), 打开PicGo-Core的配置文件, 按照下面的格式无脑全选替换就行
{
"picBed": {
"current": "smms-user",
"uploader": "smms-user",
"smms-user": {
"Authorization": "这里替换成你自己的"
},
"transformer": "path"
},
"picgoPlugins": {
"picgo-plugin-smms-user": true
}
}
没有Authorization的自己去这里申请一个: https://sm.ms/home/apitoken
申请前需要注册一个账号, 这个没啥难度, 就不细说了.
4. 体验效果
保存配置之后再点红标5的位置应该就可以正常上传图片了, 我们直接在Typora内粘贴一张图片, 就会有相应的提示
image-20200226194604800或者在已有的本地图片上面按右键, 也可以弹出上传图片的按钮, 整个操作非常便捷, 上传速度也挺快的.
5. 踩坑
总的来说还是遇到了一些坑的, 接下来说一下坑点:
-
PicGo-Core并没有编译Windows的版本, 所以Typora的作者是fork原版之后重新打包的, 这也导致了版本不能及时的跟主体保持同步更新.
我之前遇到smms v1 api不可用的问题时, 看到PicGo-Core的作者说会在新版本解决这个问题, 目前PicGo-Core的最新版本是1.4.6, 而Typora fork的版本是1.4.4, 我一开始还以为下载一个新版本就能解决, 特意跑去重新编译, 然而弄完发现1.4.6还是存在该问题, 于是遇到了第二个坑.
-
既然换版本不能解决, 我决定换一个图床试试, 翻了半天文档发现全是可视化配置, 然而我的PicGo-Core只有json文本文件配置, 最后发现原来picgo(PicGo-Core)和PicGo(PicGo-Electron)是不一样的
image-20200226200109710 -
调研了一下各个图床, 发现还是smms免费好用, 所以决定使用作者推荐的那个v2版本smms api插件.
然而安装完之后不知道在哪填Authorization, 去翻文档发现这么一句绕口令:
如果你为picgo开发了一个插件,如果这个插件本身需要一些配置项,那么这个插件对应的配置应该直接放置在配置文件下的同名配置里
思考了一下, 我以为是这样
{ "picBed": { "current": "smms", "uploader": "smms", "transformer": "path" }, "picgoPlugins": { "picgo-plugin-smms-user": true }, "picgo-plugin-smms-user": { "Authorization": "xxxx" } }
然而测试上传的时候发现安装插件之后跟安装之前没有一点变化.
思考&测试一番之后, 我发现插件并不会自动注入到smms图床配置中.
大概要手动修改图床为插件名才能使用, 于是:
{ "picBed": { "current": "smms-user", "uploader": "smms-user", "transformer": "path" }, ....
再进行测试又失败了, 但是这次不是说v1接口过时, 而是说找不到Authorization的配置项
- 开始以为是我手动写的格式不对, 所以又去翻了文档, 发现了PicGo-Core提供了命令行参数设置
.\picgo.exe set plugin smms-user
根据提示填写了Authorization, 结果自动生成的配置文件和我刚才手动写的一模一样, 但就是不行.
最后又思考了一下, 看了看其他图床的配置方法, 决定仿照微博的配置, 试一下picBed.smms-user这种写法, 最后终于成功了= =
image-20200226200911579
6. 总结
虽然整个过程坑挺多的, 但毕竟这个功能也是新出的, 相信之后会越来越完善的
配置完之后用起来真的爽, 以后从Typora粘文章到博客上再也不用手动上传替换图片了~
网友评论