当前位置: 首页 > news >正文

Nodejs 16与 gitbook搭建属于你自己的书本网站-第一篇

最近想重新搭建一个网站来存放自己的相关知识点,并向网络公开,有个hexo博客其实也不错的,但是总感觉hexo很多花里胡哨的玩意,导致挂载的博客异常卡,这样反而不利于我自己回顾博客了,于是我就开始钻研这个鬼东西了,从安装到搭建也费力我一段时间,主要是不知道版本依赖,导致失败次数比较多,属于踩坑了。
废话不多说了,开始走起。

安装nodejs

这个不多说了,网上找资源一找一大片,学习Vue的脚手架的时候,这个玩意估计大家都玩过了,安装的时候一直next就行了。
在这里插入图片描述
这个是代表安装成功了,我的版本是V16左右,建议,你也选择16左右的,不然自己一个一个找版本,很烦人的。

安装gitbook

1.通过指令安装

我们在安装nodejs之后,打开控制台,输入(这个是最新版的)

npm install gitbook-cli -g

安装指定版本的

npm install gitbook-cli@2.1.2

安装gitbook

2.检查是否安装成功

gitbook -V

注意这一步主要是为了查看我们是否安装gitbook的依赖版本。
在这里插入图片描述

3.查看可以安装的版本

查看可以安装的版本

gitbook ls-remote

在这里插入图片描述

4.安装指定版本

注意我的是nodejs 16 安装的版本是 3.2.2,3.2.3这两个版本最佳,注意这一步安装很慢很慢,需要等待很久,我至少半个小时以上。
安装指定版本

gitbook fetch 3.2.3

日志如下:

$ gitbook fetch 3.2.3
Installing GitBook 3.2.3
gitbook@3.2.3 C:\Users\29283\AppData\Local\Temp\tmp-4331226wiW7x357C7\node_modules\gitbook
├── escape-string-regexp@1.0.5
├── escape-html@1.0.3
├── destroy@1.0.4
├── ignore@3.1.2
├── bash-color@0.0.4
├── gitbook-plugin-livereload@0.0.1
├── cp@0.2.0
├── nunjucks-do@1.0.0
├── graceful-fs@4.1.4
├── github-slugid@1.0.1
├── q@1.4.1
├── spawn-cmd@0.0.2
├── gitbook-plugin-fontsettings@2.0.0
├── is@3.3.0
├── open@0.0.5
├── direction@0.1.5
├── object-path@0.9.2
├── extend@3.0.2
├── json-schema-defaults@0.1.1
├── gitbook-plugin-search@2.2.1
├── jsonschema@1.1.0
├── crc@3.4.0
├── urijs@1.18.0
├── semver@5.1.0
├── immutable@3.8.2
├── front-matter@2.3.0
├── npmi@2.0.1 (semver@4.3.6)
├── resolve@1.1.7
├── gitbook-plugin-theme-default@1.0.7
├── moment@2.13.0
├── gitbook-plugin-sharing@1.0.2 (lodash@3.10.1)
├── i18n-t@1.0.1 (lodash@4.17.21)
├── npm@3.9.2
├── dom-serializer@0.1.0 (domelementtype@1.1.3, entities@1.1.2)
├── omit-keys@0.1.0 (isobject@0.2.0, array-difference@0.0.1)
├── error@7.0.2 (xtend@4.0.2, string-template@0.2.1)
├── tmp@0.0.28 (os-tmpdir@1.0.2)
├── mkdirp@0.5.1 (minimist@0.0.8)
├── gitbook-plugin-lunr@1.2.0 (html-entities@1.2.0, lunr@0.5.12)
├── gitbook-plugin-highlight@2.0.2 (highlight.js@9.2.0)
├── gitbook-markdown@1.3.2 (kramed-text-renderer@0.2.1, gitbook-html@1.3.3, kramed@0.5.6, lodash@4.17.21)
├── send@0.13.2 (range-parser@1.0.3, fresh@0.3.0, statuses@1.2.1, etag@1.7.0, ms@0.7.1, depd@1.1.2, debug@2.2.0, mime@1.3.4, http-errors@1.3.1, on-finished@2.3.0)
├── gitbook-asciidoc@1.2.2 (gitbook-html@1.3.3, lodash@4.17.21, asciidoctor.js@1.5.5-1)
├── js-yaml@3.14.1 (esprima@4.0.1, argparse@1.0.10)
├── rmdir@1.2.0 (node.flow@1.2.3)
├── fresh-require@1.0.3 (is-require@0.0.1, shallow-copy@0.0.1, astw@1.3.0, acorn@0.9.0, sleuth@0.1.1, through2@0.6.5, escodegen@1.14.3)
├── cheerio@0.20.0 (entities@1.1.2, lodash@4.17.21, htmlparser2@3.8.3, css-select@1.2.0, jsdom@7.2.2)
├── tiny-lr@0.2.1 (parseurl@1.3.3, livereload-js@2.4.0, qs@5.1.0, debug@2.2.0, faye-websocket@0.10.0, body-parser@1.14.2)
├── cpr@1.1.1 (rimraf@2.4.5)
├── request@2.72.0 (aws-sign2@0.6.0, tunnel-agent@0.4.3, forever-agent@0.6.1, oauth-sign@0.8.2, is-typedarray@1.0.0, caseless@0.11.0, stringstream@0.0.6, aws4@1.12.0, isstream@0.1.2, json-stringify-safe@5.0.1, tough-cookie@2.2.2, qs@6.1.2, node-uuid@1.4.8, combined-stream@1.0.8, mime-types@2.1.35, hawk@3.1.3, form-data@1.0.1, bl@1.1.2, http-signature@1.1.1, har-validator@2.0.6)
├── read-installed@4.0.3 (debuglog@1.0.1, util-extend@1.0.3, slide@1.1.6, readdir-scoped-modules@1.1.0, read-package-json@2.1.2)
├── juice@2.0.0 (deep-extend@0.4.2, slick@1.12.2, batch@0.5.3, cssom@0.3.1, commander@2.9.0, cross-spawn-async@2.2.5, web-resource-inliner@2.0.0)
├── chokidar@1.5.0 (path-is-absolute@1.0.1, async-each@1.0.6, inherits@2.0.4, glob-parent@2.0.0, is-glob@2.0.1, is-binary-path@1.0.1, anymatch@1.3.2, readdirp@2.2.1)
└── nunjucks@2.5.2 (asap@2.0.6, yargs@3.32.0, chokidar@1.7.0)

