关于 to-markdown
基于 Microsoft 的 markitdown 将多种文件和链接内容转换为 Markdown 的技能,适用于文档整理与快速查看。它涵盖办公文档、结构化文本、音频和 YouTube 等来源,并提示格式转换的局限。
主要功能
- 01转换 PDF、Word、Excel 和 PowerPoint
- 02提取 HTML 与结构化文本
- 03通过 OCR 处理图像
- 04转录音频并提取 YouTube 字幕
- 05将结果输出到终端或文件
适用场景
- 01将报告导入知识库
- 02把收到的 Word 文档转成 Markdown
- 03批量转换目录中的 PDF
- 04快速查看 PDF 内容
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ steveclarke/ dotfiles --skill to-markdown安装后在 Claude Code 中输入/to-markdown确认已加载。
详细介绍
使用 markitdown 将文件转换为 Markdown。它是 Microsoft 的实用工具,可从多种文件格式中提取并整理内容。
支持的格式
| 格式 | 备注 |
|---|---|
| 提取文本;表格结构可能只是近似结果 | |
| Word (.docx) | 转换结果整洁,包含表格 |
| Excel (.xlsx) | 将工作表转换为 Markdown 表格 |
| PowerPoint (.pptx) | 幻灯片文本和结构 |
| HTML | 清理后的易读内容 |
| 图片 | OCR(要获得最佳效果,需要 LLM 视觉能力) |
| 音频 | 通过 SpeechRecognition 转录 |
| CSV / JSON / XML | 结构化文本 |
| YouTube URL | 提取文字稿 |
| EPub | 章节文本 |
用法
# Convert to stdout
markitdown input.pdf 2>/dev/null
# Save to file
markitdown input.pdf -o output.md 2>/dev/null
# Or redirect
markitdown input.docx 2>/dev/null > output.md
始终使用 2>/dev/null 屏蔽不会影响输出质量的字体或解析器警告。
工作流
-
检查是否已安装 markitdown:
which markitdown || echo "not installed" -
如果未安装,则安装(支持所有格式):
pip install 'markitdown[all]' -
运行转换并屏蔽标准错误:
markitdown "$INPUT_FILE" 2>/dev/null -
根据用户意图处理输出:
- 保存到知识库 → 写入合适的
.md文件 - 快速查看 → 在对话中展示
- 多个文件 → 循环逐个转换
- 保存到知识库 → 写入合适的
输出质量说明
- PDF:文本会被忠实提取,但表格单元格可能会分散到多行(PDF 不会编码表格结构)。如果用户需要从 PDF 中提取整洁的表格,请说明这一限制。
- Word/Excel:通常能生成整洁的输出,并正确设置表格格式。
- 复杂版式:多栏 PDF 或格式繁杂的文档可能会打乱阅读顺序。
- 扫描版 PDF:纯图片 PDF 无法提取文本,除非集成 OCR/LLM 视觉能力。
常见用例
将文档导入知识库:
markitdown report.pdf 2>/dev/null > knowledge/competitive/raw/report.md
转换别人发给你的 Word 文档:
markitdown meeting-notes.docx 2>/dev/null > notes.md
批量转换目录:
for f in docs/*.pdf; do
markitdown "$f" 2>/dev/null > "${f%.pdf}.md"
done
查看 PDF 内容,以便决定如何处理:
markitdown document.pdf 2>/dev/null | head -50
评论
支持 Markdown