在寻找合适的电子笔记方式过程中,看到了用 gitbook 做笔记,有很多优点,不过也比较麻烦,最终还是选择了用 OneNote 做笔记,不过 gitbook 可以用 markdown 排版,真的非常美观,所以可以用来写一些日记、随笔之类的,还可以做成电子书,感觉很不错。不过感觉网上的教程很多,但是看起来有点晕,有点乱,只有自己实际操作一遍才会比较清楚,这里我仅仅是把我自己的使用的过程,以及一些理解记录下来。(很多东西只是个人的理解,如果有说的不对的地方请大家批评指正)
在使用之前,我们先理解一下什么是git book。首先 Gitbook、Github、Git 这三个东西是不一样的。
那么下面让我们开始使用 git book。
git book 就像 git 一样,要想使用,你要先在电脑上安装相关的软件才能支持git book 的命令以及相关软件的运行环境。那么需要安装什么呢?
要想安装 git book,就必须要先安装 nodejs,具体为什么我也不管啦,照着做就好了。nodejs在官网下载安装包进行安装,git book 安装执行下面的指令就可以啦(只有安装了 nodejs 才能使用 npm 命令)
$ npm install gitbook-cli -g
那么网上还有很多说 git book Editor 是怎么一回事呢?这个只不过是一个编辑器罢了,就相当于是为普通 git book 用户提供了一个 ui 界面,你就可以直接打开软件像写 word 那样写 git book了。因为只安装git book的话一般是用 markdown 编辑器写 *.md
文件,然后通过命令行编译生成电子书的,有了这个客户端你就只需要点一些按钮他就自动帮你做了,就这么简单。所以 git book Editor 并不是必须的,甚至我觉得这个 editor 不很好用,因为他为了用 ui 界面代替 markdwon 的命令,一方面不像纯 markdown 那样自由,另一方面又不如 word 那么强大,用起来总感觉很别扭。
有一个很好的git book教程 http://www.chengweiyang.cn/gitbook/installation/README.html
用 git book 写书基本上可以总结为以下几个步骤
*.md
书籍转化成网页 *.html
的形式,以便于将来发布到网站上,所以当你的书籍内容更新时,对应的网页也需要重新生成就是初始化一个文件夹啦,选择一个文件夹执行下面的命令
gitbook init [./directory] # 不指定 directory 就在当前文件夹下初始化
这部操作结束之后是这样滴
文件夹变成了这个样子
这两个文件夹有什么用呢?
README.md
:对书籍的简单介绍SUMMARY.md
:里边是书籍的目录结构刚建立的时候里面当然是空的啦,README.md
是这样的
# Introduction
SUMMARY.md
是这样的
# Summary
* [Introduction](README.md)
当你想好要怎么安排章节的时候,就可以修改 SUMMARY.md
中的内容,然后再次使用 gitbook init
命令,这个时候他就会根据你的 SUMMARY.md
中的内容,生成对应的文件结构,如果文件或者目录不存在,就会自动创建。举个栗子,你想写的书的章节是这样的
那么你的 SUMMARY.md
文件就这么写
执行完 gitbook init
之后,文件夹就会变成这个亚子
那么你可能回想,如果我手动创建一个文件夹或者文件呢?
在你生成的 *.md
文件里,你就可以尽情发挥聪明才智了。
前面只是生成了一个文件夹,文件夹下的文件目录结构实际上就对应了书籍章节结构
当然实际上你也可以强行不让他们对应,只需要让
SUMMARY.md
中的章节结构与对应的文件路径结构不对应就可以了。因为SUMMARY.md
文件中(看上面的栗子)方括号缩进关系代表了章节结构,方括号中的内容就是这一章的题目,而后面圆括号的内容表示对应的*.md
文件,也就是说这一章节的内容就是*.md
文件中的内容。
不过应该没人给自己这么添堵吧。
在这之后你在 *.md
文件里填充了自己想写的内容,这个时候所有的章节文件实际上还是分散的,如果你想查看,还需要繁琐的翻到某一个文件夹下,打开对应的文件。那么距离最终生成电子书籍还差什么呢?编译!你只需要执行下面的指令,软件就可以帮你根据 *.md
文件生成对应的 *.html
文件,不同章节之间可以通过超链接快速打开,这也是为了方便最后发布到网站上。
gitbook build [书籍路径] [输出路径]
然后就是这样子的,会生成一个 _book
文件夹,这个文件夹下存放的就是静态网站内容了
打开 index.html
是什么样子的呢?当当当当 ? ~ 是不是简洁美观 ~ 不过这个时候你会发现点击其他章节是不会跳转的,不要着急,看下一步
写好书后,你也可以直接用下面的命令预览,实际上这个命令包含了上面的 gitbook build
。
gitbook serve [--port xxxx] # 默认 4000 端口
然后再打开浏览器,输入 localhost:4000
就可以看到?,非常好看有木有!这个时候就可以随意点链接啦。如果这个时候感觉有哪些地方需要修改,只需要回到前面重新生成目录,重新填充内容,然后再构建、预览就可以啦。
从 2.4 看出来只有执行 gitbook serve
才能像看电子书那样随意跳转章节,这样太麻烦了,想一劳永逸怎么办?可以生成各种格式的电子书,然后你就有一本自己写的电子书啦
gitbook pdf ./ ./bookname.pdf
gitbook epub ./ ./bookname.epub
gitbook mobi ./ ./bookname.mobi
如果不成功,可能还需要安装一些其他工具,比如 ebook-convert。
上面的操作都是在本地进行的,你的书籍也只有你自己能看到,要想让更多的人看到,你可以像之前说的那样, push 到 GitHub 的远程仓库上,不过这样的话只是被当作一个仓库来看,网页上访问的时候还是没有电子书的效果。
gitbook.com 则提供了这样一种服务,他是一个书籍托管网站,就好像 GitHub 是一个代码托管网站一样,GitHub 可以帮你保存你的代码库,而 gitbook.com 可以帮你保存你的电子书。他为你的每一本书籍都创建了一个 git 项目,以此帮你进行书籍版本控制管理。除此之外,为了方便用户,你还可以将用 GitHub 的项目替代 gitbook 上的项目。也就是说你可以将 gitbook 上的某本电子书与 GitHub 仓库关联,这样 GitHub 更新时,你通过gitbook 访问也能看到更新后的内容。
下面内容来自 http://www.chengweiyang.cn/gitbook/gitbook.com/README.html
GitBook.com 是一个围绕 gitbook 发行书籍的社区,于 2014 年初创,GitBook.com 提供免费和付费的服务,而且免费账户就可以享受诸多服务,包括:
- 1 本私有书籍
- 托管不限数量的公开书籍
- 售卖不限数量的书籍,并分享 80% 的书籍收入
- 不限数量的协作者
- 免费的在线书籍编辑器
对于普通用户来说,免费账号就已经够用,因为虽然限制为 1 本私有书籍,但是并没有限制书籍的大小,所以对于个人的学习笔记来说非常合适,用户甚至可以将所有知识归类放入一本私有书籍中!当然,GitBook.com 限制私有书籍数量但不限公开书籍数量的政策,显然是鼓励用户能够共享知识!
还可以通过各种配置文件对自己的书籍风格进行配置,这个往上讲的也很多,个人感觉太麻烦,默认风格已经挺好了,也没怎么管这个。