Gitbook
关于Gitbook
这是官方介绍
GitBook helps you publish beautiful docs for your users and centralize your teams' knowledge for advanced collaboration.
大概意思
- 能生成漂亮的电子书
- 便于知识的协作分享
这两点就足够吸引人了,这个工具是作为一个码农必须要掌握的。
- 第一:官方说的协作分享
- 第二:个人需要不断整理,形成自己的知识体系
结论:没用过的赶紧安装,不要让自己的知识过于碎片化;不要自己吃独食,不分享知识。
这些都会抑制你高速的成长。不要放过任何一个成为牛人的机会,赶紧安装,快速体验,打造自己的知识体系
和Git有关系吗?
Git:地球人都知道,一个分布式版本控制系统,和Gitbook有任何关系吗?
回答:没半毛关系。
其实也不能这样说,Git Gitbook Markdown的结合体也就是说三位一体才能发挥出最强大的火力。
- Git:做版本控制
- Markdown:基于Markdown语法
- Gitbook:编写知识
好啦,废话不多说,开始进入正题。
官网
- 官网
- https://www.gitbook.com/
- 文档
- https://docs.gitbook.com/
个人的习惯,看资料先去官网上找,最全、最新、最权威,好过网上支离破碎的碎片化知识。
安装
看过官网的简要介绍,自然我们要体验一把,别人说好不管用,得适合自己,自己喜欢才是最好的。
先装Node
Gitbook是一个基于Node.js命令行工具,所以需要先安装Node环境。
安装Node也有个讲究,太新的Node版本安装有可能会挂,会出现如下的错误
代码语言:javascript复制C:UsersAdministratorAppDataRoamingnpmnode_modulesgitbook-clinode_modulesnpmnode_modulesgraceful-fspolyfills.js:287
if (cb) cb.apply(this, arguments)
^
TypeError: cb.apply is not a function
at C:UsersAdministratorAppDataRoamingnpmnode_modulesgitbook-clinode_modulesnpmnode_modulesgraceful-fspolyfills.js:287:18
关于Node.js安装
建议安装长期稳定版本,别装最新版,一是很可能会挂,二是不稳定
我最初安装的是node-v14.18.1-x64,结果很杯具,卸了这个版本,又安装的node-v14.12.0-x64版本,也有些小问题,后来注释掉几行代码,算是能用了。
- node-v14.12.0-x64:https://nodejs.org/download/release/v14.12.0/
亲们在这个地址,根据自己的OS,下载相应的版本,一路回车就OK了。
安装完毕后,找到安装目录下面的这个文件:polyfills.js,我的是这里
代码语言:javascript复制C:UsersAdministratorAppDataRoamingnpmnode_modulesgitbook-clinode_modulesnpmnode_modulesgraceful-fspolyfills.js
然后打开文件:polyfills.js,大概在62行~64行,找到下面内容
代码语言:javascript复制 fs.chmodSync = chmodFixSync(fs.chmodSync)
fs.fchmodSync = chmodFixSync(fs.fchmodSync)
fs.lchmodSync = chmodFixSync(fs.lchmodSync)
fs.stat = statFix(fs.stat)
fs.fstat = statFix(fs.fstat)
fs.lstat = statFix(fs.lstat)
fs.statSync = statFixSync(fs.statSync)
fs.fstatSync = statFixSync(fs.fstatSync)
fs.lstatSync = statFixSync(fs.lstatSync)
注释掉上面的这三行,这三行大概是修复BUG时留下的。
代码语言:javascript复制 // fs.stat = statFix(fs.stat)
// fs.fstat = statFix(fs.fstat)
// fs.lstat = statFix(fs.lstat)
修改后文件内容如下,请参考。
代码语言:javascript复制
```
fs.chmodSync = chmodFixSync(fs.chmodSync)
fs.fchmodSync = chmodFixSync(fs.fchmodSync)
fs.lchmodSync = chmodFixSync(fs.lchmodSync)
// fs.stat = statFix(fs.stat)
// fs.fstat = statFix(fs.fstat)
// fs.lstat = statFix(fs.lstat)
fs.statSync = statFixSync(fs.statSync)
fs.fstatSync = statFixSync(fs.fstatSync)
fs.lstatSync = statFixSync(fs.lstatSync)
```
镜像
网要不给力,用国外的镜像安装东西很累的,时不时会挂,这时可以参照下面,用咱们国内的镜像。
淘宝镜像
代码语言:javascript复制npm install -g cnpm --registry=https://registry.npmmirror.com
上面的语句,大家在命令行下执行就可以了。
安装包
官方:npm
代码语言:javascript复制npm install [name]
淘宝:cnpm
代码语言:javascript复制cnpm install [name]
安装Gitbook
代码语言:javascript复制cnpm install gitbook-cli -g
Or
代码语言:javascript复制npm install gitbook-cli -g
确认版本
代码语言:javascript复制D:oldgeek>gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3
安装完毕
看到上面的提示,就说明安装没啥问题了。
创建第一本属于你的书
- 创建文件夹
- window:md命令
- Mac:mkdir命令
- 第三种:直接鼠标点邮件创建也可以
D:oldgeekgitbook>md coder-oldgeek
D:oldgeekgitbook>dir
驱动器 D 中的卷没有标签。
卷的序列号是 A3DD-0CE1
D:oldgeekgitbook 的目录
2021/11/30 12:44 <DIR> .
2021/11/30 12:44 <DIR> ..
2021/11/30 12:44 <DIR> coder-oldgeek
进入文件夹
代码语言:javascript复制D:oldgeekgitbook>cd coder-oldgeek
创建第一本书
代码语言:javascript复制D:oldgeekgitbookcoder-oldgeek>gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
再装Typora
Typora是什么?
- Markdown编辑器,用过的都说好,我也是被人忽悠,不过用过了就爱上了它,一句话:简单易用。
官网
- 官网
- https://www.typora.io/
Typora不够厚道,最新的版本开始收费了,$14.99。也是,人家毕竟要生存吗?天下哪那么多免费的午餐,喜欢就花点钱,费用也不高。
想先体验下,可以去这个地址,下载之前的版本。
Windows
- Mac
- https://www.typora.io/dev_release.html
- Windows
- https://www.typora.io/windows/dev_release.html
安装
下载下来后,一路回车,搞定。
压轴
启动Typora
创建SUMMARY.md
SUMMARY文件内容如下:
代码语言:javascript复制# Summary
* 老码农
* Java
* [JVM](./oldgeek/Java/jvm.md)
* [JUC](./oldgeek/Java/juc.md)
* 数据库
* [MySQL](./oldgeek/database/mysql.md)
* [Redis](./oldgeek/database/redis.md)
* [MongoDB](./oldgeek/database/mongodb.md)
* 小码匠
* [数学](./coder/math.md)
* [英语](./coder/english.md)
* [比赛](./coder/competition.md)
这些文件参照目录结构手动创建
- 可以根据自己的情况创建文件夹和文件
- 创建问文件夹和文件后修改SUMMARY.md文件,和所创建的目录结构对应上
生成电子书
- 执行命令:gitbook serve
D:oldgeekgitbookcoder-oldgeek>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 8 pages
info: found 8 asset files
info: >> generation finished with success in 0.6s !
Starting server ...
Serving book on http://localhost:4000
- 访问:http://localhost:4000
关于Typora的骚操作
- Typora还有很多好玩的功能,后面有时间在详细分享。