lark-docx2md 0.1.1 → 0.2.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -19
- package/dist/cli.js +55 -495
- package/dist/cli.js.map +1 -1
- package/dist/converter-Bxdyw2k9.d.ts +37 -0
- package/dist/converter-Bxdyw2k9.d.ts.map +1 -0
- package/dist/converter-FwY1m1jm.js +3006 -0
- package/dist/converter-FwY1m1jm.js.map +1 -0
- package/dist/converter.js +2 -0
- package/package.json +2 -2
- /package/dist/{cli-CIsEcoQJ.d.ts → cli-Cq4v6lUa.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -4,38 +4,58 @@
|
|
|
4
4
|
|
|
5
5
|
将飞书文档转换为 Markdown 文件的命令行工具。
|
|
6
6
|
|
|
7
|
-
>
|
|
7
|
+
> 支持的飞书文档链接格式:`https://*.feishu.cn/wiki/*`、`https://*.feishu.cn/sheets/*`
|
|
8
8
|
|
|
9
9
|
## 使用
|
|
10
10
|
|
|
11
11
|
> 命令所需权限见下 ‘飞书自创应用需要的权限’
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npx -y lark-docx2md download https://xxx.feishu.cn/wiki/xxx --app-id cli_xxx --app-secret xxxx
|
|
14
|
+
npx -y lark-docx2md@latest download https://xxx.feishu.cn/wiki/xxx --app-id cli_xxx --app-secret xxxx
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
> `download` 命令支持别名 `dl`,以下写法等效:
|
|
18
|
+
>
|
|
19
|
+
> ```bash
|
|
20
|
+
> npx -y lark-docx2md@latest dl https://xxx.feishu.cn/wiki/xxx --app-id cli_xxx --app-secret xxxx
|
|
21
|
+
> ```
|
|
22
|
+
|
|
17
23
|
或先设置环境变量(命令行参数可省略):
|
|
18
24
|
|
|
19
25
|
```bash
|
|
20
26
|
export LARK_DOCX2MD_APP_ID=<APP_ID>
|
|
21
27
|
export LARK_DOCX2MD_APP_SECRET=<APP_SECRET>
|
|
22
|
-
npx -y lark-docx2md download <url>
|
|
28
|
+
npx -y lark-docx2md@latest download <url>
|
|
23
29
|
```
|
|
24
30
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
|
28
|
-
|
|
29
|
-
|
|
|
30
|
-
|
|
|
31
|
-
| `--
|
|
32
|
-
|
|
|
31
|
+
## 参数
|
|
32
|
+
|
|
33
|
+
| 参数 | 说明 | 环境变量 | 默认值 |
|
|
34
|
+
|--------------------------|-------------------------------------------|------------------------------|-----------------------|
|
|
35
|
+
| `<url>` | 飞书文档链接(`https://*.feishu.cn/wiki/*` 或 `/sheets/*`) | — | — |
|
|
36
|
+
| `--app-id <id>` | 飞书应用 App ID | `LARK_DOCX2MD_APP_ID` | — |
|
|
37
|
+
| `--app-secret <secret>` | 飞书应用 App Secret | `LARK_DOCX2MD_APP_SECRET` | — |
|
|
38
|
+
| `-o, --output <dir>` | 输出目录 | `LARK_DOCX2MD_OUTPUT` | `./larkDocx2mdOutput` |
|
|
39
|
+
| `--agent [mode]` | Agent 模式:日志 ERROR。不传值(或 `=true`)为在线模式,Markdown 输出到 stdout;传 `local` 则落盘后输出引导 AI 读取的提示词 | `LARK_DOCX2MD_AGENT=true\|local` | `false` |
|
|
40
|
+
| `--image-mode <mode>` | 图片处理模式:`local`(下载到本地)或 `online`(24h 临时链接) | `LARK_DOCX2MD_IMAGE_MODE` | `local` |
|
|
41
|
+
| `--wb-format <format>` | 画板输出格式:`base64`、`inline-svg`、`svg`、`yaml` | `LARK_DOCX2MD_WB_FORMAT` | `svg`(agent 下默认 `yaml`) |
|
|
42
|
+
| `--wb-bg <style>` | 画板 SVG 背景:`none`、`dot` 或颜色值如 `#fff` | `LARK_DOCX2MD_WB_BG` | `none` |
|
|
43
|
+
| `--wb-image-mode <mode>` | 画板图片模式:`online`、`base64` 或 `local` | `LARK_DOCX2MD_WB_IMAGE_MODE` | `local` |
|
|
44
|
+
|
|
45
|
+
> **参数联动规则**
|
|
46
|
+
>
|
|
47
|
+
> - `--agent`(在线):强制 `--image-mode=online`、`--wb-image-mode=online`;`--wb-format` 默认 `yaml`,仅允许 `inline-svg` / `yaml`;转换完成后 Markdown 直接通过 stdout 输出。
|
|
48
|
+
> - `--agent local`:强制 `--image-mode=local`、`--wb-image-mode=local`(Markdown、图片、画板中的图片均落盘);`--wb-format` 默认 `yaml`,仅允许 `inline-svg` / `yaml`;stdout 输出引导 AI 读取文件的提示词(包含绝对路径)。
|
|
49
|
+
> - 非 agent 模式下 `--wb-format yaml` 时:`--wb-image-mode` 强制为 `online`。
|
|
33
50
|
|
|
34
51
|
## 功能
|
|
35
52
|
|
|
36
53
|
- 支持飞书 Wiki 文档下载
|
|
37
54
|
- 转换 20+ 种块类型
|
|
38
55
|
- 输出标准 Markdown 文件
|
|
56
|
+
- 支持飞书画板,输出格式:`base64`(data URI 内嵌)、`inline-svg`(SVG 标签内嵌)、`svg`(独立文件)、`yaml`(AI
|
|
57
|
+
友好结构化数据)。详见 [画板支持说明](./WHITEBOARD.md)
|
|
58
|
+
- 支持飞书电子表格(独立 sheet URL 或 docx 内嵌 sheet 块),输出 GFM 表格,自动展开合并单元格。详见 [电子表格支持说明](./SHEET.md)
|
|
39
59
|
|
|
40
60
|
### 支持的内容块类型
|
|
41
61
|
|
|
@@ -56,6 +76,7 @@ npx -y lark-docx2md download <url>
|
|
|
56
76
|
| Table / TableCell | 表格 | `<table>` HTML(支持合并单元格) |
|
|
57
77
|
| QuoteContainer | 引用容器 | `> 子块内容` |
|
|
58
78
|
| Grid / GridColumn | 分栏布局 | 展平为子块内容 |
|
|
79
|
+
| Sheet | 电子表格 | GFM 表格(合并单元格自动展开) |
|
|
59
80
|
|
|
60
81
|
### 支持的行内样式
|
|
61
82
|
|
|
@@ -71,16 +92,16 @@ npx -y lark-docx2md download <url>
|
|
|
71
92
|
| @用户 | 用户 ID |
|
|
72
93
|
| @文档 | `[标题](url)` |
|
|
73
94
|
|
|
74
|
-
>
|
|
95
|
+
> 未支持的块类型(如文件附件、视频等)会被静默忽略。
|
|
75
96
|
|
|
76
97
|
## 开发
|
|
77
98
|
|
|
78
99
|
```bash
|
|
79
|
-
#
|
|
100
|
+
# 直接运行(无需构建),download 可使用别名 dl
|
|
80
101
|
pnpm dev download --app-id <APP_ID> --app-secret <APP_SECRET> <url>
|
|
81
102
|
|
|
82
103
|
# 或使用环境变量
|
|
83
|
-
LARK_DOCX2MD_APP_ID=<APP_ID> LARK_DOCX2MD_APP_SECRET=<APP_SECRET> pnpm dev
|
|
104
|
+
LARK_DOCX2MD_APP_ID=<APP_ID> LARK_DOCX2MD_APP_SECRET=<APP_SECRET> pnpm dev dl <url>
|
|
84
105
|
|
|
85
106
|
# 构建为 JS
|
|
86
107
|
pnpm build
|
|
@@ -94,14 +115,21 @@ pnpm build
|
|
|
94
115
|
{
|
|
95
116
|
"scopes": {
|
|
96
117
|
"tenant": [
|
|
118
|
+
"base:app:read",
|
|
119
|
+
"bitable:app",
|
|
120
|
+
"bitable:app:readonly",
|
|
121
|
+
"board:whiteboard:node:read",
|
|
122
|
+
"contact:user.employee_id:readonly",
|
|
97
123
|
"docs:document.media:download",
|
|
124
|
+
"docx:document",
|
|
98
125
|
"docx:document:readonly",
|
|
99
|
-
"wiki:node:read"
|
|
126
|
+
"wiki:node:read",
|
|
127
|
+
"wiki:wiki",
|
|
128
|
+
"wiki:wiki:readonly",
|
|
129
|
+
"sheets:spreadsheet.meta:read",
|
|
130
|
+
"sheets:spreadsheet:readonly"
|
|
100
131
|
],
|
|
101
|
-
"user": [
|
|
102
|
-
"docx:document:readonly",
|
|
103
|
-
"wiki:node:read"
|
|
104
|
-
]
|
|
132
|
+
"user": []
|
|
105
133
|
}
|
|
106
134
|
}
|
|
107
135
|
```
|
|
@@ -113,3 +141,8 @@ ISC
|
|
|
113
141
|
## 🙏 致谢
|
|
114
142
|
|
|
115
143
|
本项目开发过程中获得了 [LINUX DO](https://linux.do/latest) 社区佬友的帮助,本产品会在社区发布,感谢社区的支持。
|
|
144
|
+
|
|
145
|
+
## TODO
|
|
146
|
+
|
|
147
|
+
- [ ] 富文本转换
|
|
148
|
+
- [x] 电子表格导出为 Markdown
|