一个码农都不会玩转gitbook,太out了

2022-06-16 18:10:54 浏览数 (1)

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命令
    • 第三种:直接鼠标点邮件创建也可以
代码语言:javascript复制
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
代码语言:javascript复制
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还有很多好玩的功能,后面有时间在详细分享。

0 人点赞