一键将 markdown 中的所有图片下载到本地, 并通过 picgo 上传到图床
(1) 方法1 通过 go install 直接安装
go install github.com/jarvanstack/markpic@latest
(2) 方法2 下载编译好的二进制文件并放到 PATH 中
下载地址: https://github.com/jarvanstack/markpic/releases
# 一键将 markdown 中的所有图片下载到本地, 并通过 picgo 上传到图床
markpic test.md
$ markpic --help
一键将 markdown 中的所有图片下载到本地, 并通过 picgo 上传到图床
Usage:
markpic [command] [flags]
markpic [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
d 将 markdown 中的图片下载到本地
du 先 d(下载) 再 u(上传)
help Help about any command
u 将 markdown 中的所有本地图片通过 picgo 上传到图床
Flags:
-d, --dir string 图片存放的目录 (default "images/")
-f, --from string 需要处理的源文件 (default "source.md")
-h, --help help for markpic
Use "markpic [command] --help" for more information about a command.
我们在 windows 有一个 markdown 文件 test.md
六边形架构

- 里面的网络图片因为防盗链机制, 无法再其他博客平台上同步
- 即使在 typroa 中设置插入图片时候对网络位置的图片上传也无法上传
- 所以我们需要将图片下载到本地, 然后再上传到图床
- 但是这个操作如果图片比较多的话比较繁琐, 而且容易遗漏
- 现在 markpic 可以帮助我们一键将 markdown 中的所有图片下载到本地, 并通过 picgo 上传到图床
PS C:\c_code\markpic> markpic test.md
[下载-上传]
[下载-上传完成] .\test.md.download.md .\test.md.upload.md
test.md.download.md 内容如下
六边形架构

test.md.upload.md 内容如下
六边形架构

因为自己搭建的图床没有防盗链机制, 所以可以直接在其他平台同步
- 该程序调用 PicGo 客户端的接口上传图片, 使用前需要下载 PicGo 客户端并配置好图床, 保持 PicGo 客户端正常运行