471 字
2 分钟

Typora自定义图片上传

发布于 2024-07-11

1. 图床服务准备#

下面以开源项目 PicHub 作为图床服务。阿里云 OSS、华为云 OBS 等对象存储也可以按同样思路接入

PicHub项目地址

mj3622
/
PicHub
Waiting for api.github.com...
00K
0K
0K
Waiting...

2. Typora自定义上传规范#

Typora图片上传文档

Typora 对自定义图片上传程序的输入和输出有以下要求

输入:Typora会调用用户自定义的程序,并且输入一个或多个链接,以参数的形式传入

Terminal window
[some path]/upload-image.sh "image-path-1" "image-path-2"

输出:第一行为Upload Success:,之后每一行按顺序对应输入图片的远程链接

Upload Success:
http://remote-image-1.png
http://remote-image-2.png
TIP

此处的输出要求有一个小坑,需要一次性输出所有内容,如果一行一行输出可能会出现一些问题

3. 编写待调用程序#

上文中已经介绍了Typora对于输入和输出的要求,按照要求编写即可

下面给出一个python程序示例,在upload_image中编写你的图床服务逻辑。也可直接访问PicHub接入Typora获取已经编写好的服务

def upload_image(image_path):
pass
if __name__ == "__main__":
res = 'Upload Success:\n'
for i in range(1, len(sys.argv)):
image_path = sys.argv[i]
url = upload_image(image_path)
if url:
res += f'{url}\n'
else:
res += f'Failed\n'
res = res[:-1]
print(res)

4. 配置与测试#

在使用图片上传服务之前,我们需要先对Typora进行一些简单的配置。进入文件 - 偏好设置 - 图像配置页面,如下图所示

  1. 切换插入图片时配置为上传图片
  2. 按自己需求勾选应用规则(允许自动上传必须勾选
  3. 上传服务选择`自定义命令,填入自定义指令,配置带调用程序的调用方式

image-20240711130537774

完成配置之后,点击验证图片上传选项

image-20240711131423223

若通过验证,则证明配置成功,可以开始使用自定义图片上传服务

image-20240711131406790

Typora自定义图片上传
https://mj3622.github.io/posts/经验分享/typora自定义图片上传/
作者
Minjer
发布于
2024-07-11
许可协议
CC BY-NC-SA 4.0