基于nuxt3的语雀文档批量导出

news2024/11/15 17:19:42

语雀文档批量导出

快速访问

Github

Blog

项目由来

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

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

过还好有 api , 那就来造一个批量导出吧

技术栈

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

Nuxt 3 + element-plus

功能

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

使用

登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BkbTWpjg-1681482279031)(docs/yuque-login.png)]

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

token获取

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fIGni6hT-1681482279031)(docs/yuque-token.png)]

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

导出

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zxpuZnmc-1681482279031)(docs/yuque-export.png)]

左侧对应语雀知识库列表

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

本地运行

安装依赖

# pnpm【推荐】
pnpm install

启动

server on http://localhost:5001

pnpm run dev

语雀Api

语雀Api

列:获取知识列表

https://www.yuque.com/api/v2/users/你的用户名/repos/

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之后即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YFQRkSHM-1681482279032)(docs/nuxt-error-not-found.jpg)]

docker打包

  • .output

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

  • .nuxt

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

运行时报错

docker容器运行成功

打开浏览器报错
在这里插入图片描述

  • 容器中报错

vue-router找不到

在这里插入图片描述

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

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


Thanks

Github

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

美国运营商PTCRB认证PTCRB认证怎么做PTCRB认证是什么?

大家好,今天我想和大家分享一下什么是PTCRB认证! PTCRB是指个人通信服务型号认证评估委员会,由北美移动运营商于1997年成立。目前的运营商已经不仅限于北美,而是涵括全球范围内的移动运营商成员。其目的是为包括Cellular GERAN&a…

Session使用和原理分析图与实现原理-- 代码演示说明 Session 的生命周期和读取的机制代码分析

目录 Web 开发会话技术 -Session —session 技术 session 基本原理 Session 可以做什么 如何理解 Session Session 的基本使用 session 底层实现机制 原理分析图 代码演示 CreateSession.java 测试 Session 创的机制, 注意抓包分析​编辑 ReadSession.j…

C盘文件删除怎么做?3个方法教你清理C盘!

案例:C盘文件怎么删除? 【我的电脑使用了一年多了,现在C盘已经快满了,想知道C盘里的文件哪些可以进行删除?感谢!】 C盘是计算机系统盘,存储了操作系统和应用程序等重要文件,因此&a…

机器视觉助力锂电行业升级转型—章鱼博士视控一体化解决方案

摘要: 机器视觉在工业领域中充当了模拟人眼的作用,通过其高效的感知能力、精确的检测准确性、可定制性和较低的人工成本等特点,已逐渐成为工业智能化转型的核心功能。在锂电池领域,机器视觉扮演着许多重要的角色,包括生…

使用Docker部署wikitten个人知识库

使用Docker部署wikitten个人知识库 一、wikitten介绍1.wikitten简介2.wikitten特点 二、本地实践环境介绍三、本地环境检查1.检查Docker服务状态2.检查Docker版本 四、部署wikitten个人知识库1.创建数据目录2.下载wikitten镜像3.创建wikitten容器4.查看wikitten容器状态5.检查w…

【unity实战】随机地下城生成4——小地图的制作(2d,3d通用)(含源码)

原理: 新建一个摄像机,用来查看小地图,我们分个图层只能新建的摄像机才可以拍摄到 如果对摄像机和渲染纹理还不理解的,强烈推荐先看完我的另一篇文章 【Unity游戏开发教程】零基础带你从小白到超神14——灯光、摄像机、天空盒、镜子的制作 新建一个摄像机,记得删除Audio …

关于使用el-input-number设置不让删除为空,让强制为最小值1,以及从1删除,但是发现输入框还是没有最小值的问题

哈喽,大家好啊,最近用到了element的el-input-number 计数器 但是有个问题一直困扰我,就是我发现竟然可以删除输入的值,也不会强制改成最小值 但是因为业务这里不允许数量为空的情况,所以我找了很久,终于实…

JavaSE学习进阶day07_01 Stream流

第二章 Stream流 在Java 8中,得益于Lambda所带来的函数式编程,引入了一个全新的Stream概念,用于解决已有集合类库既有的弊端。 2.1 引言 传统集合的多步遍历代码 几乎所有的集合(如Collection接口或Map接口等)都支…

