跳转到内容
返回
本页目录

使用文档

MDBlogPacker 使用文档

MDImageEmbed 的 Python 版本,将 Markdown 和本地图片合并为 Base64 内嵌文本导出,后续仅维护 MDBlogPacker。

MDBlogPacker

MDBlogPacker 是 MDImageEmbed 的 Python 版本,将 Markdown 和本地图片合并为 Base64 内嵌文本导出。MDImageEmbed 后续仅维护其 Python 版本 MDBlogPacker。

MDImageEmbed 后续仅维护其 Python 版本 MDBlogPacker;转换后可复制结果,或导出为包含内嵌图片的 Markdown 文件。

发博客时,最烦的就是处理图片:本地图片没法直接发布,使用图床又要逐张上传、复制链接、替换路径。Base64 内嵌把所有图片写进 Markdown 文本里,复制就能发。

  • 扫描 Markdown 里所有本地图片(支持 ![](</path>) 和 Obsidian ![[image.png]] 两种语法)
  • 自动转换为 data:image/...;base64,... 内嵌格式
  • 结果直接复制到剪贴板,粘贴即发
  • 支持前文/后文(版权声明、防转载提示等,GUI 模式直接填写,CLI 模式指定模板文件)
  • 网络图片和已是 Base64 的保持不动
终端窗口
# 用 environment.yml 创建 conda 环境
conda env create -f environment.yml

双击运行 MDBlogPacker.exe(或无参数运行 Main.py),打开图形界面:

  • 自动选中 exe 所在目录下的第一个 .md 文件
  • 填写前文/后文(可选,内容会缓存)
  • 点击「转换并复制到剪贴板」,粘贴到博客平台即可

带参数运行时进入命令行模式:

终端窗口
# 最常用:转换 + 复制到剪贴板
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 -v
参数说明
input输入 Markdown 文件路径(必填)
-c / --clipboard复制到剪贴板(主要用法)
-o / --output输出到文件
-p / --prefix前缀模板文件,拼到正文开头
-s / --suffix后缀模板文件,拼到正文结尾
--no-wiki-links不转换 Obsidian ![[]] Wiki 链接
--no-skip-base64不跳过已是 Base64 的图片
-v / --verbose详细日志(列出每张图的处理状态)

不指定 -c 和 -o 时默认输出到标准输出,可用管道。

按顺序尝试:

  1. 绝对路径
  2. 相对源 MD 文件所在目录
  3. Obsidian vault 根相对路径(如 /附件/xxx.png,自动向上查找 .obsidian/ 目录定位 vault 根)

支持 URL 编码字符(%20 等)自动解码。

PNG、JPG、JPEG、GIF、WebP、SVG、BMP

  • Base64 会让文件体积增加约 33%,图太多或太大时慎用
  • 网络图片(http:// / https://)会保持原状不转换
  • 建议只在“导出发布”时用,日常写作仍保留独立图片文件便于维护

MIT License