用 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.mdSUMMARY.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 创建一本书的更多相关文章

  1. GitBook 使用

    介绍 GitBook是一个基于Node.js的命令行工具,可使用 Github/Git和Markdown来制作精美的电子书,GitBook 并非关 Git的教程. 导出格式有PDF.HTML等,需要添 ...

  2. 使用 Gitbook 打造你的电子书

    本文详细讲解了 Gitbook 生成电子书的完整过程,内容包括:安装.命令.配置.文档结构.生成电子书.部署. 限于篇幅,本文不介绍任何 Gitbook 定制化页面的内容. 想看看 Gitbook 在 ...

  3. GitBook入门(用github做出第一本书)——超详细配图说明

    我最近接触到gitbook,发现它支持markdown和git,刚好把我之前在github上的笔记可以生成一本书,于是我就开始着手捣鼓gitbook,一下午的时间就弄的差不多了,说明这个东西还是挺容易 ...

  4. GitBook github

    创建一个新的仓库 创建一个新文件,名为SUMMARY.md 创建一本书首先进入gitbook的官网:https://www.gitbook.com/ 创建账户https://github.com/ 在 ...

  5. GitBook相关使用以及配置笔记

    本地安装 GitBook的安装非常简单.您的系统只需满足这两个要求: NodeJS(推荐使用v4.0.0及以上版本) Windows,Linux,Unix或Mac OS X gitbook-cli 是 ...

  6. 使用Gitbook做笔记

    一.安装 https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md # 通过npm全局安装 npm install gitbook- ...

  7. Gitbook 命令行工具

    1.Gitbook 简介 1.1 Gitbook GitBook 是一个基于 Node.js 开发的命令行工具,使用它可以很方便的管理电子书,GitBook 是目前最流行的开源书籍写作方案. 使用 G ...

  8. ORM相关操作

    1.一般操作 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs) ...

  9. ORM之自关联、add、set方法、聚合函数、F、Q查询和事务

    一.外键自关联(一对多) 1.建表 # 评论表 class Comment(models.Model): id = models.AutoField(primary_key=True) content ...

随机推荐

  1. TensorFlow2.0(9):TensorBoard可视化

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  2. 组合+封装+property+多态+鸭子类型(day21)

    目录 昨日回顾 继承 什么是继承 继承的目的 什么是抽象 继承背景下,对象属性的查找顺序 派生 什么是派生 子类派生出新的属性,重用父类的属性 新式类和经典类 钻石继承的继承顺序 今日内容 一.组合 ...

  3. 获取gps信息

    (一)plist修改 添加如下变量 (二)新建视图用来启动Gps 此视图控制器继承CLLocationManagerDelegate #import <UIKit/UIKit.h> #im ...

  4. 腾讯云上面部署PHP运行环境

    现在云服务器已经很普及了,其价格.安全优势等成为不少开发者的首选.本人由于兴趣爱好,从朋友那边借了一个过来玩了两天,下面就分享整个部署流程吧. 1. 先到腾讯云官网购买服务器,这边就不演示.很简单,跟 ...

  5. SpringBoot整合MybatisPlus3.X之Sequence(二)

    数据库脚本 DELETE FROM user; ​ INSERT INTO user (id, name, age, email) VALUES (, , 'test1@baomidou.com'), ...

  6. OC-音乐播放器-锁屏处理

    QQ音乐播放的过程中,锁屏状态下的效果如下: 也就是说,QQ音乐播放过程中,添加锁屏远程事件的监听. 本文只记录本人知道的小知识点,不提供完整的代码. 实现的原理: (1)获取锁屏歌曲信息中心:MPN ...

  7. (JavaScript) 时间转为几天前、几小时前、几分钟前

    // 时间戳转多少分钟之前 getDateDiff(dateTimeStamp) { // 时间字符串转时间戳 var timestamp = new Date(dateTimeStamp).getT ...

  8. 前端技术之:使用webpack构建React程序配置方法

    package.json中需要引入以下依赖:   开发依赖: "@babel/core": "^7.1.2", "@babel/preset-env& ...

  9. (数据科学学习手札70)面向数据科学的Python多进程简介及应用

    本文对应脚本已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 进程是计算机系统中资源分配的最小单位,也是操作系 ...

  10. Python文件处理:创建、打开、追加、读、写

    在Python中,不需要导入外部库来读取和写入文件.Python为创建.写入和读取文件提供了内置的函数. 在本文中,我们将学习 如何创建文本文件 如何将数据附加到文件中 如何读取文件 如何逐行读取文件 ...