https://github.com/atian25/yuque-exporter
export yuque to local markdown
https://github.com/atian25/yuque-exporter
Last synced: about 1 month ago
JSON representation
export yuque to local markdown
- Host: GitHub
- URL: https://github.com/atian25/yuque-exporter
- Owner: atian25
- License: mit
- Created: 2022-10-28T14:46:28.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-05-10T12:23:48.000Z (12 months ago)
- Last Synced: 2025-03-29T12:08:37.968Z (about 1 month ago)
- Language: TypeScript
- Size: 31.3 KB
- Stars: 322
- Watchers: 2
- Forks: 36
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - atian25/yuque-exporter - 05 star:0.3k fork:0.0k export yuque to local markdown (TypeScript)
README
# yuque-exporter
用于批量导出语雀文档。
## 为什么?
语雀的定位改变为`创作工具`,而不在是`内容社区`,相应的新的付费策略,也会造成了免费用户无法继续用语雀作为自己的个人博客。(相关讨论[传送门](https://www.zhihu.com/question/562238887))
因此我们需要有一个把创作完的文档发布到其他平台的工具,故抽空写了该项目,可以方便的把语雀的内容批量导出为本地 Markdown,从而可以进一步发布到 GitHub 等平台。
> 本项目开发过程中,也收到了语雀同学的不少指导和建议。
## 如何使用
需提前申请语雀 TOKEN,请参考[文档](https://www.yuque.com/yuque/developer/api#785a3731)。
```bash
$ npx yuque-exporter --token=
```更详细的命令行说明参见:[Help](./src/bin/help.md)
## 技术内幕
`调用语雀 API -> 存储所有元数据 -> 根据 TOC 构建本地目录 -> 文件内容处理(下载图片、替换链接等)`
https://www.yuque.com/yuque/developer/api
```bash
$ npm i$ YUQUE_TOKEN= npm start
$ ls output
```## TODO List
- 命令行工具
- [x] 提供命令行支持
- 目录结构
- [x] ~~文件名用 slug 还是中文名?~~ 因为目录是中文的,先用全中文,回头提供配置
- [ ] 文件名存在非法字符的特殊处理
- [x] ~~草稿文件写入到 draft 目录~~ 草稿直接在根目录,方便相对链接
- [x] 优化 TOC 的处理
- [ ] 如何排序?
- 正文的处理
- [x] 支持 frontmatter
- [x] 下载图片、画板
- [ ] ~~下载附件~~ 需要登录才能下载,暂时无法支持
- [x] 替换文档链接为相对链接
- [x] 替换多余的 HTML 标签,如 `
`
- 增强特性
- [ ] 支持多账号和团队文档的下载
- [ ] 对 obsidian 的更多支持
- 其他
- [ ] API 调用受限时提示用户(目前 5000 次/小时)
- [ ] 单元测试