关于 lovstudio:any2docx
将 Markdown 文件转换为可编辑 Word 文档(DOCX)的技能,适用于需要排版整洁文档的用户。它通过 python-docx 处理代码块、表格、图像及中英文混排,并可生成封面和目录。
主要功能
- 01Markdown 转换为 DOCX
- 02支持代码块、表格与列表
- 03嵌入本地和远程图像
- 04支持多种主题与水印
- 05生成封面和目录
适用场景
- 01将 Markdown 报告制作成 Word 文档
- 02创建包含代码和表格的技术文档
- 03生成带封面和目录的长文档
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ lovstudio/ skills --skill lovstudio:any2docx安装后在 Claude Code 中输入/lovstudio:any2docx确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.mdREADME.mdscripts/md2docx.py详细介绍
any2docx — Markdown 转专业 DOCX
此技能使用 Python 的 python-docx 库,将任意 Markdown 文件转换为样式专业的 Word 文档。它与 any2pdf 采用相同的主题配色,并能正确处理所有中日韩文字与拉丁文本混排的边界情况。
使用时机
- 用户想将
.md转换为.docx(Word) - 用户需要可编辑的文档(而非 PDF)
- 文档包含中日韩文字与拉丁文本混排
- 文档包含围栏代码块、Markdown 表格或列表
- 用户希望在 DOCX 中添加封面、目录或水印
快速开始
python lovstudio-any2docx/scripts/md2docx.py \
--input report.md \
--output report.docx \
--title "My Report" \
--author "Author Name" \
--theme warm-academic
除 --input 外,所有参数均为可选项;系统会应用合理的默认值。
转换前选项(必需)
重要:运行转换前,必须使用 AskUserQuestion 工具询问以下问题。不要以纯文本形式列出选项——请使用该工具,以便用户获得适当的交互式提示。请在一次 AskUserQuestion 调用中询问所有选项。
使用以下模板调用 AskUserQuestion:
开始转 Word!先帮你确认几个选项 👇
━━━ 📐 设计风格 ━━━
a) 暖学术 — 陶土色调,温润典雅,适合人文/社科报告
b) 经典论文 — 棕色调,灵感源自 LaTeX classicthesis,适合学术论文
c) Tufte — 极简留白,深红点缀,适合数据叙事/技术写作
d) 期刊蓝 — 藏蓝严谨,灵感源自 IEEE,适合正式发表风格
e) 精装书 — 咖啡色调,书卷气,适合长篇专著/技术书
f) 中国红 — 朱红配暖纸,适合中文正式报告/白皮书
g) 水墨 — 纯灰黑,素雅克制,适合文学/设计类内容
h) GitHub — 蓝白极简,程序员熟悉的风格
i) Nord 冰霜 — 蓝灰北欧风,清爽现代
j) 海洋 — 青绿色调,清新自然
k) 投资报告 — 楷体+深红,专业严谨,适合投资/尽调报告
━━━ 💧 水印 ━━━
1) 不加
2) 自定义文字(如 "DRAFT"、"内部资料")
示例回复:"a, 水印:仅供内部参考"
直接说人话就行,不用记编号 😄
将用户选择映射为 CLI 参数
| 选择 | CLI 参数 |
|---|---|
| 设计风格 a-k | 使用下表中的值设置 --theme |
| 水印文字 | --watermark "文字" |
主题名称映射
| 选择 | --theme 值 |
|---|---|
| a) 暖学术 | warm-academic |
| b) 经典论文 | classic-thesis |
| c) Tufte | tufte |
| d) 期刊蓝 | ieee-journal |
| e) 精装书 | elegant-book |
| f) 中国红 | chinese-red |
| g) 水墨 | ink-wash |
| h) GitHub | github-light |
| i) Nord | nord-frost |
| j) 海洋 | ocean-breeze |
| k) 投资报告 | invest-report |
架构
Markdown → Strip frontmatter → Preprocess (split merged headings) → Parse (code-fence-aware) → python-docx Document → .docx
主要组件:
- 中日韩字体切换:
_split_mixed()检测中日韩文本片段,并指定宋体 SC / SimSun / Noto CJK - 行内 Markdown:
_parse_inline()处理粗体、斜体、代码、链接 - 图像:支持本地路径(相对于 .md 文件)和远程 URL;自动下载并通过
add_picture()嵌入 - 代码块:带阴影背景和边框的等宽字体段落
- 表格:表头行采用强调色背景,交替行使用不同底色
- 水印:页眉中的 VML 对角水印(原生 Word 功能)
- 目录:使用带静态备用条目的域代码;
updateFields=true会在打开时触发自动刷新 - YAML frontmatter:自动剥除(不会将
status: draft等内容泄漏到输出中) - 自适应封面标题:长标题会自动缩小字号(36pt → 22pt)
配置参考
| 参数 | 默认值 | 说明 |
|---|---|---|
--input | (必填) | Markdown 文件路径 |
--output | output.docx | 输出 DOCX 路径 |
--title | 取自首个 H1 | 封面文档标题 |
--subtitle | "" | 副标题文本 |
--author | "" | 作者姓名 |
--date | 今天 | 日期字符串 |
--version | "" | 封面版本字符串 |
--watermark | "" | 水印文字(空值 = 无水印) |
--theme | warm-academic | 配色主题名称 |
--cover | true | 生成封面 |
--toc | true | 生成目录 |
--header-title | "" | 页眉中的报告标题 |
--footer-left | author | 页脚中的品牌/作者 |
--stats-line | "" | 封面上的统计信息 |
--stats-line2 | "" | 第二行统计信息 |
--edition-line | "" | 封面上的版本信息行 |
--code-max-lines | 30 | 每个代码块的最大行数 |
依赖项
pip install python-docx --break-system-packages
评论
支持 Markdown