惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Martin Fowler
Martin Fowler
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
小众软件
小众软件
博客园_首页
博客园 - 聂微东
罗磊的独立博客
Recent Announcements
Recent Announcements
U
Unit 42
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky
D
DataBreaches.Net
Last Week in AI
Last Week in AI

材料与逻辑

如何理解动力粘度η 铝合金牌号系列对比及选型指南 TPE选型攻略 一次搞懂PPAP:从提交到批准的完整指南 铝合金阳极氧化工艺详解 APQP 第五阶段:量产、反馈、评定与纠正 APQP 第四阶段:产品与过程验证 APQP 第三阶段:过程设计开发 控制计划(Control Plan)在制造业中的深度解析 控制计划(CP):制造业质量管理的核心支柱 OpenClaw 使用指南 PFMEA系统学习与制造业质量工具集成 第一性原理系统学习报告:从认知底层到创新实践 桌面端 EPUB 工具:Jane Reader及不同阅读器功能对比 APQP第二阶段(产品设计和开发)学习与实施指南 APQP第一阶段:顾客声音(VOC)向项目指标转化的标准化指南 制造业研发技术中的WBS(工作分解结构)应用 一个玩具车项目,讲清新版 APQP 怎么干 质量是设计出来的:APQP 核心框架与全流程详解 思维导图系统学习与职场应用指南 ISO 4892 塑料实验室光源暴露试验标准系统梳理与应用分析 高分子材料挤出成型工艺系统研发技术报告 制造业研发人员如何制定高效的项目开发计划:从材料开发到工艺落地的系统性指南 材料耐候性评价指南:色差值 ΔE 与抗老化等级的标准转换及年限推算 自动化工具:将 Markdown 文档转换为静态 PNG 思维导图脚本 溯因推理:原理、应用与智能演进研究 高分子加工工艺对比与选型参考 归纳推理:从经验观察到知识泛化的系统化研究 铝合金及其关键部件表面处理技术 通过 rclone 自动备份 Lsky Pro(兰空图床)数据至 OneDrive
Python 自动化实践:Typora 自定义上传接口与兰空图床集成
ZhangYong · 2026-02-18 · via 材料与逻辑

针对上一篇博客使用 Python 脚本一键上传图片到兰空图床并自动复制链接,此篇博客使用自己常用的Typora md编辑器,将 Python 脚本集成到 Typora 的“上传服务”中,可以实现插入图片时自动上传至兰空图床(Lsky Pro)并自动替换链接。

以下是具体操作步骤及针对 Typora 优化的脚本代码。

1. 编写 Typora 专用上传脚本

Typora 的自定义上传功能要求脚本在成功后,向标准输出(Stdout)打印特定的格式:

  1. 第一行打印 Upload Success:
  2. 随后每一行打印一个上传成功的图片 URL。

请将以下代码保存为 typora_upload.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import requests
import sys
import os


API_URL = "https://your-domain.com/api/v1/upload"
TOKEN = "your_auth_token_here"


def upload_for_typora(file_paths):
headers = {
'Authorization': f'Bearer {TOKEN}',
'Accept': 'application/json',
'User-Agent': 'Typora-Uploader'
}

urls = []

for path in file_paths:
if not os.path.isfile(path):
continue

try:
with open(path, 'rb') as f:
files = {'file': (os.path.basename(path), f)}
response = requests.post(API_URL, headers=headers, files=files, timeout=30)

if response.status_code == 200:
res_json = response.json()
if res_json.get('status'):
urls.append(res_json['data']['links']['url'])
except Exception:
pass


if urls:
print("Upload Success:")
for url in urls:
print(url)
else:
print("Upload Failed")
sys.exit(1)

if __name__ == "__main__":

image_paths = sys.argv[1:]
upload_for_typora(image_paths)

2. 在 Typora 中配置

  1. 打开 Typora,进入 设置 (Preferences)

  2. 导航至 图像 (Image) 选项卡。

  3. 插入图片时 (When Insert):选择“上传图片 (Upload image)”。

  4. 勾选:

    • 对本地位置的图片应用上述规则 (Apply above rules to local images)。
    • 对网络位置的图片应用上述规则 (Apply above rules to online images)。
  5. 上传服务 (Image Uploader):选择 Custom Command

  6. 命令 (Command):填写运行脚本的命令。

    • Windows 示例python "C:\路径\to\typora_upload.py"
    • macOS/Linux 示例python3 "/Users/路径/to/typora_upload.py"
    • 若为虚拟环境,可填写实际环境的python路径,如/Users/zhyong/Project/local_python_env/.venv/bin/python3 /Users/路径/to/typora_upload.py

    PixPin_2026-02-18_21-23-11

  7. 点击 验证图片上传选项 (Test Uploader) 进行测试。

PixPin_2026-02-18_21-23-56

此时,打开图床后,就有测试上传的两张图片了。

image-20260218213127050

3. 技术要点与注意事项

  • Stdout 依赖:Typora 通过捕获脚本的控制台输出来获取 URL。脚本内不可存在多余的 print 语句,否则会导致 Typora 解析失败。
  • 多图处理:Typora 有时会同时传输多张图片(例如批量粘贴时),脚本中使用 sys.argv[1:] 获取所有路径参数并循环处理。
  • 依赖库检查:确保当前系统环境已安装 requests 库。若使用虚拟环境,需在“命令”栏填写该虚拟环境的 python 解释器绝对路径。
  • 权限问题:在 macOS/Linux 系统上,若执行失败,请检查脚本文件是否具有可执行权限,或尝试使用绝对路径引用 Python 解释器。

4. 自动化逻辑说明

  • 触发时机:当图片被拖入、粘贴或通过菜单插入 Typora 时,脚本会自动触发。
  • 链接替换:上传成功后,Typora 会自动将本地路径(如 C:\Users\Admin\Desktop\1.png)替换为脚本返回的图床 URL。

AI 总结 (Qwen API)

生成时间: 2026-02-18 21:38:30

深度总结:

本文是一篇面向开发者与高效笔记用户的实战型技术博客,聚焦于提升 Markdown 写作工作流的自动化水平。核心目标是打通 Typora 编辑器与自托管图床(Lsky Pro)之间的无缝上传链路,消除手动上传、复制链接、替换路径等重复性操作。

文章并非泛泛而谈“Python 脚本”,而是深度结合 Typora 的定制上传机制规范(如严格的 Stdout 格式要求、多图参数传递方式、环境路径适配),提供可即用、可调试、可复用的生产级脚本。其价值体现在三个层面:

  1. 工程化集成思维:将独立脚本封装为编辑器原生功能,实现 IDE/编辑器级自动化,体现“工具即服务”的现代开发实践;
  2. 鲁棒性设计意识:脚本包含异常捕获、路径校验、状态码判断、JSON 响应结构容错等细节,兼顾稳定性与用户体验;
  3. 跨平台可部署性:明确区分 Windows/macOS/Linux 的命令配置差异,并强调虚拟环境路径、权限、依赖管理等运维关键点,降低落地门槛。

此外,文中隐含了对本地优先(Local-First)内容创作范式的支持——用户仍在本地编辑、本地存储原始图片,仅在插入时按需上传,兼顾隐私、可控性与协作便捷性,契合知识工作者对数字资产主权的诉求。


核心关键词(标签):

#Typora #图床自动化 #LskyPro #Python脚本 #Markdown工作流