使用Gitbook写电子书

今天要给大家说的是如何利用GitBook编写一本属于自己的点子书。

1,GitBook Editor

首先到官网下载GitBook Editor,目前支持Mac、Linux、Windows主流平台。

安装完成之后,使用github账号直接登录(GitBook提供了四种方式登录,这里直接使用gitHub登录,后面会用到)。登录后,可以直接在gitbook上创建书籍,建议在gitbook网站上创建书籍,然后通过GitBook Editor clone 下来;

创建完成时候,就可以写书了,不过建议先clone到本地后在写,主要是有时候网络等问题造成不必要的损失。

注意:此时的GitBook的book页面默认没有download按钮的,需要做如下的设置。点击Settting设置打开E-Books选项

2,同步GitHub

如果没有github账号,先注册,之后绑定github账号。然后依次点击Setting->github,进行相关的设置即可。

安装完成之后,就可以关联github了,先在github上创建一个项目,然后再关联,第一次关联可能会有如下的错误:

点击GitBook或者GitHub下面的链接按钮即可关联上了。

然后我们添加一篇文章,在gitBook上点击Updates按钮。

注意:如果碰到,更新失败,无法转换成pdf/mobi/epub格式。

PS:如果涉及到多人协作还可能会涉及其他问题,这里不多介绍。

3,安装Node环境

首先我们需要安装的是Nodejs,关于Node 环境的搭建这里不再详述,做过前端开发的通信应该不糊陌生。node安装完成之后,就可以现在GitBook全局环境了。

4,全局安装 gitbook

现在我们可以开始安装全局的 gitbook 了。执行 命令,进行安装。

npm install gitbook-cli -g 

安装完成之后,可以使用命令来查看是否安装成功。

gitbook -V

关于GitBook相关的教程,读者可以参考:GitBook教程

PS:gitbook 常用的命令如下:

gitbook init //初始化目录文件
gitbook help //列出gitbook所有的命令
gitbook --help //输出gitbook-cli的帮助信息
gitbook build //生成静态网页
gitbook serve //生成静态网页并运行服务器
gitbook build --gitbook=2.0.1 //生成时指定gitbook的版本, 本地没有会先下载
gitbook ls //列出本地所有的gitbook版本
gitbook ls-remote //列出远程可用的gitbook版本
gitbook fetch 标签/版本号 //安装对应的gitbook版本
gitbook update //更新到gitbook的最新版本
gitbook uninstall 2.0.1 //卸载对应的gitbook版本
gitbook build --log=debug //指定log的级别
gitbook builid --debug //输出错误信息

5,GitBook使用

此部分没有试验,来自网络:

gitbook serve

C:\Users\AllenIverson\Desktop\gitbook-test>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 3 pages
info: found 0 asset files
info: >> generation finished with success in 1.9s !

Starting server ...
Serving book on http://localhost:4000

gitbook ls

C:\Users\AllenIverson\Desktop\gitcourse>gitbook ls
GitBook Versions Installed:

    * 3.2.2

Run "gitbook update" to update to the latest version.

gitbook ls-remote

C:\Users\AllenIverson\Desktop\gitcourse>gitbook ls-remote
Available GitBook Versions:

     4.0.0-alpha.5, 4.0.0-alpha.4, 4.0.0-alpha.3, 4.0.0-alpha.2, 4.0.0-alpha.1, 3.2.2, 3.2.1, 3.2.0, 3.2.0-pre.1, 3.2.0-
pre.0, 3.1.1, 3.1.0, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-pre.15, 3.0.0-pre.14, 3.0.0-pre.13, 3.0.0-pre.12, 3.0.0-pre.11, 3
.0.0-pre.10, 3.0.0-pre.9, 3.0.0-pre.8, 3.0.0-pre.7, 3.0.0-pre.6, 3.0.0-pre.5, 3.0.0-pre.4, 3.0.0-pre.3, 3.0.0-pre.2, 3.0
.0-pre.1, 2.6.7, 2.6.6, 2.6.5, 2.6.4, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.2, 2.5.1, 2.5.0, 2.5.0-beta.7, 2.5.0-beta.6, 2.5.0
-beta.5, 2.5.0-beta.4, 2.5.0-beta.3, 2.5.0-beta.2, 2.5.0-beta.1, 2.4.3, 2.4.2, 2.4.1, 2.4.0, 2.3.3, 2.3.2, 2.3.1, 2.3.0,
 2.2.0, 2.1.0, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-beta.5, 2.0.0-beta.4, 2.0.0-beta.3, 2.0.0-beta.2, 2.0.0-beta.1,
