GitBook安装及使用——使用 Markdown 创建你自己的博客网站和电子书

2023-12-21 00:28

本文主要是介绍GitBook安装及使用——使用 Markdown 创建你自己的博客网站和电子书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 前言
  • 一、依赖环境
  • 二、gitbook安装使用
    • 1.安装 gitbook-cli
    • 2.安装 gitbook
    • 3.Gitbook初始化
    • 4.创建你的文章
    • 5.修改 SUMMARY.md 和 README.md
    • 6.编译生成静态网页
    • 7.运行以便在浏览器预览
    • 8.运行效果
  • 三、使用插件
    • 1.新建 book.json 文件
    • 2.配置插件
    • 3.安装插件
        • 其他说明:
          • (1) 关于 gitbook-plugin-prism
          • (2)内容铺满
    • 4.效果

前言

GitBook是一个命令行工具,用于使用 Markdown 构建漂亮的博客网站、电子书籍,相比于 VuePress,它更简洁,用起来也更方便。

GitBook的 github 地址 : gitbook

一、依赖环境

使用 gitbook , 需要先安装 Node.js ,且版本不能太高,否则后面安装过程会报错,这里推荐 10.24.1 版本。

如果你已经安装了高版本的 Node.js 要先卸载,然后安装低版本的,可以去官网 下载Node.js 10.24.1 版本,参考 Node.js安装与配置 进行安装;

或者卸载后使用 nvm 安装切换多个 Node.js 版本。

二、gitbook安装使用

1.安装 gitbook-cli

npm install gitbook-cli -g

2.安装 gitbook

执行下面的命令进行安装 gitbook

gitbook -V

安装速度比较慢,等上个几分钟,不出意外就安装成功了。

请添加图片描述

如果出现下面的报错,说明 Node.js 版本太高,需要根据上面提到的降低 Node.js 版本,或使用 nvm 安装低版本 Node.js

CLI version: 2.3.2
Installing GitBook 3.2.3
E:\nodejs\node_global\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js:287if (cb) cb.apply(this, arguments)^TypeError: cb.apply is not a functionat E:\nodejs\node_global\node_modules\gitbook-cli\node_modules\npm\node_modules\graceful-fs\polyfills.js:287:18at FSReqCallback.oncomplete (node:fs:200:5)

3.Gitbook初始化

新建一个文件夹如 myBook,命令行中使用 cd 命令进入到该文件夹下,在该文件夹下执行下面的命令进行初始化:

gitbook init

会自动在目录中生成两个文件,

  • SUMMARY.md :所有文章的列表目录
  • README.md :说明文件

4.创建你的文章

我这里新建了两个文件夹。一个用来存放 java 相关的 Markdown 文章,一个用来存放 python 相关的 Markdown 文章。

目录结构如下:

└─ myBook├─ java │    ├─ socketAndNetty.md│    └─ stream.md├─ python│    ├─ JSON.md│    ├─ openpyxl.md│    └─ spider.md├─ README.md└─ SUMMARY.md

5.修改 SUMMARY.md 和 README.md

SUMMARY.md

# Summary* [介绍](README.md)
* [java](README.md)* [socket和Netty使用](java/socketAndNetty.md)* [stream.md使用](java/stream.md)
* [python](README.md)* [JSON格式转换](python/JSON.md)* [Excel处理](python/openpyxl.md)* [爬虫](python/spider.md)

README.md

# 介绍
你好,欢迎来到我的博客,这里主要是 java 和 python 相关的教程 ━(*`∀´*)ノ亻!

6.编译生成静态网页

执行下面的命令,将会在 myBook 目录下生成一个_book文件夹,这就是我们的一个静态站点

gitbook build

7.运行以便在浏览器预览

执行下面的命令:

gitbook serve

会运行一个服务器, 通过浏览器访问 http://localhost:4000/ 便可以预览博客

8.运行效果

在这里插入图片描述

三、使用插件

gitbook 自带了一些插件,比如在上面效果图里左上角的搜索框、右上角的分享图标等,关于自带插件的使用和关闭可参考这篇文章:Gitbook插件

此外我们还可以安装其他插件进行使用。

1.新建 book.json 文件

在项目根路径下新建 book.json 文件,用于配置插件

2.配置插件

常见的插件可参考下面几篇文章在 book.json 中进行配置:
gtibook 插件侧边导航、推荐12个实用的gitbook插件、gitbook常用的插件、Gitbook插件的配置和使用详解、gitbook部署网站

下面是我的 book.json 文件的配置:

{"language" : "zh-hans","structure": {"readme": "README.md"},"plugins": ["-lunr","-sharing","-search","search-pro","sidebar-style","code","splitter","expandable-chapters","anchor-navigation-ex","-highlight","prism", "popup"],"pluginsConfig": {"sidebar-style": {"title": "JAVA和Python教程","author": "西凉"}}
}

3.安装插件

执行下面的命令进行安装插件:

gitbook install

或者,你也可以使用 npm install gitbook-plugin-插件名 命令分别去安装上面 book.json 里配置的插件,而且速度也更快。例如,安装 book.json 里配置的anchor-navigation-ex 插件可以使用下面的命令安装:

npm i gitbook-plugin-anchor-navigation-ex
其他说明:
(1) 关于 gitbook-plugin-prism

上面配置文件中配置了 gitbook-plugin-prism代码块高亮插件,
安装插件后,若不想使用默认的高亮背景,可更换其主题颜色,可在 node_modules/prismjs/themes/目录下可进行选择主题,然后可在book.json 配置文件设置,
例如 :

"pluginsConfig": {"prism": {"css": ["prismjs/themes/prism-solarizedlight.css"]}
}
(2)内容铺满

如果你想把文章内容铺满,即让文章内容与左边和右边间距小一些,可在 ‘_book/gitbook/style.css’ 文件中搜索 page-inner ,将里面的 max-width:800px 修改 max-width:1300px

下面是铺满的效果:

在这里插入图片描述

4.效果

使用命令 gitbook serve 启动服务,查看效果

在这里插入图片描述

这篇关于GitBook安装及使用——使用 Markdown 创建你自己的博客网站和电子书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/518052

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没