23号,羽雀出现故障不能访问,晚上22点逐渐恢复,官方通报如下:

如果你把语雀当博客来用,那么有必要来将数据本地化一份了,批量导出

那么,他来了:语雀批量导出

刚好这次补偿了半年VIP,可以用来获取token

项目由来

语雀是一个不错的笔记与文档知识库,但是最近发现他开始割韭菜了,要vip了,

知识库的公开开始收费,就想着把内容都导出自己来部署,发现并没有批量操作,amazing,

不过还好有 api , 那就来实现一个

技术栈

由于CORS,这里选了nuxt3,UI库使用 element-plus

Nuxt 3 + element-plus

功能

  • 1、知识库目录导出json
  • 2、知识库按文档结构导出所有文档【zip压缩包】
  • 3、文档图片静态资源提取

使用

登录

语雀可以直接放Java文件 语雀怎么导出_docker

你需要去获取语雀文档的 token ,在登录页面填入,完成登录即可使用

token获取

语雀可以直接放Java文件 语雀怎么导出_docker_02

勾选读权限即可,你的token只存储在浏览器storage当中

导出

语雀可以直接放Java文件 语雀怎么导出_语雀文档导出_03

左侧对应语雀知识库列表

右侧对应选中的知识库文档树形结构

本地运行

安装依赖

# pnpm【推荐】
pnpm install

启动

server on http://localhost:5001

pnpm run dev

语雀Api

列:获取知识列表

nuxt3踩坑

docker配置

  • 环境变量
ENV NODE_ENV=production
ENV HOST 0.0.0.0

需要放置在install之后,因为nuxt在npm install时会进入postinstall,

执行nuxt prepare,此时如果NODE_ENV=production,此时nuxt大概率会去.nuxt找,这个时候并未生成,从而报错nuxt: not found

放在build之前, install之后即可

语雀可以直接放Java文件 语雀怎么导出_git_04

docker打包

  • .output

.output不能添加在.gitgnore和.dockergnore中, 否则docker中不会打包,运行会出错,.output

  • .nuxt

.nuxt也不能添加在.gitgnore,否则docker打包会找不到路由等模块,只有NuxtWelcome组件

运行时报错

docker容器运行成功

打开浏览器直接 500

进入容器发现

vue-router找不到

语雀可以直接放Java文件 语雀怎么导出_语雀文档导出_05

尝试了下,在Dockerfile中安装的node_modules不做删除,他就好了

最终完整的Dockerfile配置可参考项目