序言
首先看下我们要实现的效果是怎么样的。通过下面的图片,可以看到,左边就是书籍目录的导航栏,导航栏的上面还有全局搜索功能(每一个子目录的内容都可以搜到),内容的显示界面还可以选择几个阅读风格(A)。个人觉得比电子书还方便,有兴趣的可以玩一下。资料整理归类的超方便。
接下来要讲的就是如何实现了,我这里用的gitbook。也可以说是gitbook的教程吧。
GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git的教程。
1.安装
1.1安装npm
从网站 https://nodejs.org/#download 下载node.apk 安装即可
// 检查npm是否安装成功
npm -v
// 检查node是否存在
node -v
1.2安装gitbook
// 安装Gitbook命令(mac要用这个才能成功安装)
sudo npm install -g gitbook-cli
// 检查是否安装成功
gitbook -v
-
注意事项
- 不能使用 npm install gitbook -g 命令安装,因为使用命令gitbook的时候会出现问题。
- 安装的命令前需要加入sudo,因为可能会找不到npm的 /usr/local/bin/路径。
- 使用gitbook -v命令检查时可能会不出现版本号,但其实是安装好了。
2.使用
Gitbook的基本规则
Gitbook需要2个基本文件:
- README.md
- SUMMARY.md
README.md是关于你的书的介绍,而SUMMARY.md中则包含了书目,即章节结构,它的格式如下:
* [第1章](c1.md)
* [第1节](c1s1.md)
* [第2节](c1s2.md)
* [第2章](c2.md)
* [第1节](c2s1.md)
* [第2节](c2s2.md)
2.1根据目录生成图书结构
2.1.1 README.md 与 SUMMARY编写
- README.md
这个文件相当于一本Gitbook的简介。
//创建目录/test_gitbook
mkdir test_gitbook
//新建文件README.md
touch README.md
- SUMMARY.md
这个文件是一本书的目录结构,使用Markdown语法,如我们这本书的SUMMARY.md:
// 创建文件
touch SUMMARY.md
// 此命令为终端改写文件(不方便),建议直接用Markdown软件直接编写
vim SUMMARY.md
SUMMARY.md文件的编写
输入
* [简介](README.md)
* [第一章](chapter1/chapter1.md)
* [第一节](chapter1/section1.md)
* [第二节](chapter1/section2.md)
* [第二章](chapter2/chapter2.md)
* [第一节](chapter2/section1.md)
* [第二节](chapter2/section2.md)
* [结束](end/README.md)
2.2 生成图书结构
当这个目录文件创建好之后,我们可以使用Gitbook的命令行工具将这个目录结构生成相应的目录及文件:
gitbook init
// 查看建立的目录和文件,此命令需要安装 tree、 安装tree的终端命令:brew install tree
tree
目录如下:
.
├── chapter1
│ ├── chapter1.md
│ ├── section1.md
│ └── section2.md
├── chapter2
│ ├── chapter2.md
│ ├── section1.md
│ └── section2.md
├── end
│ └── README.md
├── README.md
└── SUMMARY.md
可以看到,gitbook生成了与SUMMARY.md所对应的目录及文件。
每个目录中,都有一个README.md文件,相当于一章的说明。
生成图书
2.2 输出为静态网站
2.2.1 本地预览时自动生成
编辑好图书之后,使用Gitbook的命令行进行本地预览:
//该操作需在文件路径下
gitbook serve
然后浏览器中输入 http://localhost:4000 就可以预览生成的以网页形式组织的书籍。
同时图书项目的目录中多了_book的文件目录,而这个目录中的文件,即是生成的静态网站内容。(用这个命令生成的静态网站,在没有服务器的情况下,不能返回首页,
如果想要_book的内容在本地被访问,可以使用以前的gitbook版本生成,我这里用的是2.6.7)
//用指定版本的gitbook生成
gitbook build --gitbook=2.6.7
使用build参数将文件生成到指定目录:
//新建目录
mkdir /tmp/gitbook
//输出到制定目录
gitbook build --output=/tmp/gitbook
2.2.2 输出PDF
使用Gitbook写开源书籍,过一把作家瘾