Gitbook主要用来构建自己的电子书,发布到个人网址。本文章主要介绍mac环境安装gitbook教程,以及在安装使用过程中踩的坑。

安装配置

安装 node.js(安装方式)

  • gitbook 貌似对高版本 node 不兼容,亲测 node14.0 不行,node12.0 可以
  • Node.js 历史版本下载网站 下载合适版本 pkg 安装包,直接点击安装即可。

gitbook 命令行工具使用 npm 进行安装(依赖 node.js 环境):

$ npm install -g gitbook-cli

检查是否安装成功:

$ gitbook -V

创建一本书

初始化

自定义项目目录,在目录中执行以下指令:

$ gitbook init

初始化会生成 README.mdSUMMARY.md 两个文件

预览

$ gitbook serve

构建

$ gitbook build

构建完成会生成 _book 静态资源目录文件

目录结构

.
├── book.json     // 配置文件
├── README.md     // 首页文档
├── SUMMARY.md     // 目录导航
├── chapter1        // 章节分类
|   ├── README.md
|   └── something.md
└── chapter2
    ├── README.md
    └── something.md

README.md

首页文档

SUMMARY.md

目录导航,编写格式如下:

# Summary
- [Introduction](README.md)
- [Git](git/README.md)
  - [安装配置](git/install.md)
  - [指令全集](git/commend.md)
- [Vim](vim/README.md)
  - [启动指令](vim/start.md)
  - [常用指令](vim/command.md)

部分内容对应目录:http://note.yiqiesuifeng.cn/

book.json

配置文件,配置如下:

变量描述
root包含所有图书文件的根文件夹的路径,除了 book.json
structure指定自述文件,摘要,词汇表等的路径
title您的书名,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预填的。
description您的书籍的描述,默认值是从 README 中提取出来的。在 GitBook.com 上,这个字段是预填的。
author作者名。在GitBook.com上,这个字段是预填的。
isbn国际标准书号 ISBN
language本书的语言类型 —— ISO code 。默认值是 en
direction文本阅读顺序。可以是 rtl (从右向左)或 ltr (从左向右),默认值依赖于 language 的值。
gitbook应该使用的GitBook版本,并接受类似于 >=3.0.0 的条件。
links在左侧导航栏添加链接信息
plugins要加载的插件列表(官网插件列表)
pluginsConfig插件的配置

常用指令

// 列出 gitbook 所有的命令
gitbook help
// 输出 gitbook-cli 的帮助信息
gitbook --help
// 生成静态网页
gitbook build
// 生成静态网页并运行服务器
gitbook serve
// 生成时指定gitbook的版本, 本地没有会先下载
gitbook build --gitbook=2.0.1
// 列出本地所有的gitbook版本
gitbook ls
// 列出远程可用的gitbook版本
gitbook ls-remote
// 安装对应的gitbook版本
gitbook fetch 标签/版本号
// 更新到gitbook的最新版本
gitbook update
// 卸载对应的gitbook版本
gitbook uninstall 2.0.1
// 指定log的级别
gitbook build --log=debug
// 输出错误信息
gitbook builid --debug

FAQ

Q:gitbook init 报错执行报错:

warn: no summary file in this book
info: create README.md
info: create SUMMARY.md

TypeError [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

解决方法:node.js 版本过高,将 node.js 版本降到 12.0


本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

2 条评论

  1. ermbxydxyg
    ermbxydxyg

    看的我热血沸腾啊https://www.ea55.com/

  2. uqbhfveiri
    uqbhfveiri

    叼茂SEO.bfbikes.com

添加新评论