5.查看安装的gitbook版本

gitbook ls

日志如下:

$ gitbook ls
GitBook Versions Installed:* 3.2.3
Run "gitbook update" to update to the latest version.

6.初始化文件,注意这一步有个大坑,很大的坑

gitbook init

不出意外你会碰到一个这样的错误。跟着我来,咱们解决这个问题。

$ gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.mdTypeError [ERR_INVALID_ARG_TYPE]: The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of Promise

这个问题需要我们修改js文件,也就是C:\Users\29283\.gitbook\versions\3.2.3\lib下的init.js文件.

替换的代码:

return summary.toText(extension).then(stx=>{return fs.writeFile(filePath, stx);})

在这里插入图片描述
OK,我们再次执行相关代码;

gitbook init

如下,代表成功了,可以开始写文档了。

$ gitbook init
warn: no summary file in this book
info: create SUMMARY.md
info: initialization is finished

相关文章:

Nodejs 16与 gitbook搭建属于你自己的书本网站-第一篇

最近想重新搭建一个网站来存放自己的相关知识点,并向网络公开,有个hexo博客其实也不错的,但是总感觉hexo很多花里胡哨的玩意,导致挂载的博客异常卡,这样反而不利于我自己回顾博客了,于是我就开始钻研这个鬼…...

服务器被CC攻击之后怎么办?

1.取消域名绑定取消域名绑定后Web服务器的CPU能够马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻…...

pygame通过重心坐标 用纹理填充三角形

texture_x int(alpha * texture_image.get_width()) texture_y int(beta * texture_image.get_height())为什么没有gama 2024/3/30 15:45:52 在使用重心坐标进行纹理映射时,通常是通过计算 alpha 和 beta 来确定纹理图片上的对应位置,而 gamma 通常是…...

