一个智能的 Markdown 文档自动合并系统,支持批量上传图片到 Gitee 图床并自动替换链接。
- 📚 自动合并文档: 按章节顺序智能合并所有 Markdown 文件
- 🖼️ 图片自动上传: 批量上传本地图片到 Gitee 图床
- 🔄 增量更新: 支持智能检测文件变化,只处理修改内容
- 💾 缓存机制: 避免重复上传相同图片,提高效率
- 🚀 多种运行方式: 支持命令行、批处理文件等多种执行方式
编辑 config.json 文件,设置你的 Gitee 配置:
{
"gitee": {
"token": "your-gitee-token",
"repo": "username/repository-name",
"branch": "master",
"image_path": "img"
}
}方式一:双击运行(推荐)
双击 run_merge.bat 文件
方式二:命令行运行
# 完整合并
python auto_merge_docs.py
# 快速合并
python quick_merge.py
# 增量更新检查
python incremental_update.py文档需要按以下结构组织:
项目根目录/
├── 01-第一章-介绍/
│ ├── chapter1.md
│ └── assest/
│ └── image1.png
├── 02-第二章-基础/
│ ├── chapter2.md
│ └── assest/
│ └── image2.png
└── ...
| 文件名 | 功能描述 |
|---|---|
auto_merge_docs.py |
主合并脚本,完整功能 |
quick_merge.py |
快速合并脚本,日常使用 |
incremental_update.py |
增量更新检查器 |
run_merge.bat |
Windows 批处理文件 |
config.json |
配置文件 |
| 文件名 | 生成场景 |
|---|---|
MERGED_DOCS_AUTO.md |
完整自动合并输出 |
LATEST_MERGED.md |
快速合并输出 |
INCREMENTAL_MERGED.md |
增量更新输出 |
- 扫描目录: 自动识别
XX-第X章-XXX格式的章节目录 - 处理图片: 扫描 Markdown 文件中的本地图片链接
- 上传图床: 批量上传图片到 Gitee 图床
- 替换链接: 将本地图片路径替换为远程 URL
- 合并文档: 按章节顺序合并所有内容
- 生成输出: 创建完整的合并文档
- Python 3.6+
- requests 库
安装依赖:
pip install requeststoken: Gitee 访问令牌(需要 repo 权限)repo: 图床仓库地址,格式为用户名/仓库名branch: 分支名称,默认masterimage_path: 图片存储路径,默认img
filename: 合并文件名称backup_old: 是否备份旧文件add_timestamp: 是否添加时间戳
工具会自动维护以下缓存文件:
.gitee-upload-cache.json: 图片上传缓存,避免重复上传.merge_state.json: 合并状态记录,支持增量更新
-
图片上传失败
- 检查 Gitee token 权限
- 确认网络连接正常
- 验证仓库地址正确
-
编码问题
- 确保所有文件使用 UTF-8 编码
- Windows 用户建议使用批处理文件运行
-
权限问题
- 确保有文件读写权限
- 检查 Gitee token 是否过期
- 首次使用: 运行完整合并脚本
- 日常更新: 使用快速合并或批处理文件
- 定期检查: 每周运行增量更新检查
- 备份重要: 定期备份缓存文件
MIT License
欢迎提交 Issue 和 Pull Request!