用 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. Python之文件的使用

    文件概述 读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接 ...

  2. Java Stream函数式编程图文详解(二):管道数据处理

    一.Java Stream管道数据处理操作 在本号之前发布的文章<Java Stream函数式编程?用过都说好,案例图文详解送给你>中,笔者对Java Stream的介绍以及简单的使用方法 ...

  3. vue 踩坑--项目名称不能与插件名称一样

    今天webpack搭建,命令行一直报错 百度说是项目名称为:vue npm 拒绝安装 后来才发现是 package.json的name名称也设成了vue 所以 修改一下就可以了.

  4. Java ArrayList底层实现原理源码详细分析Jdk8

    简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用 ...

  5. 来玩一局CS吗?UE4射击游戏的独立服务器构建

    前言   根据UE4官方文档的介绍,UE4引擎在架构时就已经考虑到了多人游戏的情景,多人游戏基于客户端-服务器模式(CS模式).也就是说,会有一个服务器担当游戏状态的主控者,而连接的客户端将保持近似的 ...

  6. Idea导入Web项目并发布到Tomcat

    Idea导入现有的Web项目并发布到Tomcat,发现Tomcat没有自动发布 问题: 导入一个Web项目时,idea并没有把他当成web,所以需要自己修改项目结构 1.导入项目 打开 File-&g ...

  7. pymssql的Connection相关特性浅析

    关于Python的pymssql模块,之前研究时总结了"pymssql默认关闭自动模式开启事务行为浅析"这篇博客,但是在测试过程中又发现了几个问题,下面对这些问题做一些浅析,如有不 ...

  8. 干货 Elasticsearch 知识点整理二

    目录 root object mate-field 元数据字段 mapping-parameters 动态mapping(dynamic mapping) 核心的数据类型 精确匹配与全文检索 精确匹配 ...

  9. 【PyTorch教程】P2. Python编辑器的选择、安装及配置

    温馨提示:为了更好的教程体验,提供视频.阅读地址 Youtube: https://www.youtube.com/playlist?list=PLgAyVnrNJ96CqYdjZ8v9YjQvCBc ...

  10. [考试反思]1011csp-s模拟测试68:守恒

    在RP守恒定律的持续作用下, 不出所料,这场稍炸 还有10分钟就是下一场了,但愿继续守恒? 改题太慢了,连写博的时间都没有了 然而最后还是在吃饭前彻彻底底改出来了 的确是个菜鸡 所以今天的题解只能先咕 ...