用 GitBook 创建一本书
用 GitBook 创建一本书
Gitbook 首先是一个软件,它使用 Git 和 Markdown 来编排书本,如果你没有听过 Git 和 Markdown,那么 gitbook 可能不适合你直接入手,你需要先去学习 Git 和 Markdown。Git 是一个版本控制工具,Markdown 是一个文本编辑语法,基本的使用大概几个小时就可以都学会了,并不复杂。
这是 Gitbook 项目主页上对 Gitbook 的定义。
Modern book format and toolchain using Git and Markdown .
安装 GitBook
首先需要安装 nodejs,以便能够使用 npm 来安装 gitbook
$ wget -qO- https://raw.github.com/creationix/nvm/v0.33.11/install.sh | sh
该命令会安装 nvm 命令,安装好以后会添加 nvm 的环境变量到 .bashrc 文件里,接下来退出终端,重新登陆使得 .bashrc 文件生效,或者使用其他方法使添加的环境变量生效。
接下来使用下列命令来安装 npm
$ nvm install stable
可以使用下列命令来查看 npm 的版本,比如我这次安装的是 6.11.3 版本。
[erdong@testhost ~]$ npm --version
6.11.3
[erdong@testhost ~]$
接下来使用 npm 来安装 gitbook
$ npm install gitbook-cli -g
创建第一本书
首先新建一个目录,这个目录就是这本书的一个载体,就好比在现实世界里你要先准备一个本子,以后所有的内容会写在这个本子上。在 gitbook,我们以后所有的内容都会存放在这个目录里。
$ mkdir erdong-first-book
接下来我们初始化这个目录,就好比你在你准备的本子上做一些基本的工作,
[erdong@testhost ~]$ cd erdong-first-book
[erdong@testhost erdong-first-book]$ gitbook init
[erdong@testhost erdong-first-book]$ ls
README.md SUMMARY.md
初始化过后,在这个文件夹会生成 2 个文件,README.md 和 SUMMARY.md 。
- README.md : 是书的简单介绍,类似于一本书的序或者前言部分。
- SUMMARY.md : 是书的目录,程序按照这个文件来生成书的结构。
初始化结束后,就可以写东西了,
比如我们现在往这两个文件里写入以下内容,在 README.md 文件中我们写入如下内容:
# Introduction
This erdong's first book
This a samples in GitHub, https://github.com/erdong/gitbook-notes-samples
在 SUMMARY.md 文件中写入如下内容:
# Summary
* [Introduction](README.md)
* [Part I]()
* [Part II]()
* [Part III]()
写入内容后,我们可以通过 gitbook serve 命令来预览我们写的书
[erdong@testhost erdong-first-book]$ gitbook serve
Live reload server started on port: 35729
Press CTRL+C to quit ...
info: 7 plugins are installed
info: loading plugin "livereload"... OK
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.5s !
Starting server ...
Serving book on http://localhost:4000
这样会在前台运行一个 web 程序,对外以 4000 端口提供一个可以浏览的页面,浏览的地址是 http://localhost:4000 ,
这样我们就可以查看我们写好的书了。如下图所示。