SpringBoot学习

什么是springBoot 使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。简而言之,Spring Boot通过提供默认配置的方式整合了所有的框架,让我们可以更加简单、快速、方便地构建应用程序。 并不是对spring的功能增强&#xf…

基于AT89C52单片机的温湿度检测设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87704704 源码获取 主要内容: 设计一套基于51单片机的温湿度Protus仿真监控系统,采用SHT11、DHT11或DS189B20等传感器模块,用LC…

【分享】集简云 x 微步在线丨零代码连接钉钉宜搭与用友U8,让企业数字化升级更轻松

微步在线 • 介绍 微步成立于2015年,是数字时代网络安全技术创新型企业,专注于精准、高效、智能的网络威胁发现和响应,开创并引领中国威胁情报行业的发展,提供“云流量端点”全方位威胁发现和响应产品及服务,帮助客户…

第八章 网络安全基础

网络安全概述 基本概念 网络安全通信的基本属性: 机密性;只有发送方与预定接收方能够理解报文内容消息完整性;发送方和接收方希望确保信息未被篡改,或发生篡改一定会被检测到可访问性与可用性;可访问与可用性是网络信…

mybatis02-核心配置文件、返回主键值、SQL片段、事务处理、动态SQL

Mybatis02 一、mybatis核心配置文件 在主配置config.xml中,定义了很多标签&#xff0c;现在只是使用了一部分标签&#xff0c;主配置文件中可以出现的标签 用dtd文 件进行约束。 1、标签的配置规范&#xff0c;查看dtd规范文件 <?xml version"1.0" encoding&…

centos7.6部署ELK集群(二)之kibana7.7.0集群部署

32.4. 部署kibana7.7.0&#xff08;在主节点上操作&#xff09; 32.3.13. 下载kibana curl -L -O https://artifacts.elastic.co/downloads/kibana/kibana-7.7.0-linux-x86_64.tar.gz 32.3.14. 解压至安装目录 tar –xvf kibana-7.7.0-linux-x86_64.tar.gz -C /vmdata/ 32.…

【极简】windows下,vuejs打包,用Nginx部署http服务

做法 如果你熟悉vue&#xff0c;一般要“运行”会在目录用npm run dev&#xff0c;但是npm run dev 命令只用做本地调试&#xff0c;共开发者预览页面。 同部署到服务器供其他终端访问是不同的&#xff0c;如果要提供给其他浏览器或终端使用&#xff0c;则需要部署到具体的服…

算法记录 | Day34 贪心算法

1005.K次取反后最大化的数组和 class Solution:def largestSumAfterKNegations(self, A: List[int], K: int) -> int:A sorted(A, keyabs, reverseTrue) # 将A按绝对值从大到小排列for i in range(len(A)):if K > 0 and A[i] < 0:A[i] * -1K - 1if K > 0:A[-1] *…

FPGA双口RAM使用

模块名称&#xff1a; dpram() IP Core 双口RAM&#xff0c;有俩组数据线和地址线&#xff0c;读写可以同时进行&#xff0c;FIFO读写可以同时进行&#xff0c;可以看作是双口。分为Simple two-dual RAM和true two-dual RAM。简单双口RAM&#xff0c;一个端口只读&#xff0c;…

new、delete和malloc、free

C内存 图片来源阿秀的学习笔记 栈&#xff1a;函数内局部变量可以存储在栈区&#xff0c;函数执行结束自动释放。栈区内区分配运算内置于处理器指令集中堆&#xff1a;new分配的内存块&#xff0c;由应用程序控制自由存储区&#xff1a;和堆比较像&#xff0c;但是不等价全局…

406. 根据身高重建队列

假设有打乱顺序的一群人站成一个队列&#xff0c;数组 people 表示队列中一些人的属性&#xff08;不一定按顺序&#xff09;。每个 people[i] [hi, ki] 表示第 i 个人的身高为 hi &#xff0c;前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 peopl…

生成与指定数组具有相同形状的全1数组np.ones_like()方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 生成与指定数组A形状相同的全1数组 np.ones_like() 选择题 关于以下代码说法错误的一项是? import numpy as np a np.array([[0,1],[2,3]]) print("【显示】a\n",a) print(&qu…