Leetcode 611. 有效三角形的个数

给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2) 2,3,4 (使用第二个 2) 2,2,3 示例 2: 输入: nums [4,2,3,4] 输出: 4 提示: 1 < nums.len…...

Openfeign

Openfeign 相关扩展 在 2020 以前的 SpringCloud 采用 Ribbon 作为负载均衡&#xff0c;但是 2020 年之后&#xff0c;SpringCloud 吧 Ribbon 移除了&#xff0c;而是使用自己编写的 LoadBalancer 替代. 因此&#xff0c;如果在没有加入 LoadBalancer 依赖的情况下&#xff0c…...

五、基于KubeAdm搭建多节点K8S集群

如需查阅上一步骤,请点击下面链接:四、戴尔R630本地服务器Linux Centos7.9系统安装docker-ce-20.10.10-3.el7版本-CSDN博客文章浏览阅读727次,点赞12次,收藏13次。1、准备工作3、Linux Centos7.9系统的iDRAC远程管理、网络设置、SecureCRT远程登录终端、企业级静态ip地址配…...

PC电脑技巧[笔记本通过网线访问设备CMW500]

笔记本局域网访问设备 现在我有一台CMW500,我要用笔记本去访问它,但是我发现没有路由器就是不能够访问,通过网线连接设备就是ping不通: 这里设置TCP/IPv4的IP地址如下,这时候就可以pin通了:...

【接口自动化测试框架】YAML管理接口框架配置的最佳实践

管理接口框架配置是构建强大的接口测试框架的关键一环。良好的配置管理可以提高测试效率、可维护性和可扩展性。在本文中&#xff0c;我们将重点介绍使用YAML&#xff08;YAML Ain’t Markup Language&#xff09;来管理接口框架配置的最佳实践&#xff0c;并通过实例演示其用法…...

【进程OI】基本文件操作的系统调用

文章目录 前言open参数flags参数mode writereadclose 前言 当用户想要向磁盘中的文件读写数据&#xff0c;就必须要得到操作系统的允许。同样&#xff0c;操作系统为了能让用户去对文件进行打开、读写、关闭等操作&#xff0c;向上提供了相应的系统调用的接口。C、JAVA、C等语…...

Ubuntu20.04 server系统部署安装(VMware上)和初始化配置

Ubuntu20.04 server部署安装&#xff08;VMware上&#xff09;和初始化配置 一、Ubuntu20.04 server系统部署安装上下键控制上下&#xff0c;可以选择配置的目标&#xff0c;回车表示确定&#xff0c;并进行下一步1.1镜像下载2.1 VMware上创建虚拟机2.2 选择语言&#xff0c;键…...

图论最短路径以及floyd算法的MATLAB实现

图论是数学的一个分支&#xff0c;起源于18世纪。1736年&#xff0c;数学家欧拉通过解决“哥尼斯堡七桥问题”&#xff0c;将问题抽象成点和线的关系&#xff0c;并通过理论分析得出结论&#xff0c;这个过程标志着图论的产生&#xff0c;欧拉也因此被称为“图论之父”。图论研…...

微信小程序 - 登录功能实现

一、认证流程 1. 小程序调用wx.login获取登录认证需要的code&#xff0c;并请求开发者服务器。 2. 开发者服务器根据code&#xff0c;appid, appsecret请求微信接口t获取 openid与session_key &#xff0c;并生成自己的认证token&#xff0c;并返回给小程序。 3.小程序请求开…...

Python连接MySQL

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、整体思路二、连接流程三、表结构及代码实现 一、整体思路 二、连接流程 三、表结构及代码实现 代码块如下&#xff1a; import pymysqlcon pymysql.connect(h…...

水泊梁山108小酒坛之呼保义宋江

宋江【绰号呼保义、及时雨】字公明&#xff0c;是古典名著《水浒传》中的角色。原为山东郓城县押司&#xff0c;他和晁盖互通往来的事被阎婆惜发现&#xff0c;因此怒杀阎婆惜&#xff0c;逃回家隐藏。后前往清风寨投靠花荣&#xff0c;却被清风寨观灯时遭知寨刘高之妻陷害入狱…...