如果我们不想使用这种方式来预览书籍的话,也可以用 gitbook 生成一份静态的页面,放在 web 服务器或者其他可以提供 web 浏览访问的地方。生成静态页面使用 gitbook build 命令即可,会生成一个 _book 的文件夹,这个目录里放的就是生成好的静态页面,拷贝到对应的目录即可。
[erdong@testhost erdong-first-book]$ gitbook build
info: 7 plugins are installed
info: 6 explicitly listed
info: loading plugin "highlight"... OK
info: loading plugin "search"... OK
info: loading plugin "lunr"... OK
info: loading plugin "sharing"... OK
info: loading plugin "fontsettings"... OK
info: loading plugin "theme-default"... OK
info: found 1 pages
info: found 0 asset files
info: >> generation finished with success in 0.5s !
[erdong@testhost erdong-first-book]$
小结
这样,我们就通过 GitBook 工具写了一本书,或者一个小册子。
用 GitBook 创建一本书的更多相关文章
- GitBook 使用
介绍 GitBook是一个基于Node.js的命令行工具,可使用 Github/Git和Markdown来制作精美的电子书,GitBook 并非关 Git的教程. 导出格式有PDF.HTML等,需要添 ...
- 使用 Gitbook 打造你的电子书
本文详细讲解了 Gitbook 生成电子书的完整过程,内容包括:安装.命令.配置.文档结构.生成电子书.部署. 限于篇幅,本文不介绍任何 Gitbook 定制化页面的内容. 想看看 Gitbook 在 ...
- GitBook入门(用github做出第一本书)——超详细配图说明
我最近接触到gitbook,发现它支持markdown和git,刚好把我之前在github上的笔记可以生成一本书,于是我就开始着手捣鼓gitbook,一下午的时间就弄的差不多了,说明这个东西还是挺容易 ...
- GitBook github
创建一个新的仓库 创建一个新文件,名为SUMMARY.md 创建一本书首先进入gitbook的官网:https://www.gitbook.com/ 创建账户https://github.com/ 在 ...
- GitBook相关使用以及配置笔记
本地安装 GitBook的安装非常简单.您的系统只需满足这两个要求: NodeJS(推荐使用v4.0.0及以上版本) Windows,Linux,Unix或Mac OS X gitbook-cli 是 ...
- 使用Gitbook做笔记
一.安装 https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md # 通过npm全局安装 npm install gitbook- ...
- Gitbook 命令行工具
1.Gitbook 简介 1.1 Gitbook GitBook 是一个基于 Node.js 开发的命令行工具,使用它可以很方便的管理电子书,GitBook 是目前最流行的开源书籍写作方案. 使用 G ...
- ORM相关操作
1.一般操作 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs) ...
- ORM之自关联、add、set方法、聚合函数、F、Q查询和事务
一.外键自关联(一对多) 1.建表 # 评论表 class Comment(models.Model): id = models.AutoField(primary_key=True) content ...
随机推荐
- vue系列文章 --- 源码目录结构整理(三)
vue的版本是:^2.6.10 结构如下: |----- vue | |--- dist # 打包之后的目录vue文件 | | |--- vue.common.dev.js | | |--- vue. ...
- Mybatis常见配置错误总结
Mybatis常见配置错误总结 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionF ...
- MongoDB分页查询优化方法
在网上看到很多关于MongoDB分页查询优化的文章,如出一辙.笔者自己实际生产中也遇到此问题,所以看了很多篇文章,这里分享一篇简明扼要的文章分享给大家,希望对大家在使用MongoDB时有所帮助. 凡事 ...
- 从0开始独立完成企业级Java电商网站开发(服务端)
数据表结构设计 唯一索引unique,保证数据唯一性 CREATE TABLE `mmall_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ...
- Oracle运行脚本:exp,hist 和 err
上一篇我们讲到:首次使用rman备份数据库时,为了安全起见,我们应将整个数据库exp出来. 显而易见,每次都手敲exp代码是不可取的. ----费时费力还不规范! 为此,我们可以写一个exp脚本,之后 ...
- 基于SkyWalking的分布式跟踪系统 - 异常告警
通过前面2篇文章我们搭建了SW的基础环境,监控了微服务,能了解所有服务的运行情况.但是当出现服务响应慢,接口耗时严重时我们需要立即定位到问题,这就需要我们今天的主角--监控告警,同时此篇也是SW系列的 ...
- MIT线性代数:6.列向量和零空间
- android 7.0 pm install 失败问题
这两天,把app内置成系统文件或者系统签名取得系统权限,发现使用pm install path在低版本上可行,在高版本就安装失败 抛出 NullPointException,查看了一下源码,发现对包名 ...
- 网络安全-主动信息收集篇第二章-二层网络扫描之arping
arping二层网络发现 介绍工具:arping arping主要查看IP的MAC地址 缺点:工具本身只能ping一个IP地址,不能ping一个IP段.但是可以通过脚本将整个网络中的IP进行扫描. 脚 ...
- [考试反思]0825NOIP模拟测试30:没落
AB卷,15人. Lrefrain rank#1 179 skyh rank#2 122 116 108 54 42虽说还是不怎么样,但是有好转的迹象. 开卷审题,T1是个(假)期望,感觉也许还可做. ...