Skip to content

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Markdown Merge Tool - 文档自动合并与图床管理工具

一个智能的 Markdown 文档自动合并系统,支持批量上传图片到 Gitee 图床并自动替换链接。

特性

  • 📚 自动合并文档: 按章节顺序智能合并所有 Markdown 文件
  • 🖼️ 图片自动上传: 批量上传本地图片到 Gitee 图床
  • 🔄 增量更新: 支持智能检测文件变化,只处理修改内容
  • 💾 缓存机制: 避免重复上传相同图片,提高效率
  • 🚀 多种运行方式: 支持命令行、批处理文件等多种执行方式

快速开始

1. 配置

编辑 config.json 文件,设置你的 Gitee 配置:

{
  "gitee": {
    "token": "your-gitee-token",
    "repo": "username/repository-name",
    "branch": "master",
    "image_path": "img"
  }
}

2. 运行

方式一:双击运行(推荐)

双击 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 增量更新输出

工作原理

  1. 扫描目录: 自动识别 XX-第X章-XXX 格式的章节目录
  2. 处理图片: 扫描 Markdown 文件中的本地图片链接
  3. 上传图床: 批量上传图片到 Gitee 图床
  4. 替换链接: 将本地图片路径替换为远程 URL
  5. 合并文档: 按章节顺序合并所有内容
  6. 生成输出: 创建完整的合并文档

依赖要求

  • Python 3.6+
  • requests 库

安装依赖:

pip install requests

配置说明

Gitee 配置

  • token: Gitee 访问令牌(需要 repo 权限)
  • repo: 图床仓库地址,格式为 用户名/仓库名
  • branch: 分支名称,默认 master
  • image_path: 图片存储路径,默认 img

输出配置

  • filename: 合并文件名称
  • backup_old: 是否备份旧文件
  • add_timestamp: 是否添加时间戳

缓存机制

工具会自动维护以下缓存文件:

  • .gitee-upload-cache.json: 图片上传缓存,避免重复上传
  • .merge_state.json: 合并状态记录,支持增量更新

故障排除

  1. 图片上传失败

    • 检查 Gitee token 权限
    • 确认网络连接正常
    • 验证仓库地址正确
  2. 编码问题

    • 确保所有文件使用 UTF-8 编码
    • Windows 用户建议使用批处理文件运行
  3. 权限问题

    • 确保有文件读写权限
    • 检查 Gitee token 是否过期

最佳实践

  1. 首次使用: 运行完整合并脚本
  2. 日常更新: 使用快速合并或批处理文件
  3. 定期检查: 每周运行增量更新检查
  4. 备份重要: 定期备份缓存文件

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages