关于 markitdown
使用 `markitdown` 命令行将文件和网页转换为 Markdown 的技能,适合整理文档以供阅读、提取或后续处理,并支持单文件与批量流程。
主要功能
- 01将文档和网页转换为 Markdown
- 02支持办公、数据、图像、音频及压缩格式
- 03保存到文件或输出至标准输出
- 04处理目录和 glob 模式
- 05提供可选的后处理指引
适用场景
- 01转换 PDF 或演示文稿以便审阅
- 02将电子表格或 CSV 转为 Markdown 表格
- 03批量转换目录中的支持文件
- 04抓取网页并转换为 Markdown
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ yitianlian/ markitdown-skill --skill markitdown安装后在 Claude Code 中输入/markitdown确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
install.sh.gitignoreREADME.mdLICENSE详细介绍
MarkItDown - 文件转 Markdown 转换器
将文件转换为 Markdown:$ARGUMENTS
前置条件
必须安装 markitdown CLI。如果未找到,请安装:
# Preferred (fastest, no conflicts)
uv tool install 'markitdown[all]'
# Alternatives
pipx install 'markitdown[all]'
pip install --user 'markitdown[all]'
支持的格式
| 格式 | 扩展名 | 说明 |
|---|---|---|
.pdf | 提取文本并保留布局 | |
| Word | .docx | 保留标题、表格和列表 |
| PowerPoint | .pptx | 按幻灯片逐页转换并保留标题 |
| Excel | .xlsx、.xls | 按工作表转换为表格 |
| HTML | .html、.htm | 转换完整结构 |
| CSV | .csv | 转换为 Markdown 表格 |
| JSON | .json | 格式化输出 |
| XML | .xml | 格式化输出 |
| 图片 | .jpg、.png、.gif、.webp | 提取 EXIF 元数据 |
| 音频 | .mp3、.wav | 转录(需要 ffmpeg) |
| 电子邮件 | .msg | 提取 Outlook 邮件 |
| 电子书 | .epub | 提取全文 |
| 压缩包 | .zip | 列出内容,并转换其中受支持的文件 |
| URL | http://... | 获取并转换网页 |
工作流
步骤 1:解析参数
解析 $ARGUMENTS 以识别:
- 目标:文件路径、glob 模式、目录或 URL
- 输出选项:使用
-o output.md保存,或打印到标准输出 - 批处理模式:目标为目录或 glob 模式时启用
如果没有提供参数,请询问用户要转换哪个文件。
步骤 2:验证目标
# Check if file exists
ls -la "$TARGET"
# Check markitdown is available
markitdown --version
如果未安装 markitdown,请使用以下命令安装:
uv tool install 'markitdown[all]'
步骤 3:转换
单个文件:
markitdown "$FILE_PATH"
保存到文件:
markitdown "$FILE_PATH" -o "$OUTPUT_PATH"
从 URL 转换:
markitdown "$URL"
批量转换(目录):
for f in "$DIR"/*.{pdf,docx,pptx,xlsx,html,csv}; do
[ -f "$f" ] && markitdown "$f" -o "${f%.*}.md"
done
从标准输入读取并指定扩展名提示:
cat "$FILE" | markitdown -x .html
步骤 4:呈现结果
- 对于较短的输出(< 200 行):直接在对话中显示
- 对于较长的输出:保存到
.md文件并报告路径 - 对于批量转换:报告已转换文件的摘要
步骤 5:后处理(可选)
如果用户提出要求,你可以:
- 总结:读取转换后的 Markdown 并提供摘要
- 提取特定信息:解析 Markdown 中的表格、标题和关键数据
- 清理:移除残留内容并修复格式问题
- 翻译:Markdown 现已成为可供翻译的纯文本
- 拆分:将大型文档拆分为多个部分
示例
/markitdown report.pdf
/markitdown slides.pptx -o slides.md
/markitdown data.xlsx
/markitdown https://example.com/page.html
/markitdown ./documents/ # batch convert all supported files
/markitdown *.pdf # convert all PDFs in current directory
错误处理
| 错误 | 解决方法 |
|---|---|
markitdown: command not found | 运行:uv tool install 'markitdown[all]' |
No such file or directory | 使用 ls 检查文件路径 |
| 音频转录失败 | 安装 ffmpeg:brew install ffmpeg(macOS)或 apt install ffmpeg(Linux) |
| PDF 提取结果为空 | PDF 可能仅包含图片;建议使用 OCR 工具 |
| 编码问题 | 尝试:markitdown -c UTF-8 "$FILE" |
评论
支持 Markdown