一键命令下载飞书文档为 Markdown

一、背景

现有博客实现方式主要是编写 Markdown 文档,然后基于 Hexo 的博客平台。但个人写作主要是基于飞书,如何将飞书文档发布到个人网站成了一个问题。

最先想到的方式是,在飞书编写后导出。但是,飞书只支持 Markdown 语法的编辑,却不支持导出为 Markdown 文件下载。

在网上搜索后,发现已经有开源作者实现了将飞书文档转换为 Markdown 文件的方法,这里就整理下自己安装部署的方法。

二、开源地址

开源项目名称:使用 Feishu2Md 工具

项目地址:https://github.com/Wsine/feishu2md

部署前置条件:有一台个人服务器,且部署安装好宝塔

三、飞书配置生成

feishu2md 需要使用飞书的 Open API 提取飞书文档,因此需要配置相应的 App ID 和 App Secret 进行 API 的调用。

创建应用

首先,进入飞书的 开发者后台 然后创建一个企业自建应用,信息可以任意填。

权限开通

打开权限管理,云文档,按下属文档情况,开通权限

  • 「查看、评论和导出文档」权限 docs:doc:readonly

  • 「查看 DocX 文档」权限 docx:document:readonly

  • 「查看、评论和下载云空间中所有文件」权限 drive:drive:readonly

  • 「查看和下载云空间中的文件」权限 drive:file:readonly

  • 「查看知识库」权限 wiki:wiki:readonly

获取配置文件

在创建的应用页面中,找到「凭证与基础信息」,找到 App ID 和 App Secret 信息。

三、部署安装

添加站点

新建 docker-compose

我们点击根目录下的地址进入根目录,新建文件 docker-compose.yaml,并修改配置文件。

1
2
3
4
5
6
7
8
9
10
11
# docker-compose.yml
version: '3'
services:
feishu2md:
image: wwwsine/feishu2md
environment:
FEISHU_APP_ID: <your id>
FEISHU_APP_SECRET: <your secret>
GIN_MODE: release
ports:
- "8080:8080"

注意:上面的 8080:8080,如果你服务器 8080 端口已经被占用,可以修改第一个 8080 改成别的,如 8083:8080

执行 docker

登录服务器,进入你的网站目录,并执行启动命令。

1
2
cd /www/wwwroot/feishu2md.baispace.cn
docker-compose up -d

网站设置

回到网站设置,设置 nginx 的反代。

注意:http://127.0.0.1 的地址端口号 8080,可以根据上面你自行设置的端口号而改变。

域名解析

前往你的域名提供商进行域名解析设置,解析到你的服务器 ip 下。

部署完成,打开网站

此时就部署完成,访问域名地址打开验证。

四、飞书文档导出

获取飞书链接并开通权限

按照此路径获取飞书文档链接,**分享 > 链接分享范围 > 互联网获得链接的人可阅读 > 复制链接 **。

通过 feishu2md 工具下载飞书文档