网站内容更新中(gitbook网站发布一个书籍文档和使用gitbook提供的工具(图))
优采云 发布时间: 2021-11-19 22:25网站内容更新中(gitbook网站发布一个书籍文档和使用gitbook提供的工具(图))
1. 说明
gitbook网站是一个简单的个人在线图书网站,在这里你可以将你的文档整理成书并发布,方便阅读。
gitbook网站:
本文主要讲解如何在gitbook网站上发布图书文档,并使用gitbook提供的工具在本地开发图书文档并部署到自己的服务中
在此之前,您需要做如下准备:
2. 在 gitbook 上创建文档书网站
这种方式就是用github网站加上gitbook网站来创建书籍。
首先需要有一个github账号,然后在github网站创建一个repo仓库来存放书籍的内容。
注意:gitbook网站 有时需要使用代理打开。
2.1 登录gitbook网站
gitbook网站 支持用github账号直接登录,建议直接用github账号登录。
打开 gitbook网站:
点击右上角的 Sign In 登录,然后选择 Sign in with GitHub 使用 github 账号登录。
首次登录gitbook网站时,需要github网站的认证,还需要在github网站的注册邮箱点击确认。
2.2 创建书本2.2.1 单击新建书本按钮
登录网站后,点击右上角的用户图标,然后选择您的*敏*感*词*。然后你会看到右上角的+新建按钮,点击这个按钮创建一本书。
或者在gitbook的dashboard页面有一个New Book按钮,点击创建一本书:
或者打开这个链接,直接进入图书创作页面:
2.2.2 在创建书中选择github
进入新页面后,找到左侧的GITHUB选项。
第一次需要点击右边的安装github集成。
这时候会跳转到github页面安装这个插件。可以选择所有仓库或某个仓库,然后点击安装进行安装,输入github密码完成安装。
此时返回gitbook新页面刷新,选择github后,右侧会出现如下选项:
填写选项后,单击创建书籍按钮。
注意:书名必须是英文,因为这里要作为书名的链接(创建成功后可以修改名字)。
点击创建书籍按钮后,会出现书籍页面,然后刷新页面,然后点击关于。
然后点击右侧的阅读按钮进行阅读。
进入阅读后,效果如下:
此时已经在gitbook上创建了一本书。
2.3 创建图书目录文件
经过以上步骤,只创建了一本书,但由于缺少书目目录,此时还没有完成。
首先需要在项目的根目录下创建一个SUMMARY.md文件。这个文件是gitbook的目录。内容格式如下:
* [说明](README.md)
* HTML
- [测试连接1](/doc/a.md)
* JAVASCRIPT
- [b文件](/javascript/b.md)
此时的项目目录结构:
.
├── README.md
├── SUMMARY.md
├── doc
│ └── a.md
└── javascript
└── b.md
保存Summary.md后,提交内容到github网站仓库。需要一段时间才能在gitbook网站上看到更新的内容。有时需要很长时间才能更新。最终效果如下图所示:
3. 使用gitbook工具开发
上面提到的在gitbook网站上出书虽然方便,但是有以下缺点:
1、gitbook网站 经常打不开,需要使用代理才能访问
2、修改提交后有时需要很长时间才能显示更新
幸运的是,gitbook 还提供了基于 Node.js 的命令行工具。你可以使用 Github/Git 和 Markdown 制作精美的电子书,然后将它们部署到你自己的 网站(或托管在 github 上)。
gitbook 命令行工具首先需要本地计算机上的 nodejs 和终端。
一般linux系统和Mac系统自带nodejs和终端,windows系统需要安装nodejs和终端。
windows系统推荐使用cmder终端,安装介绍请自行查找。
可以使用如下命令在终端查看系统是否有nodejs:
node -v
v8.12.0
如果出现版本号,则表示已安装。如果没有找到这个命令,则进入节点官网:,选择下载,选择对应的操作系统,然后下载安装。
gitbook命令行工具推荐nodejs版本为v4.0.0或以上。如果版本太低,可以看下面的教程升级版本到v4.0.0或以上:
3.1 安装 gitbook-cli 工具
gitbook-cli 是一个用于在同一系统上安装和使用多个版本的 GitBook 的实用程序。它将自动安装所需版本的 GitBook 以构建一本书。
打开终端,输入 npm install gitbook-cli -g 命令进行全局安装:
npm install gitbook-cli -g
npm http fetch GET 304 https://registry.npm.taobao.org/os-tmpdir 100ms (from cache)
npm http fetch GET 304 https://registry.npm.taobao.org/os-homedir 113ms (from cache)
/usr/local/bin/gitbook -> /usr/local/lib/node_modules/gitbook-cli/bin/gitbook.js
+ gitbook-cli@2.3.2
added 578 packages from 672 contributors in 17.806s
安装成功后,可以使用 gitbook --version 查看是否安装成功:
gitbook --version
CLI version: 2.3.2
GitBook version: 3.2.3
注意:第一次终端运行gitbook命令时,可能会自动安装gitbook,因为刚刚安装了CLI,此时CLI会自动安装gitbook。
如果要卸载 CLI,可以使用 npm uninstall gitbook-cli -g 删除。
3.2 初始化一本书
初始化一本书的命令是 gitbook init,
首先在终端创建一个项目目录,进入这个目录:
mkdir book
cd book
然后使用 gitbook init 初始化一本书:
~ gitbook init
warn: no summary file in this book
info: create README.md
info: create SUMMARY.md
info: initialization is finished
gitbook init 将在空项目中创建两个文件 README.md 和SUMMARY.md:
README.md 文件是项目的介绍文件。
总结.md是gitbook书籍的目录。
如果Summary.md文件有以下内容:
* [项目介绍](README.md)
* http
* [http说明](doc/http/http解析.md)
* [tcp说明](doc/http/tcp/tcp说明.md)
* [udp说明](doc/http/tcp/udp/udp说明.md)
* HTML
* [HTML5-特性说明](doc/html/HTML5-特性说明.md)
那么在使用gitbook init的时候,如果目录下的文件不存在,就会创建目录下的文件:
~ gitbook init
info: create doc/http/http解析.md
info: create doc/http/tcp/tcp说明.md
info: create doc/http/tcp/udp/udp说明.md
info: create doc/html/HTML5-特性说明.md
info: create SUMMARY.md
info: initialization is finished
3.3 本地启动服务,写书
在终端打开项目目录,使用gitbook serve启动服务:
~ 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 "theme-default"... OK
info: found 5 pages
info: found 0 asset files
info: >> generation finished with success in 2.1s !
Starting server ...
Serving book on http://localhost:4000
然后,根据终端的提示,在浏览器中打开:4000查看书籍,效果如下图:
注意:gitbook serve 命令会在项目中生成一个_book文件夹,这个文件夹是最终生成的项目。
3.4 文件打包
可以使用 gitbook build 命令生成最终项目:
~ gitbook build
info: 7 plugins are installed
info: 6 explicitly listed
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 5 pages
info: found 0 asset files
info: >> generation finished with success in 1.0s !
命令执行后会在项目下生成一个_book文件夹,这个文件夹就是最终生成的项目。
_book文件夹下有一个index.html文件,这个文件是文档网站的HTM入口,将_book文件夹复制到服务器,然后将web服务入口引导到index.html完成文档网站 部署。
如果要查看输出目录的详细记录,可以使用 gitbook build ./ --log=debug --debug 进行构建查看。
3.5 生成电子书
我在这里尝试过,但没有用。你可以试试
GitBook 可以生成网站,但也可以将内容输出为电子书(ePub、Mobi、PDF)。
# Generate a PDF file
$ gitbook pdf ./ ./mybook.pdf
# Generate an ePub file
$ gitbook epub ./ ./mybook.epub
# Generate a Mobi file
$ gitbook mobi ./ ./mybook.mobi
我也在网上找了一个包:,你可以试试
3.6 将项目部署到 GitHub Pages
这部分需要用到git和github网站。如果您不知道如何操作,请在 Internet 上搜索文档。
由于gitbook生成的项目源码和文档是两部分,所以可以把文档放在master分支,部署的网站放在gh-pages分支。
3.6.1 在github上创建仓库
这个仓库用来存放你编写的项目和部署的项目。请了解如何自己创建它。
3.6.2 提交本地项目到github仓库
在项目中创建一个 .gitignore 文件,内容如下:
# 忽略gitbook生成的项目目录
_book
然后在终端打开项目,输入以下命令将文档项目提交到github:
~ git init
~ git add .
~ git commit -m '初始化gitbook本地项目'
~ git remote add origin https://github.com/yulilong/book.git
~ git push -u origin master
执行完上述命令后,代码会提交到github上的仓库。
注意仓库地址应该换成你自己的链接。
3.6.3 生成项目并上传到github仓库的gh-pages分支
因为打包命令太多,为了简化,现在写一个脚本命令自动执行。当然,你也可以自己在终端中执行这些命令。
为了方便部署,可以创建一个脚本文件deploy.sh,内容如下:
#!/usr/bin/env sh
echo '开始执行命令'
# 生成静态文件
echo '执行命令:gitbook build .'
gitbook build .
# 进入生成的文件夹
echo "执行命令:cd ./_book\n"
cd ./_book
# 初始化一个仓库,仅仅是做了一个初始化的操作,项目里的文件还没有被跟踪
echo "执行命令:git init\n"
git init
# 保存所有的修改
echo "执行命令:git add -A"
git add -A
# 把修改的文件提交
echo "执行命令:commit -m 'deploy'"
git commit -m 'deploy'
# 如果发布到 https://.github.io/
echo "执行命令:git push -f https://github.com/yulilong/book.git master:gh-pages"
git push -f https://github.com/yulilong/book.git master:gh-pages
# 返回到上一次的工作目录
echo "回到刚才工作目录"
cd -
注意脚本文件代码中的仓库地址要替换成自己的地址。
文件保存后,在终端执行以下命令,将生成的项目push到github仓库的gh-pages分支:
bash deploy.sh
执行成功后,打开你的github仓库,选择branch分支。你会发现还有一个额外的 gh-pages 分支。打开这个分支后,里面会有一个 index.html 文件。显示部署的代码上传成功。
注意:如果没有gh-pages分支说明部署不成功,请检查刚才执行的终端,看哪里报错,解决错误,直到部署成功。
3.6.4 配置GitHub页面显示网站
在github网站上的repository中,点击Settings -> GitHub Pages option -> Source,选择gh-pages分支然后点击Save按钮,然后你会在GitHub Pages下看到一个URL,这个URL就是最后的< @网站。
最终效果如下图所示:
3.7 部署到 GitHub Pages 的一些示例
4. gitbook 配置文件说明
如果你想对你的网站进行更详细的个性化配置或者使用插件,那么你需要使用一个配置文件。
配置文件写入后,需要重启或重新打包服务才能应用配置。
gitbook 的配置文件名为 book.json,首先在项目根目录下创建 book.json 文件。
book.json 的主要内容:
{
"title": "我的一本书",
"author" : "yu",
"description" : "我第一本书的描述,很好",
"language" : "zh-hans",
"structure": {
"readme": "introduction.md"
},
"plugins": [
"-lunr",
"-search",
"search-pro",
"back-to-top-button"
],
"pluginsConfig": {
"anchor-navigation-ex": {
"isShowTocTitleIcon": true
}
},
"links" : {
"sidebar" : {
"个性链接1" : "https://www.baidu.com",
"个性链接2" : "https://www.baidu.com"
}
},
"styles": {
"website": "styles/website.css",
"ebook": "styles/ebook.css",
"pdf": "styles/pdf.css",
"mobi": "styles/mobi.css",
"epub": "styles/epub.css"
}
}
更多配置参数:
4.1 book.json 中一些主要参数的说明4.1 配置默认主题
可以配置默认主题做以下效果。
比如侧边栏菜单显示标题编号,可以在配置文件的pluginsConfig参数中写入如下字段:
{
"pluginsConfig": {
"theme-default": {
"showLevel": true
}
}
}
效果如下:
5. 一些有用的 gitbook 插件
gitbook插件可以解决侧边栏导航无法收缩、内置搜索不支持中文等一些不方便的地方。
使用插件书网站会更加灵活美观。
由于插件较多,请参考我的另一篇文章文章:
参考
gitbook 的配置文件 book.json 的说明
gitbook 工具文档
GitBook 编辑器