【小沐学前端】GitBook制作在线电子书、技术文档(gitbook + Markdown + node)

news2024/9/28 1:27:11

文章目录

  • 1、简介
    • 1.1 工具简介
    • 1.2 使用费用
  • 2、安装
    • 2.1 安装node
    • 2.2 安装gitbook
  • 3、测试
    • 3.1 编辑文档
    • 3.2 编译工程
    • 3.3 预览工程
  • 结语

1、简介

官网地址:

https://www.gitbook.com/

在这里插入图片描述
在这里插入图片描述

1.1 工具简介

  • 什么是 GitBook?
    GitBook 是一个现代文档平台,团队可以在其中记录从产品到内部知识库和 API 的所有内容。通过创建一个简单而强大的平台供团队分享知识,从而帮助团队更高效地工作。制作一个用户友好的协作产品,让每个人都可以通过文档创建、编辑和共享知识。

在这里插入图片描述

1.2 使用费用

在这里插入图片描述

2、安装

在这里插入图片描述

2.1 安装node

Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。

  • 官网地址:
https://nodejs.org/zh-cn
https://nodejs.cn/

在这里插入图片描述

  • 安装后如下:
    在这里插入图片描述

  • 通过如下命令测试node是否安装成功。

node -v
npm -v

Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它是几乎任何类型项目的流行工具!

Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 Node.js 非常高效。

Node.js 应用在单个进程中运行,无需为每个请求创建新线程。 Node.js 在其标准库中提供了一组异步 I/O 原语,以防止 JavaScript 代码阻塞,并且通常,Node.js 中的库是使用非阻塞范例编写的,这使得阻塞行为成为异常而不是常态。

当 Node.js 执行 I/O 操作时,如从网络读取、访问数据库或文件系统,Node.js 不会阻塞线程和浪费 CPU 周期等待,而是会在响应返回时恢复操作。

这使得 Node.js 可以使用单个服务器处理数千个并发连接,而不会引入管理线程并发的负担(这可能是错误的重要来源)。

  • Node.js 最常见的 Hello World 示例是一个 Web 服务器:
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

要运行此代码段,请将其保存为 server.js 文件并在终端中运行 node server.js。
在这里插入图片描述
首先先装nvm,为什么装这个?就是node.js各类版本的管理器,随时能切换版本。
如果遇到这种情况,只需要改下版本就可以解决了,不需要处理依赖或重装node.js等问题。

# linux系统安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

# windows 安装包
https://github.com/coreybutler/nvm-windows/releases/download/1.1.7/nvm-setup.zip

2.2 安装gitbook

  • 安装gitbook-cli,然后初始化gitbook。
# 切换node版本
nvm install v12.22.3
nvm use v12.22.3

# 配置国内加速镜像
npm config set registry https://registry.npm.taobao.org
npm install -g gitbook-cli

# 初始化gitbook 
gitbook init

在这里插入图片描述

gitbook --version

在这里插入图片描述

3、测试

3.1 编辑文档

  • 本地生成文件如下:
    在这里插入图片描述
  • 修改文件SUMMARY.md:
# Summary

* [Introduction](README.md)
* [前言](readme.md)
* [第一章](part1/README.md)
    * [第一节](part1/1.md)
    * [第二节](part1/2.md)
    * [第三节](part1/3.md)
    * [第四节](part1/4.md)
* [第二章](part2/README.md)
* [第三章](part3/README.md)
* [第四章](part4/README.md)

在这里插入图片描述

3.2 编译工程

  • 编译文档
gitbook build

在这里插入图片描述

3.3 预览工程

  • 预览文档
gitbook serve

在这里插入图片描述

  • 浏览器查看文档服务器如下:

在这里插入图片描述

在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

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

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

相关文章

微信小程序真机防盗链referer问题处理

公司使用百度云存储一些资源,然后现在要做防盗链,在CDN加入Referer白名单后发现PC是正常的,微信小程序无法正常访问资源了。然后是各种查啊,然后发现是微信小程序不支持Referer的修改,且在小程序开发工具是Referer是固…

WIN大恒工业相机SDK开发

大恒工业相机SDK开发概览 一、开发环境搭建1、C# 环境配置(VS2019)2、C 环境配置(VS2019)3、python 环境配置(Pycharm) 二、相机二次开发流程三、相机相机属性参数配置四、图像采集单帧采集回调采集 注意事…

基于边缘无线协同感知的低功耗物联网LPIOT技术:赋能智慧园区方案以及数字工厂领域

回到2000年左右,物联网的底层技术支撑还是“ZigBee”,虽然当时ZigBee的终端功耗指标其实也并不庞大,但是,“拓扑复杂导致工程实施难度大”、“网络规模小导致的整体效率低下”都成为限制其发展的主要因素。 LPWAN,新一…

自学(黑客)技术,入门到入狱!

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟入…

【数据结构篇】手写双向链表、单向链表(超详细)

文章目录 链表1、基本介绍2、单向链表2.1 带头节点的单向链表测试类:链表实现类: 2.2 不带头节点的单向链表2.3 练习测试类:链表实现类: 3、双向链表测试类:双向链表实现类: 4、单向环形链表**测试类**&…

初级web前端开发工程师的岗位职责描述(合集)

初级web前端开发工程师的岗位职责描述1 职责: 1. 根据功能需求设计编写页面原型; 2. 前后端联调保证功能流畅; 3. 提高页面易用性、美观提出合理建议。 4、与后台工程师配合开发联调并交付产品; 5、持续优化前端页面体验和访问速度,保证页面精美高效…

命令行快捷键Mac Iterm2

原文:Jump forwards, backwards and delete a word in iTerm2 on Mac OS iTerm2并不允许你使用 ⌥← 或 ⌥→ 来跳过单词。 你也不能使用 ⌥backspace 来删除整个单词。 下面是在Mac OS上如何配置iTerm2以便能做到这一点的方法。 退格键 首先,你需要将你的左侧 ⌥…

kubernetes基于helm部署gitlab

kubernetes基于helm部署gitlab 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab。 先决条件 已运行的 Kubernetes 集群负载均衡器,为ingress-nginx控制器提供EXTERNAL-IP,本示例使用metallb默认存储类,为gitlab pods提供持久化存储&…

python#django数据库一对一/一对多/多对多

一对一OneToOneField 用户和用户信息 搭建 # 一对一 class TestUser(models.Model): usernamemodels.CharField(max_length32) password models.CharField(max_length32) class TestInfo(models.Model): mick_namemodels.CharField(max_length32) usermode…

蓝桥杯上岸必刷!!! (进制、数位专题)

蓝桥杯上岸必刷!!!(进制、数位专题) 距离蓝桥杯省赛倒数最后1天 ❗️ ❗️ ❗️ 还没背熟模板的伙伴们背起来 💪 💪 💪 大家好 我是寸铁💪 真题千千万万遍,蓝桥省一自然现&#…

“科创中国”青百会轮值主席吴甜:以大语言模型为代表的AI将引发产业变革

8月1日,“科创中国”青年百人会(后文简称青百会)联合百度举办“青创汇”高端对话,围绕人工智能技术创新与产业发展交流研讨,同时正式成立“科创中国”青年百人会女性工作委员会。该委员会将鼓励更多女性投身科技创新事…

easyExcel如何实现自定义标题,前两个(多个)标题占满一行,最后标题有规律

实现效果 实现方式 1,标题: Data public class ExportPurchaseSortingCustDto {/** 序号 */ExcelProperty(value {"${bigHead}","${dateHead}","序号"},index 0)ApiModelProperty(value "序号")private int…

RAFT:Recurrent All-Pairs Field Transforms for Optical Flow

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 Abstract1 Introduction2 Related WorkOptical Flow as Energy Minimization 3 Approach3.1 Feature Extraction3.2 Computing Visual Similarity Abstract 光流学…

RISC-V基础之浮点指令(包含实例)

RISC-V体系结构定义了可选的浮点扩展,分别称为RVF、RVD和RVQ,用于操作单精度、双精度和四倍精度的浮点数。RVF/D/Q定义了32个浮点寄存器,f0到f31,它们的宽度分别为32位、64位或128位。当一个处理器实现了多个浮点扩展时&#xff0…

企业人力资源管理系统servlet+jsp人事招聘培训薪资java源代码mysql

本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 企业人力资源管理系统servletjsp 系统1权限&#xff…

基于面向对象基础设计——里氏替换原则

在Java中,支持抽象和多态的关键机制之一是继承。正是使用了继承,我们才可以创建实现父类中抽象方法的子类。那么,是什么规则在支配着这种特殊的继承用法呢?最佳的继承层次的特征又是什么呢?在什么情况下会使我们创建的…

Python中的copy和deepcopy

一、定义 浅拷贝:创建一个新的对象,不拷贝内部子对象,只拷贝子对象的引用。这意味着,如果原对象的子对象发生变化,拷贝后的对象也会受到影响。 深拷贝:创建一个新的对象,并递归地拷贝原对象的所…

删除这4个文件夹,流畅使用手机无忧

在现代社会中,手机已经成为我们生活中不可或缺的一部分。然而,随着使用时间的增长,我们可能会遇到手机卡顿和内存不足的问题,让我们感到十分困扰。手机卡顿不仅影响使用体验,还可能导致应用程序运行缓慢,甚…

简单高效,教你如何制作食品小程序商城

食品行业的发展越来越繁荣,为了满足人们对食品的需求,许多商家都开始转向线上销售。而制作一个食品小程序商城,不仅可以提高销售效率,还可以增加用户粘性。下面,我们就来详细介绍如何制作食品小程序商城。 首先&#x…

python日志logging的用法

python日志看起比较简单,要用起来稍微有点复杂,基础用法网上也介绍得比较多,下面就最近遇见的问题,作一个简单的介绍。就是在两个以上的python文件中要记录日志,怎么才能实现在一个地方配置,多个地方使用的…