说明
通过Gitbook我们能快速的编写自己的电子书,方便将零散的知识整理成体系化的知识。本文介绍从0开始搭建自己的电子书并发布,以及gitbook的使用技巧,如果没有发布到公网的需求可以不看ng相关章节
安装
windows的安装更为简单,自行百度即可。
在本地把gitbook生成的html发布到服务器nginx,公网也能访问,为什么还要在服务器安装gitbook? 因为之前没有用nginx做web服务器,直接将md文件传到服务器,通过 gitbook serve 命令生成一个预览的网址 。 后面想做个好看的介绍和跳转到3个版块的首页,所以还是装了个ng做导航
nodeJS安装
注意版本不要太高,之前用16版本报错 TypeError [ERR_INVALID_ARG_TYPE]: The “data” argument must
wget https://nodejs.org/dist/latest-v12.x/node-v12.22.12-linux-x64.tar.gz // 下载
tar xf node-v12.22.12-linux-x64.tar.gz // 解压
mv node-v12.22.12-linux-x64 node //改名
ln -s /opt/node/bin/npm /usr/local/bin/ //软连
ln -s /opt/node/bin/node /usr/local/bin/
node -v //查看
gitbook安装
npm install -g cnpm --registry=https://registry.npm.taobao.org //修改node源
npm install -g gitbook-cli
ln -s /opt/node/bin/gitbook /usr/local/bin/
到这里就可以使用gitbook,是在本机windows上和服务器上都安装了gitbook
Nginx安装
没有 分享到网上需求的可以省略这一步, gitbook自己的publish功能总是报网络错误, 可能是限制了, 所以自己100多块买了个云服务器,进行发布。
# 安装依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel lrzsz
#centos8 安装nginx1.12报错 :: ‘struct crypt_data’ has no member named ‘current_salt’
#换成centOS7解决
wget http://nginx.org/download/nginx-1.19.9.tar.gz
tar -zxvf nginx-1.19.9.tar.gz
cd /nginx-1.19.9
#执行配置
./configure
# 编译安装(默认安装在/usr/local/nginx)
make
make install
常用命令
测试配置文件:/usr/local/nginx/sbin/nginx -t
启动命令:/usr/local/nginx/sbin/nginx
停止命令:/usr/local/nginx/sbin/nginx -s stop/quit
重启命令:/usr/local/nginx/sbin/nginx -s reload
查看进程命令:ps -ef | grep nginx
平滑重启:kill -HUP [Nginx主进程号(即ps命令查到的PID)]
gitbook常用操作
书籍初始化
执行gitbook init后就初始化了书籍, gitbook serve预览
自动生成的SUMMARY.md和README.md是两个必须的文件。 不能改文件名,也不能删可以编辑里面的内容。
README.md是书的前言 也就是打开时默认展示的内容,SUMMARY.md是书的目录,打开后展示在左边,章节没有对应的md文件时就算目录里写了也不会展示。 可以通过安装插件在写目录时自动新建对的md文件
SUMMARY.md中就可以导航到对应的章节,目录很多的话可以加文件夹区分
# Summary
* [简介](README.md)
* 第一章 项目说明
* [第一节 项目架构](项目架构.md)
* [第二节 数据建模](数据建模.md)
* [第三节 数仓规范](数仓规范.md)
* 第二章 平台搭建
* [第一节 CDH搭建](CDH搭建.md)
......
* 第五章 项目问题记录
书籍编写
gitbook是使用的markdown语法,常见的语法网上资料很多,不在赘述。 推荐用Typora进行编写。
这里分享几个自己遇到的问题
▶ 图片大小 和位置下面的方法都会导致,预览是没问题,打包后文字都挤在了一起
<img src="images\1需求分析.png" alt="1需求分析" align=left style="zoom: 57%;" />
或者 <img src="images\1需求分析.png" alt="1需求分析" align=left height="500" width="500" />
解决方法: 直接插入图片不加属性, 大小通过看图软件调整
发布
局域网内部分享,生成预览连接即可,端口可以修改
gitbook serve --lrport 35288 --port 4001
网上分享
gitbook自带的发布功能总是出现网络问题,不推荐使用
这里采取的策略是,通过gitbook build生成静态文件(默认在_book目录),传到ng对应目录即可
插件
查阅文章 https://www.jianshu.com/p/09bf890ec8f6