MDBlogPacker 使用文档
MDImageEmbed 的 Python 版本,将 Markdown 和本地图片合并为 Base64 内嵌文本导出,后续仅维护 MDBlogPacker。
MDBlogPacker
MDBlogPacker 是 MDImageEmbed 的 Python 版本,将 Markdown 和本地图片合并为 Base64 内嵌文本导出。MDImageEmbed 后续仅维护其 Python 版本 MDBlogPacker。
MDImageEmbed 后续仅维护其 Python 版本 MDBlogPacker;转换后可复制结果,或导出为包含内嵌图片的 Markdown 文件。
为什么需要这个工具
Section titled “为什么需要这个工具”发博客时,最烦的就是处理图片:本地图片没法直接发布,使用图床又要逐张上传、复制链接、替换路径。Base64 内嵌把所有图片写进 Markdown 文本里,复制就能发。
- 扫描 Markdown 里所有本地图片(支持
和 Obsidian![[image.png]]两种语法) - 自动转换为
data:image/...;base64,...内嵌格式 - 结果直接复制到剪贴板,粘贴即发
- 支持前文/后文(版权声明、防转载提示等,GUI 模式直接填写,CLI 模式指定模板文件)
- 网络图片和已是 Base64 的保持不动
# 用 environment.yml 创建 conda 环境conda env create -f environment.ymlGUI 模式(推荐)
Section titled “GUI 模式(推荐)”双击运行 MDBlogPacker.exe(或无参数运行 Main.py),打开图形界面:
- 自动选中 exe 所在目录下的第一个
.md文件 - 填写前文/后文(可选,内容会缓存)
- 点击「转换并复制到剪贴板」,粘贴到博客平台即可
CLI 模式
Section titled “CLI 模式”带参数运行时进入命令行模式:
# 最常用:转换 + 复制到剪贴板conda run -n MDBlogPacker python Main.py 博客.md -c
# 带版权前后缀conda run -n MDBlogPacker python Main.py 博客.md -c -p 前缀.md -s 后缀.md
# 输出到文件(不走剪贴板)conda run -n MDBlogPacker python Main.py 博客.md -o 博客-内嵌版.md
# 查看详细转换日志conda run -n MDBlogPacker python Main.py 博客.md -c -vCLI 参数
Section titled “CLI 参数”| 参数 | 说明 |
|---|---|
input | 输入 Markdown 文件路径(必填) |
-c / --clipboard | 复制到剪贴板(主要用法) |
-o / --output | 输出到文件 |
-p / --prefix | 前缀模板文件,拼到正文开头 |
-s / --suffix | 后缀模板文件,拼到正文结尾 |
--no-wiki-links | 不转换 Obsidian ![[]] Wiki 链接 |
--no-skip-base64 | 不跳过已是 Base64 的图片 |
-v / --verbose | 详细日志(列出每张图的处理状态) |
不指定 -c 和 -o 时默认输出到标准输出,可用管道。
图片路径解析规则
Section titled “图片路径解析规则”按顺序尝试:
- 绝对路径
- 相对源 MD 文件所在目录
- Obsidian vault 根相对路径(如
/附件/xxx.png,自动向上查找.obsidian/目录定位 vault 根)
支持 URL 编码字符(%20 等)自动解码。
支持的图片格式
Section titled “支持的图片格式”PNG、JPG、JPEG、GIF、WebP、SVG、BMP
- Base64 会让文件体积增加约 33%,图太多或太大时慎用
- 网络图片(
http:///https://)会保持原状不转换 - 建议只在“导出发布”时用,日常写作仍保留独立图片文件便于维护
MIT License