Categories
Tags
API API文档 CAS CI-CD DevOps Docker ElasticSearch Everything Git GitHub GitHub Actions HTTP客户端 Java JWT Micrometer MyBatis-Plus Prometheus Python Redis RSS Spring Spring Boot Supplier Typora uni-app Vue Web Web应用 Web开发 中间件 代码生成 任务执行 任务管理 会话管理 内存模型 分布式 前端开发 协议 后端开发 图床 字符串匹配 安全认证 容器化 局域网 工具 工具类 并发容器 并发编程 开源 微服务 搜索引擎 数据库 数据科学 数据结构 数据验证 文件处理 文件服务器 日语 正则表达式 死锁 深度学习 源码分析 爬虫 版本控制 监控 算法 线程安全 线程池 缓存 脚本 自动化 自然语言处理 虚拟线程 设计模式 语言学习 部署 锁机制 面试 项目实战 高可用
510 words
3 minutes
Typora自定义图片上传
1. 图床服务准备
在本文介绍中,将以PicHub作为图床服务,这是一个开源的图床服务,依托于Github提供的资源实现。其他第三方服务,例如阿里云OSS,华为云OBS也可以达到同样的效果,可根据实际情况进行选择
PicHub项目地址
Waiting for api.github.com...
2. Typora自定义上传规范
查阅官方文档,我们可以看到Typora对图片上传的要求如下
输入:Typora会调用用户自定义的程序,并且输入一个或多个链接,以参数的形式传入
[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进行一些简单的配置。进入文件 - 偏好设置 - 图像配置页面,如下图所示
- 切换
插入图片时配置为上传图片 - 按自己需求勾选应用规则(允许自动上传必须勾选)
- 上传服务选择`自定义命令,填入自定义指令,配置带调用程序的调用方式

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

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

Typora自定义图片上传
https://mj3622.github.io/posts/经验分享/typora自定义图片上传/
