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

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
博客园 - 聂微东
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
IT之家
IT之家
Google DeepMind News
Google DeepMind News
D
Docker
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
月光博客
月光博客
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

静观小窗

P12632 This Is Sparta!:数据会自己坍塌 P14445 Follow the Sequence 解题记录:从“无限复制路径”到“离散射线” 构造题怎么想才不容易乱:骨架、接口、余量与收口 一个有趣的项目背后的难点--MC的3D皮肤生成器 power by Qwen 博客俱乐部,最有社区氛围的中文博客联盟 文化决定语言,语言决定思想:我们赖以生存的隐喻(读后感) 寻找网络友邻 整合全网102个二次元动漫随机图片API接口,2025年十月最新 宋代的遗憾 搭建个人起始网站,便于控制浏览器使用和时间规划 Google Gemini CLI 免费安装配置指南:支持Gemini 2.5 Pro (2025最新) NixOS深度评测:一个六年Linux用户的初体验,为何惊艳的设计哲学仍让我望而却步 我的NS2使用体验记录,为什么因为马里奥派对空前盛会入坑 关于秦制的个人理解,为什么秦制在我看来是功过鲜明的必然 拜访一个人,在千年之后 Vercel/Netlify国内加速:EdgeOne免费CDN优选IP实战指南 C/C++程序员必看:JavaScript核心概念深度解析(动态类型、原型链、事件循环) C/C++程序员转向JavaScript:一份超详细的语法映射与避坑指南 从C++到JS:函数、this与闭包的核心差异与实践指南 VSCode配置JavaScript开发环境:Node.js安装与调试指南 C/C++程序员必看:JavaScript变量与作用域深度解析(从var到const) 博客迁移实战:从WordPress到Next.js的零成本高性能之路 《原则》读书笔记:如何将瑞·达利欧的智慧应用到日常 MATLAB入门教程:面向C++/OIer的数据可视化与科学计算指南 LaTeX公式与三线表教程:从入门到精通的排版指南 软路由远程访问提速:SMB压缩与50M上行优化实战 Hyprland 安装与配置超详细教程 (Arch Linux):含 Waybar 及一键脚本 Linux文件系统与磁盘分区:从入门到精通的实战指南 Guide to Installing a USB WiFi Adapter on OpenWrt (LuCI) 阿里云CentOS 9服务器从零到一:安全配置与宝塔面板安装指南
我开发了一款博客图片压缩工具,支持PicGo一键压缩上传
间窗 (Vindo) · 2025-10-18 · via 静观小窗

作为一名博主,我一直依赖 PicGo 这款工具来处理博客图片。我的常规工作流是在 Typora 中完成文章写作,然后将图片上传到 PicGo,最后将生成的链接粘贴回 Typora。

这个流程看似简单,但实际操作起来却相当繁琐,尤其是当文章包含大量图片时,我需要将图片一张张拖拽到 PicGo 中。起初,鉴于我写博客的频率不算高,每次只处理一篇文章,这种方式还在可接受的范围内。

然而,当我决定将所有图片从原有的图床迁移到腾讯云 COS 时,这个问题变得异常棘手。我需要将成百上千张图片从旧图床一张张下载下来,然后再逐一上传。更关键的是,我原来的图片大多是 PNG 格式,占用了大量的存储空间和网络流量。对于个人博客而言,腾讯云 CDN 和 COS 的成本,尤其是在处理 PNG 这类大文件时,是一笔不小的开销。

也许有人会提到图床自带的压缩功能。我确实测试了这项功能,效果虽然不错,但压缩策略非常保守。单次文章访问的图片总流量仍然高达 10MB,这样算下来很可能会超出 CDN 的基础套餐额度。因此,我决定必须对图片进行手动压缩。

这样一来,整个流程变得极其复杂:首先,我需要逐一下载所有图片(由于分散在不同图床,且部分账号密码也已遗忘,只能单张操作);接着,再将这些图片一张张进行压缩,或是在线分批处理,但又会受到免费额度的限制;即便不考虑这些,批量上传到 PicGo 后,我还需要手动将新生成的链接一一回填到 Markdown 文件中。

这时我意识到,这个流程充满了大量重复性劳动,而重复恰恰意味着可以被自动化。于是,我决定开发一个脚本,首先实现自动从 Markdown 文件中下载图片的功能,从而省去手动下载的麻烦。

脚本开发完成后,我进一步思考:既然图片已经下载到本地,为何不直接在程序中完成压缩呢?于是,我为脚本增加了可控的压缩功能,用户可以根据需要选择 1% 到 50% 不等的压缩率,大大提升了可操作性。

完成了前两步之后,我又想到:为什么我还要手动将这些处理过的图片上传到 PicGo 呢?在研究 PicGo 的功能时,我发现了一个非常有用的“回写”机制。这意味着图片上传到图床后,PicGo 可以直接将返回的链接写回到 Markdown 文件中,自动替换掉原来的本地或旧链接。

就这样,一个集成式的解决方案诞生了。现在,我只需点击一个按钮,就能实现对 Markdown 文件中本地图片或网络图片的自动下载、压缩、上传和链接回写。整个过程无缝衔接,极大地简化了我的工作流程。

实际上,这个脚本彻底改变了我的写作方式。现在,我可以在写作时直接将图片拖拽到 Typora 中,文章完成后,再用我开发的脚本一键处理。我再也无需与图片一张张“搏斗”,整个体验行云流水。

为了让这个工具更加易用,作为一名“极致懒人”,我还用 AI 辅助编写了一个前端界面。虽然前端的稳定性还有待提升,但整体使用体验已经非常出色。它支持文件选择、集成了 PicGo 的大部分图床,并且可以直接设置压缩比,完整地实现了我最初的所有设想。

如果您对这个项目感兴趣,可以访问我的代码仓库:DohhhDo/Picgo.MD。欢迎阅读仓库文件了解具体使用方法。虽然可能不会有很多人使用,但只要有一个人发现它的价值,我就会继续维护下去。