FeishuPages-教你将飞书知识库导出为公开的帮助中心文档

FeishuPages-教你将飞书知识库导出为公开的帮助中心文档

开发者广场内容精选NaN-NaN-NaN
解决方案
作者:huacnlee
推荐理由
Feishu Pages 可以帮你导出飞书知识库,并按相同目录结构生成 Static Page Generator 支持 Markdown 文件组织方式,用于发布为静态网站。
slug: gettting-started
250px|700px|reset
导出飞书知识库,并按相同目录结构生成Static Page Generator支持 Markdown 文件组织方式,用于发布为静态网站。
借用飞书文档较好的撰写能力,让不懂 Markdown 和 Git 的非技术人员可以轻松撰写文档,并也最终以静态页面生成的方式来部署文档。这样我们依然可以继续保持 CI 流程和 GitHub PR 的方式来 Review 文档变更。
可以访问此文档的原始飞书知识库对比看一下。
🍏GitHub项目地址:点击此处
整体流程
特征
  • feishu-docx- 支持将飞书新版文档Docx转换为Markdown或其他格式(目前只支持 Markdown)
  • 支持绝大部分常用的文档格式,以及完整的目录结构导出,详见:支持的内容格式
  • URL 路径自定义
  • 图片、附件下载
  • 国际化支持
  • 与 GitHub Actions 结合
  • 生成支持Docusaurus支持的 MDX 格式的 Meta 信息,以实现目录结构组织(基于sidebar_position
准备
📌在开始使用之前,必须先完成飞书开放平台的配置工作,获得一些必要的信息,和配置必要的权限,请认真阅读完此页再继续。
创建飞书应用并开通权限
  1. 请访问开发者后台创建一个新应用,并获得:
  1. App ID- 飞书应用编号
  1. App Secret- 请注意保管 App Secret,不要泄露到互联网。
  1. 为应用开启机器人应用能力。
  1. 为应用开启docx:document:readonlywiki:wiki:readonly权限。
  1. 将应用发布正式版本,并确保审批通过。
  1. 在飞书 IM 中创建新群Feishu Pages,将应用添加为该群机器人,知识库管理员在「知识空间设置」-> 「权限设置」->「添加管理员」中添加,把这个Feishu Pages群加成管理员
  1. 否则会遇到permission denied: wiki space permission denied错误。ref
飞书权限
你的飞书应用需要开通下面几个权限,工具通过飞书 API 访问必须要这几项。
  • docx:document:readonly
  • wiki:wiki:readonly
  • drive:drive:readonly
获取飞书知识库space_id
我们需要配置FEISHU_SPACE_ID的环境变量,这个为飞书知识库的space_id,你可以访问知识库设置界面,从 URL 中获取。
例如:https://your-company.feishu.cn/wiki/settings/6992046856314306562这里面6992046856314306562space_id
环境变量配置
Feishu Pages 支持.env文件,如果执行的根目录有个.env文件,将会自动读取。
请参考.env.default配置环境变量。
如需在 GitHub Actions 的 CI 流程里面使用,建议添加到 Secrets 中,再通过环境变量的方式获取。
安装
Feishu Pages 可以以 Npm 的方式引入到 Static Page Generator 的项目中。
例如我们有一个Docusaurus的静态页面网站项目。
cd your-project/yarn add feishu-pagessss
然后你就可以执行yarn feishu-pages来生成页面了。
配置
我们可以通过环境变量(ENV)来配置 feishu-pages 需要的必要参数,这样你可以轻易在 GitHub Actions 之类的流程中使用 feishu-pages。
如果你想简单一些,也可以用.env文件来配置环境变量,注意避免FEISHU_APP_SECRET泄露到互联网。
Name
Description
Required
Default
FEISHU_APP_ID
飞书应用 ID
YES
FEISHU_APP_SECRET
飞书应用 Secret
YES
FEISHU_SPACE_ID
飞书知识库 ID
YES
ASSET_BASE_URL
资源文件(图片、附件)的 Base URL,通过这个配置配置 img src 的 URL 前缀
/assets
OUTPUT_DIR
输出目录
./dist
使用
从知识库导出Markdown文档
当你撰写完成文档以后,可以通过yarn feishu-pages命令来实现导出,这个命令作用是通过飞书 API 访问你FEISHU_SPACE_ID对应的知识库,并依次将所有文档导出,并转换为 Markdown 文件。
cd your-project/yarn feishu-pagessss
按上面默认的配置,最终会在./dist目录下生成 Markdown 文件以及导出的图片文件,如果你期望调整目录,可以自己设置OUTPUT_DIR环境变量。
💡文档内Page Mata标识为hide: true的文档将会被排除掉,你可以用来隐藏一些不想公开的文档。
所有的 Markdown 导出的文件名将遵循知识库的目录树,并按照 Page Meta 里面的slug来整理文件夹和文件名。
常见问题
Rate Limit 相关错误
Error: request trigger frequency limit
飞书 API 有总每分钟 100 次请求的总频率限制,这个项目实现的时候为每个请求之前做了 300ms 的延迟,以避免超过这个频率。如有遇到此类问题,请提交 Issue。
先进生产力和业务协同平台
联系我们立即试用
更多人气推荐
查看更多

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
反馈给飞书 CEO:ceo@feishu.cn