2.0.0-alpha.9, 2.0.0-alpha.8, 2.0.0-alpha.7, 2.0.0-alpha.6, 2.0.0-alpha.5, 2.0.0-alpha.4, 2.0.0-alpha.3, 2.0.0-alpha.2,
2.0.0-alpha.1

Tags:

     latest : 3.2.2
     pre : 4.0.0-alpha.5

gitbook -V

C:\Users\AllenIverson\Desktop\gitcourse>gitbook -V
CLI version: 2.3.0
GitBook version: 3.2.2

新建一个GitBook项目后,系统会默认新建几个文件:README.md、SUMMARY.md和chapter1.md。README.md相当于简介,SUMMARY.md:相当于这本书的目录,

6,calibre

首先到calibre官网下载对应的版本并安装,打开后界面如下:

gitbook-convert

把docx、xml、html、odt文档转成GitBook,首先需要安装gitbook-convert插件。

npm install gitbook-convert -g 

如果需要转换,可以使用下面的命令:

gitbook-convert [options] <file> [export-directory]

7,常用插件

Gitbook 插件 里已经有100多个插件,可以在 book.json 文件的 plugins 和 pluginsConfig 字段添加插件及相关配置,添加后别忘了进行安装。例如:

// book.json
{
  "title": "Webpack 中文指南",
  "description": "Webpack 是当下最热门的前端资源模块化管理和打包工具,本书大部分内容翻译自 Webpack 官网。",
  "language": "zh",
  "plugins": [
    "disqus",
    "github",
    "editlink",
    "prism",
    "-highlight",
    "baidu",
    "splitter",
    "sitemap"
  ],
  "pluginsConfig": {
    "disqus": {
      "shortName": "webpack-handbook"
    },
    "github": {
      "url": "https://github.com/zhaoda/webpack-handbook"
    },
    "editlink": {
      "base": "https://github.com/zhaoda/webpack-handbook/blob/master/content",
      "label": "编辑本页"
    },
    "baidu": {
        "token": "a9787f0ab45d5e237bab522431d0a7ec"
    },
    "sitemap": {
        "hostname": "http://zhaoda.net/"
    }
  }
}

然后使用gitbook install安装插件。

# 安装插件
$ gitbook install ./

更多插件的使用请参考:GitBook使用教程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Xdigger Framework:一款网络安全测试辅助框架

*本文作者、Xdigger Framework开发者:guyoung Xdigger Framework是一款基于.Net Framework的网络安全测试辅助...

2137
来自专栏前端儿

【Echo】实验 -- 实现 C/C++下UDP, 服务器/客户端 通讯

1491
来自专栏开发与安全

socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)

在前面的系列网络编程文章中,我们都是使用socket 自己实现客户端和服务器端来互相发数据测试,现在尝试使用socket 客户端发 送http 请求给某个网站,...

1.2K0
来自专栏云计算教程系列

如何在CentOS 7上利用PacketBit和ELK收集基础设施指标

Packetbeat可以让您监视应用程序级协议(如HTTP和MySQL)以及DNS和其他服务的实时网络流量。

1422
来自专栏mathor

如何让局域网内的其他人访问到自己在Tomcat上部署的项目

 学JSP第三节课,今天老师上课讲了开启Tomcat之后,将自己电脑的文件放到指定的目录下,可以让同宿舍的人访问并且下载,老师只是提了一下,没有具体讲,后来我看...

3K3
来自专栏醉梦轩

Ubuntu安装Proxychains

1K3
来自专栏Python攻城狮

TCP编程tcp服务器客户端服务端tcp服务端发送和接收消息客户端接受和发送消息tcp服务器使用多线程接受多个客户端服务端使用多进程接收多个客户端

Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协...

1952
来自专栏圣杰的专栏

IdentityServer4 知多少

现在的应用开发层出不穷,基于浏览器的网页应用,基于微信的公众号、小程序,基于IOS、Android的App,基于Windows系统的桌面应用和UWP应用等等,这...

2852
来自专栏Golang语言社区

几种服务器端IO模型的简单介绍及实现(上)

一些概念: 同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发I/O操作并等待或者轮询的去查看I/O操作是否就绪,而异步是指用户进程...

3928
来自专栏玄魂工作室

Python黑帽编程2.8 套接字编程

套接字编程在本系列教程中地位并不是很突出,但是我们观察网络应用,绝大多数都是基于Socket来做的,哪怕是绝大多数的木马程序也是如此。官方关于socket编程的...

31911

扫码关注云+社区

领取腾讯云代金券