java.lang.ClassNotFoundException: javafx.application.Application

java8&#xff08;jdk1.8&#xff09;到java10&#xff08;jdk10&#xff09;中内含有JavaFx 在java11&#xff08;jdk11&#xff09;以及以后的版本中剥离出来需要开发者独立下载&#xff0c;另行导入download https://gluonhq.com/products/javafx/java --module-path $FX-P…...

腾讯 tendis 替代 redis linux安装使用

下载地址 Tendis存储版 点击下载 linux 解压 tar -zxvf 安装包.tgz cd 解压安装包/scripts 启动 ./start.sh 停止 ./stop.sh 详细配置 修改 /scripts tendisplus.conf # tendisplus configuration for testing # 绑定本机IIP bind 192.168.31.112 port 51002 #设…...

k8s调优--来自gpt

Kubernetes&#xff08;K8s&#xff09;性能调优是一个涉及多个方面的过程&#xff0c;旨在提高集群的效率和响应速度。这包括对节点、Pod、服务、网络和存储等多个层面进行调优。下面我将概述一些常见的Kubernetes性能调优方法&#xff1a; 节点级别的调优: 1.资源分配&…...

HTML5+CSS3小实例:旋转中的视差效果

实例:旋转中的视差效果 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scal…...

3-zookeeper之ZAB协议

Zookeeper ZAB协议 概述 ZAB(Zookeeper Automic Broadcast)是一套专门为Zookeeper设计的用于进行原子广播和崩溃恢复的协议ZAB协议主要包含了两个功能 原子广播&#xff1a;保证数据一致性崩溃恢复&#xff1a;保证集群的高可用 ZAB协议本身是基于2PC算法来进行的设计&#…...

如何为企业策划一场XR虚拟直播?

活动年年办&#xff0c;都是老一套&#xff0c;想玩点新花样&#xff1f; 预算有限&#xff0c;但还是想把活动办的逼格高一点&#xff1f; 想通过活动&#xff0c;让更多的人知道自己企业的品牌&#xff1f; 随着AIGC技术的不断演变&#xff0c;企业活动的形式和内容也在不…...

6.3物联网RK3399项目开发实录-驱动开发之I2C 使用(wulianjishu666)

物联网开发源码案例集&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1kfPDpYZpm_G0GBLAup3KTQ?pwdvgvv I2C 使用 简介 AIO-3399J 开发板上有 9 个片上 I2C 控制器&#xff0c;各个 I2C 的使用情况如下表&#xff1a; 本文主要描述如何在该开发板上配置 I2C。 配置…...

HarmonyOS实战开发-如何构建多种样式弹窗

介绍 本篇Codelab将介绍如何使用弹窗功能&#xff0c;实现四种类型弹窗。分别是&#xff1a;警告弹窗、自定义弹窗、日期滑动选择器弹窗、文本滑动选择器弹窗。需要完成以下功能&#xff1a; 点击左上角返回按钮展示警告弹窗。点击出生日期展示日期滑动选择器弹窗。点击性别展…...

《Effective C++》《构造/析构/赋值运算——7、为多态基类声明virtual析构函数》

文章目录 1、term7:Declare destructors virtual in polymorphic base classes2、总结3、相关面试题3.1 析构函数在什么情况下声明为虚函数 4、参考 1、term7:Declare destructors virtual in polymorphic base classes 带有多态性质的基类应该声明一个virtual析构函数&#x…...

Type-C一分二快充线智能分配方案

随着移动设备的普及和快充技术的迅猛发展&#xff0c;Type-C接口已成为众多手机、平板和笔记本电脑的标配。然而&#xff0c;在日常使用中&#xff0c;我们经常会遇到需要同时为多个设备充电的情况。这时&#xff0c;Type-C一分二快充线就显得尤为重要。为了更好地满足用户的充…...

利用python脚本,根据词条爬取百度图片(爬虫)

把广角&#xff0c;换成你的关键词就行 # -*- coding: utf-8 -*- """ Created on Wed Mar 29 10:17:50 2023 author: MatpyMaster """ import requests import os import redef get_images_from_baidu(keyword, page_num, save_dir):header {Us…...

java复原IP 地址(力扣Leetcode93)

