Typora 上传图片的自定义命令实现

Typora 是我非常喜欢的一个 Markdown 编辑器。平时都是先在 Typora 中写完笔记再转到博客上面发布。这时 md 中的图片就需要一张张复制过去,为了减少这些繁琐的操作,刚好 Typora 也支持图床功能,所以决定操作一番。

Typora 使用 PicGo 来间接支持微博,七牛云,腾讯云COS,又拍云,GitHub,阿里云OSS,SM.MS,imgur 等8种常用图床。此外 Typora 也支持使用自定义命令来上传图片到图床。

出于免费且速度有保障的考量,我打算使用腾讯的 coding 自建 git 仓库来作为图床。PicGo 并不支持该图床,我用 go 写了一个小工具作为 Typora 的自定义命令,下面将记录下我踩的一些坑。

Typora 如何调用自定义命令

首先打开设置,填入你的自定义命令的路径

在你插入图片时,Typora 会将图片的路径作为的参数传给你的命令,参数的长度和参数的个数都是不确定的。官方文档在这里语焉不详,算是坑了我一把。

\Users\Lenovo\Desktop\piccoding\main.exe "C:\\Users\\Lenovo\\AppData\\Local\\Temp/typora-icon2.png" "C:\\Users\\Lenovo\\AppData\\Local\\Temp/typora-icon.png"

图片上传完成后,Typora 需要你按指定格式在控制台输出图片的 URL 给它(这也小坑了我一把)。

Upload Success:
https://stormbuf.coding.net/p/piccoding/d/piccoding/git/raw/master/typora-icon2.png
https://stormbuf.coding.net/p/piccoding/d/piccoding/git/raw/master/typora-icon.png

第一行一定要是 Upload Success:,然后第二个非空行开始,一行一个图片 URL。

自定义命令的实现

Typora 只管给你图片路径和获取图片 URL,至于中间自定义命令如何处理图片是不管的。

下面讲讲自定义命令的实现思路:

  1. 获取图片路径
  2. 判断 git 本地仓库是否存在该图片,若存在则跳到第五步
  3. 将图片复制到 git 本地仓库
  4. 调用外部程序 git,完成 git 的 add 、commit、push
  5. 将 git 远程仓库文件 URL 的固定前缀与图片名拼接生成图片 URL
  6. 输出图片 URL

具体实现很简单,有需要借鉴的自取吧

// 图片URL的前缀
var prePicURL = ""

// git 本地仓库路径
var picPath = ""

func main() {
   
	flag.Parse()
	file := flag.Args()

	if 
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值