Skip to content

Markdown 转 Word(md-to-word)

md-to-word 把 Markdown 文件转换为 Word 文档(.docx),特别适合中文内容 + Mermaid 流程图 + 统一样式主题的场景。

特性

  • 完整 Markdown 支持——标题、列表、表格、代码块、图片、引用、分割线等。
  • 离线 Mermaid 渲染——用本地 Mermaid.js + Playwright(Chromium)渲染流程图为图片,无需联网。
  • 中文字体优化——内置微软雅黑、宋体、黑体等字体配置。
  • 多主题——default / academic / business / minimal 四种预设。
  • 可自定义——YAML 配置文件调整字体、标题、正文、代码、表格、Mermaid 样式。
  • Python API——可作为模块导入使用。

安装

与其它技能一样以「绿色版制品」从 Nexus 分发,一行装——内网优先、外网兜底:

bash
# 外网(任意机器)
curl -fsSL http://maven.vv.yunku.live/repository/raw-releases/md-to-word/latest/install.sh | bash

# 内网(能直连 172.16.2.100,更快)
curl -fsSL --noproxy '*' http://172.16.2.100:8081/repository/raw-releases/md-to-word/latest/install.sh | bash

安装器把整个技能解压到 ~/.claude/skills/md-to-word,并自动 pip install -r requirements.txtplaywright install chromium(Mermaid 渲染用)。依赖装失败不挡 skill 安装,按提示手动补齐即可。

从源码检出安装(开发 / 离线):bash install.sh --local(就地铺 + 装依赖); bash install.sh --no-deps(只铺 skill 文件,跳过 pip / playwright)。

命令行使用

在技能目录内执行 python converter.py

bash
# 基本转换(省略输出名 → input.docx)
python converter.py input.md output.docx

# 使用预设主题
python converter.py input.md output.docx --theme academic

# 自定义配置
python converter.py input.md output.docx --config my_config.yaml

# 下载 / 更新 Mermaid.js
python converter.py --download-mermaid
参数说明
input输入 Markdown 文件(必填)
output输出 Word 文件(可选,默认同名 .docx
--theme预设主题:default(默认)/ academic / business / minimal
--config自定义 YAML 配置文件路径
--download-mermaid下载 Mermaid.js 到本地

主题

主题适用字体
default一般文档微软雅黑
academic论文 / 学术报告宋体 / Times New Roman
business商务文档紧凑排版 + 专业配色
minimal阅读简约

Python API

python
from converter import MarkdownToWordConverter

# 基本用法
converter = MarkdownToWordConverter()
converter.convert("input.md", "output.docx")

# 使用预设主题
converter = MarkdownToWordConverter(theme="academic")
converter.convert("input.md", "output.docx")

# 使用自定义配置
converter = MarkdownToWordConverter(config_path="my_config.yaml")
converter.convert("input.md", "output.docx")

配置

编辑 config.yaml(或用 --config 传自定义文件)可调整:字体(西文 / 中文 / 代码)、标题样式 (H1–H4 字体 / 大小 / 颜色 / 间距)、正文、代码块、表格、列表、Mermaid 主题。示例片段:

yaml
fonts:
  default:
    ascii: "Arial"        # 西文字体
    east_asia: "微软雅黑"  # 中文字体
    size: 12
headings:
  h1: { font: "黑体", size: 22, bold: true, color: "#000000" }
mermaid:
  theme: "default"        # default / dark / forest / neutral
  font_family: "微软雅黑"
  background_color: "#FFFFFF"

常见问题

现象处理
中文字体显示异常确保 fonts/ 目录含所需字体文件,config.yamleast_asia 配置正确
Mermaid 图表无法渲染python converter.py --download-mermaid 下载 Mermaid.js;并确保已 playwright install chromium
图片无法显示检查图片相对路径(基于 Markdown 文件位置);支持 PNG / JPG / GIF / BMP / TIFF

发版(维护者)

打 tag 触发 CI 发布绿色版制品到 Nexus raw(与 magic-skills 同款,只走 CI):

bash
git tag v0.1.0 && git push origin v0.1.0    # CI publish:skill → md-to-word/<ver>/ + latest/