← ClaudeAtlas

feishu-doc-to-markdownlisted

把飞书云文档(wiki / docx)导出为可独立分发的本地 markdown:正文逐字保留, 图片与文件附件(视频/zip/pdf)下载到本地并改写为相对路径,分栏、引用、HTML 表格等飞书专有结构降级为标准 markdown。 触发词:飞书文档下载为markdown、飞书文档导出、wiki导出markdown、飞书文档转md、 保存飞书文档、文档图片下载、feishu doc to markdown、导出学员手册、导出手册。
huangjun124114/skills · ★ 0 · Data & Documents · score 73
Install: claude install-skill huangjun124114/skills
# 飞书云文档 → 本地 markdown 把飞书文档变成「拷走整个文件夹就能用」的 markdown。核心难点不是取正文,而是 **飞书专有结构 + 私有资源链接**:图片是 `feishu.cn/file/<token>` 私有链接,外发即失效。 ## 快速使用 ```bash python ~/.workbuddy/skills/feishu-doc-to-markdown/scripts/feishu_md_export.py \ "<文档URL或token>" --outdir "<输出目录>" [--name "<文件名前缀>"] ``` 产出结构: ``` <输出目录>/ ├── <name>.md # 正文,图片/附件均为相对路径 ├── images/ # 图片,按文档顺序编号 + 上下文命名 └── attachments/ # 视频 / zip / pdf 等文件附件(仅当文档里有) ``` 调用前按项目约定确定 `--name`:**最终交付文件名带日期**(MMDD 或 MM-DD,如 `学员手册_0915`)。 多份文档「分开存放」= 每份一个独立子目录。 ## 脚本已处理的飞书专有结构 | 原始形态 | 转换结果 | |-|-| | `<title>X</title>` | 移除(HTML 元数据,markdown 里无意义;标题由文件名体现) | | `<figure><source name="a.mp4" token="T"/></figure>` | 下载到 `attachments/` → `[a.mp4](attachments/a.mp4)` | | `![](https://feishu.cn/file/T)` | 下载到 `images/` → `![](images/NN_上下文.png)` | | `<grid><column>...` | 退化为顺序内容,多栏内容各自成行(否则会粘连) | | `<cite doc-id="T" file-type="wiki" title="X">` | `[X](https://my.feishu.cn/wiki/T)` | | `<table><tr><td rowspan=...>` | 标准 markdown 表格,rowspan/colspan 展开为重复值 | | `<p>` `</p>` `<blockquote>` | 去包裹标签,保留内容 | ## 必须绕开的坑 1. **bash PATH 在本机会失效**(`dirname: command not found` → ls/find/grep 全挂)。 每条命令前显式导出: ```bash export PATH="/c/Users/Administrator/.workbuddy/binaries/node/cli-connector-packages:/c/Users/Administrator/.workbuddy/binaries/python/versions/3.13.12:/c/Users/Administrator/.workbuddy/binaries/PortableGit/versions/1.2.0/bin:/c/Users/Administrator/.workbuddy/binaries/PortableGit/versions/1.2.0/usr/bin:/c/Wi