GitBook 入门学习
一、什么是 Gitbook
GitBook 是一个基于 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 两种语法格式,可以输出 HTML、PDF、eBook 等格式的电子书。
Gitbook 使用方案:
- GitBook + Typora / Vscode+ Git:推荐
 - GitBook + Gitbook Editor+ Git
 
Git 需要依赖 Node.js,Node.js 和 Git 安装都很简单,这里就不再赘述,相关链接如下:
二、Gitbook 安装及使用
安装命令:
# 打开命令行(管理员)执行以下命令,安装 Node.js 时已经安装好 npm 工具包
npm install -g gitbook-cli
安装好之后,会多了一个 gitbook 命令,现在来初始化一本书:
cd E:
mkdir mybook
cd mybook
gitbook init		# 初始化
执行完毕会发现 mybook 目录中多了两个文件:
- README.md:书籍介绍
 - SUMMARY.md:书籍目录结构
 
用 Typora 打开 SUMMARY.md,编辑如下(此步是编写书籍目录):
# 目录
* [前言](README.md)
* [第一章](Chapter1/README.md)
  * [第1节:衣](Chapter1/衣.md)
  * [第2节:食](Chapter1/食.md)
  * [第3节:住](Chapter1/住.md)
  * [第4节:行](Chapter1/行.md)
* [第二章](Chapter2/README.md)
* [第三章](Chapter3/README.md)
* [第四章](Chapter4/README.md)
再执行 gitbook init,gitbook 就会自动创建相应章节,如下图所示:

还可以生成 HTML 静态文件,在浏览器中查看:
gitbook serve
出现错误:

解决:找到 C:\Users\hj\.gitbook\versions\3.2.3\lib\output\website\copyPluginAssets.js 文件,注释掉第 112 行:
 return fs.copyDir(
        assetsFolder,
        assetOutputFolder,
        {
            deleteFirst: false,
            overwrite: true,
            /*confirm: true*/			/*注释这行*/
        }
    );
参考文章:https://www.cnblogs.com/abcdefghijklmnopqrstuvwxyz/p/8674805.html
再次执行 gitbook serve:

访问:<http://localhost:4000/:

三、常用命令
# 构建书籍,默认将生成的静态网站输出到 _book 目录
gitbook build
# 指定路径
gitbook build [书籍路径] [输出路径]
# 指定端口
gitbook serve --port 2333
# 你还可以生成 PDF 格式的电子书
gitbook pdf ./ ./mybook.pdf
gitbook epub ./ ./mybook.epub		# epub 格式
gitbook mobi ./ ./mybook.mobi		# mobi 格式
其他命令:
gitbook init		 //初始化目录文件
gitbook help		 //列出gitbook所有的命令
gitbook --help 		//输出gitbook-cli的帮助信息
gitbook build		 //生成静态网页
gitbook serve 		//生成静态网页并运行服务器
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 			//卸载对应的gitbook版本
gitbook build --log=debug			 //指定log的级别
gitbook builid --debug 					//输出错误信息
参考文章
GitBook 入门学习的更多相关文章
- vue入门学习(基础篇)
		
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
 - Hadoop入门学习笔记---part4
		
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
 - Hadoop入门学习笔记---part3
		
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
 - PyQt4入门学习笔记(三)
		
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
 - PyQt4入门学习笔记(一)
		
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
 - Hadoop入门学习笔记---part2
		
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
 - Retrofit 入门学习
		
Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...
 - MyBatis入门学习教程-使用MyBatis对表执行CRUD操作
		
上一篇MyBatis学习总结(一)--MyBatis快速入门中我们讲了如何使用Mybatis查询users表中的数据,算是对MyBatis有一个初步的入门了,今天讲解一下如何使用MyBatis对use ...
 - opengl入门学习
		
OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...
 
随机推荐
- Eclipse + JDK + tomcat开发环境配置
			
第一步:下载jdk和tomcat:JDK下载 Tomcat下载 最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上 第二步:安装和配置 ...
 - Java反射详解(转)
			
原文地址:http://www.importnew.com/17616.html 动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化.比如众所 ...
 - linux卸载软件
			
rpm -q -a 查询当前系统安装的所有软件包 rpm -e 软件包名 参数e的作用是使rpm进入卸载模式,对名为某某某的软件报名进行卸载 rpm -e 软件包名 -nodeps 由于系统中各个软件 ...
 - webpack-dev-server原理及要点笔记
			
webpack-dev-server启动了一个使用express的Http服务器,这个服务器与客户端采用websocket通信协议,当原始文件发生改变,webpack-dev-server会实时编译. ...
 - 在VS2015中的SDL2.0开发环境搭建
			
写本文的目的在于使用网络上的教程及官方的教程(如:http://www.willusher.io/sdl2%20tutorials/2013/08/15/lesson-0-visual-studio) ...
 - uboot 2013.01 代码简析(1)开发板配置
			
u-boot下载地址:ftp://ftp.denx.de/pub/u-boot/u-boot-2013.01.01.tar.bz2 下载之后对该文件进行解压. 我试着分析smdk2410_config ...
 - C++(一)— stringstream的用法
			
输入输出的头文件 <iostream> string流的头文件 <sstream> 文件流的头文件 <fstream> 1.利用输入输出做数据转换 stri ...
 - python-常用内置函数与装饰器
			
1.常用的python函数 abs 求绝对值 all 判断迭代器中所有的数据是否为真或者可迭代数据为空,返回真,否则返回假 any ...
 - springAOP原理以及概念
			
需求:1.拦截所有业务方法2.判断用户是否有权限,有权限就让他执行业务方法,没有权限就不允许执行.(是否有权限是根据user是否为null作为判断依据) 思考: 我们该如何实现? 思路1: 我们在每个 ...
 - tomcat 6.0 安装及配置
			
前提:安装并配置好jdk 1.免安装版存放目录:D:\01Install\tomcat