用GitBook来写自己的电子书
我这个人呢,不怎么爱学习,但是有点小折腾。看到别人搞什么,自己就想也搞点什么。当然,最后的结果是惨不忍睹,但是现在比以前要好多了-学会了坚持。其实,我看到了网上很多的电子书,做得也不错。所以,这里就想学习一下,把自己学习的东西,也整理成简单点的电子书,留着自己时常复习,做备忘。
这里我们可以借助开源的GitBook来记录我们的学习过程,日积月累慢慢的就会成为”书”
安装GitBook
在安装GitBook
之前,需要先安装Node
,Node
安装非常简单,直接去官网下载,然后直接下一步即可,安装过程中,Node会自动将环境变量添加到PATH
中,省去了手动配置环节,这里我已经安装过来,所以就不在演示手动安装,直接看看我安装好的Node
版本吧
1 | D:\>node -v |
现在我们来安装GitBook
吧
1 | npm install gitbook-cli -g |
当然,如果有安装cnpm
,那么就用cnpm
来安装吧,会快一些也会更顺利一些。
1 | cnpm install gitbook-cli -g |
这表示已经安装完成,现在我们来验证一下,输入gitbook -V
来看看是否正常,如果是第一次的话,执行命令会继续安装
1 | D:\>gitbook -V |
后面就不会重复安装
1 | D:\>gitbook -V |
使用GitBook新建电子书
1 | F:\gitbook>gitbook init |
会看到gitbook
帮我们默认创建了两个文件,现在用vs code
打开来看看目录
现在,我们可以借助gitbook serve
命令来预览咱们的电子书
1 | F:\gitbook>gitbook serve |
新建目录章节
上面我们成功的创建了电子书并预览到效果,这里我们来简单的认识一下,如何书写?
SUMMARY.md
在这个文件中加入文章的章节目录
1 | # Summary |
再次执行gitbook init
会自动生成相应的目录和*.md
文件
这时候运行gitbook serve
就可以看到我们的新建的章节
GitBook是使用Markdown
书写,具体语法,大家自己去了解,后面后机会,我会在这个电子书中记录下来。
GitBook发布到七牛云
其实,在执行gitbook serve
的时候,会在根目录下生成_book
文件夹来存放编译好的静态文件。那么我们在发布的时候,执行gitbook build
即可生成电子书静态页面,最后将其上传到七牛云即可。
1 | F:\gitbook>gitbook build |
关于如何配置七牛云,可以去Hexo静态网页上传到七牛云看看。
这里我就直接上传编译好的文件至七牛云上
1 | F:\gitbook>qshell qupload2 --overwrite=true --rescan-local=true --src-dir=F:/gitbook/_book --bucket=eyibook |
至此,我们的电子书就上传成功了。来看看效果
我的电子书地址是https://eyibook.52fx.biz/,以后我也会不定时更新,欢迎大家指正批评
GitBook常用命令
1 | F:\gitbook>gitbook help |
- gitbook build:将
md
文档编译为静态html
文件并保存在_book
文件夹中 - gitbook serve:启动/预览电子书
- gitbook install:安装插件;
- gitbook parse:解析电子书;
- gitbook init:初始化电子书;
- gitbook pdf:输出pdf格式电子书;
- gitbook epub:输出epub格式电子书;
- gitbook mobi:输出mobi格式电子书;
GitBook插件介绍
我们的电子书虽然生成了,页面还是比较简单,当目录结构较多或者是文章过程的时候,默认情况下没有友好的处理,所以这时候就需要借助一下插件来帮我们做这些事情,这时候就需要涉及到一个名叫book.json
的文件。这里首先就是新建一个book.json
文件,并且做如下的配置
1 | { |
这是一些全局配置
- title:设置书本的标题
- author:作者的相关信息
- description:本书的简单描述
- language:Gitbook使用的语言
- links:在左侧导航栏添加链接信息
- plugins:gitbook插件,添加后,需要执行
gitbook install
chapter-fold
chapter-fold支持多层目录折叠,默认下,GitBook是不会帮我们折叠,目录过多,这肯定就会是一个噩梦。这里我们来看看前后对比
sitemap
sitemap可以为我们的gitbook生成站点地图,便于爬虫识别
1 | "plugins": ["chapter-fold","sitemap"], |
theme-default
theme-default是3.0.0
的默认主题,可以美化我们的gitbook
样式
1 | "plugins": ["theme-default"], |
未完待续,后续在使用过程中遇到新东西时,加此文继续更新
用GitBook来写自己的电子书