复原IP 地址 力扣原题链接 问题描述 有效 IP 地址正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 ‘.’ 分隔。 例如&#xff1a;“0.1.2.201” 和 “192.168.1.1” 是有效 IP 地址&#xff0c…...

k8s的创建资源的流程图

背景 在k8s中创建资源需要经过几个流程的协作&#xff0c;包括认证模块&#xff0c;授权模块和资源管理模块的共同处理的结果 k8s的创建资源的流程图 第一步认证模块&#xff1a; k8s需要确保操作的客户端是合法的用户&#xff0c;并且不是仿冒的&#xff0c;也就是判断这个u…...

Android RecyclerView 滑动后选中的条目居中显示

话不多说先看效果: 实录效果视频如下 滚动居中 RecyclerView 在原有的RecyclerView 基础上操作&#xff0c;其他步骤不变&#xff0c;只是替换一下 manager 步骤 导入依赖 maven { url https://www.jitpack.io }//无限滚动implementation com.github.ZhaoChanghu:GalleryLayou…...

RPA-财务对账邮件应用自动化(客户对账机器人)

《财务对账邮件应用自动化》&#xff0c;将会使用邮箱的SMTP服务&#xff0c;小北把资源包绑定在这篇博客了 Uibot (RPA设计软件)———机器人的小项目友友们可以参考小北的课前材料五博客~ (本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff09; …...

Delphi模式编程

文章目录 Delphi模式编程涉及以下几个关键方面&#xff1a;**设计模式的应用****Delphi特性的利用****实际开发中的实践** Delphi模式编程的实例 Delphi模式编程是指在使用Delphi这一集成开发环境&#xff08;IDE&#xff09;和Object Pascal语言进行软件开发时&#xff0c;采用…...

商丘做网站用什么程序比较好/百度品牌专区怎么收费

http://www.ruanyifeng.com/blog/2009/07/xpath_path_expressions.html 简单说&#xff0c;xpath就是选择XML文件中节点的方法。 所谓节点&#xff08;node&#xff09;&#xff0c;就是XML文件的最小构成单位&#xff0c;一共分成7种。 - element&#xff08;元素节点&#xf…...

wordpress主题安装ftp/江苏seo平台

文章目录1、文件结构速览2、创建appcam2.py&#xff1b;3、创建index.html&#xff1a;4、创建camera.html&#xff1a;5、创建style.css&#xff1a;6、启动服务7、验证上一节我们用flask创建了一个视频流媒体服务器&#xff0c;这一节让我们用Flask创建另一个python 网络服务…...

网站信息向上滚动标签/网页推广怎么做

本文讲解了了AIDL的使用以及Binder通信机制在JAVA层的理解&#xff0c;native层的Binder架构以及binder驱动原理见后续文章的分析。 Binder通信机制&#xff1a;是Android中使用最广泛的进程间通信&#xff08;Inter-Process Communication, IPC&#xff09;机制&#xff0c;是…...

企业搭建网站的必要性/广州seo优化推广

安静的早餐Scala学习手册(Learning Scala)第二章1、值与变量定义2、命名3、数据类型及其转换(toType)4、字符串和内插5、元组1、值与变量定义值的定义值&#xff0c;即为常量&#xff0c;不可变&#xff0c;基本语法定义&#xff1a;val : ​创建一个名为a&#xff0c;类型为I…...

网站建设用户调查问卷/杭州seo中心

题型: 编程题 语言: G;GCC Description “丑数”是指除了质因子2,3&#xff0c;5&#xff0c;不含其它质因子的正整数&#xff0c;例如由小到大前10个“丑数”为 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, ... 非“丑数”的前10个数为 7, 11, 13, 14, 17, 19, 21, 22, 23, 26, ... 现…...

网站后台做图片尺寸是多大/抖音代运营公司

一、HTTP服务器的基本知识 1、Node如何向开发者呈现HTTP请求 Node中的http模块提供了HTTP服务器和客户端接口&#xff1a; var http require(http); 创建HTTP服务器要调用http.createServer()函数。它只有一个函数&#xff0c;是个回调函数&#xff0c;服务器每次收到HTTP请求…...