MacOS使用GitBook制作电子书
目录
一、简介
制作电子书的工具有很多,常用的免费工具推荐:
- Sigil Ebook Editor
- 应是最早的电子书制作软件(大概在10年左右就有了)
- 可视化编辑内容、插入封面、编辑作者、生成目录
- ePUBee Maker(ePUBee智多星)
- 一款Microsoft Word的插件,将Word文档无损的存为电子书
- 可导入电子书进行编辑,完美的编辑内容与元数据信息
- GitBook
- 同GitHub一样,将电子书作为一个工程,方便的控制版本
- 提供GitBook Editor直接集成GitBook、Git、Markdown等功能
我选择的是GitBook,因为我是程序员,对git有不一样的信赖。
此文主要对在MacOS上使用GitBook做入门级说明。
二、安装
其实可以直接使用homebrew来安装,这里不做具体说明,命令如下:
brew cask install gitbook gitbook-editor
我采取的的方式是安装 gitbook-cli,具体方式如下:
1. 安装node.js
因为gitbook基于node.js,所以需要先安装node
# 可以先 brew search node 查看版本,然后安装你想要的版本
brew install node
查看版本,即安装是否成功
node -v
npm -v

2. 安装gitbook
# 注意 -g 参数
npm install -g gitbook-cli
安装之后会多出一个 gitbook 的命令,直接操作就可以了
三、使用
新建文件夹test,作为一本书,并完成初始化
mkdir test
cd test
# 初始化
gitbook init
第一次执行时间会比较长,看到如下内容即为成功
执行后在test目录中会生成如下两个文件
- README.md:书籍的介绍写在这个文件里
- SUMMARY.md:书籍的目录结构在这里配置
编辑这两个文件输入任意内容,目录格式举例
注明:我这里使用的是 Typora 做为markdown编辑器
编辑内容之后,回到终端,再次执行
gitbook init,生成目录,如图:
然后我们就可以编辑自己的电子书了
四、常用命令
1. 初始化 或 编辑目录
gitbook init
2. 编辑内容之后编译书籍
可以指定目录,默认当前
gitbook build [书籍路径] [输出路径]
3. 启动web服务通过浏览器预览数据
默认端口4000
gitbook serve --port 1234
4. 生成电子书
# 生成 PDF 格式的电子书
gitbook pdf ./ ./book_name.pdf
# 生成 epub 格式的电子书
gitbook epub ./ ./book_name.epub
# 生成 mobi 格式的电子书
gitbook mobi ./ ./book_name.mobi
初次生成电子书的时候,可能会出现如下错误:

解决方式:根据提示通过安装calibre-ebook来安装ebook-convert
- 下载地址:https://calibre-ebook.com/dist/osx
安装之后,建立软链
ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin/ebook-convert
MacOS使用GitBook制作电子书的更多相关文章
- GitBook制作电子书详细教程(命令行版)
GitBook 是一款基于 Node.js 开发的开源的工具,可以通过命令行的方式创建电子书项目,再使用 MarkDown 编写电子书内容,然后生成 PDF.ePub.mobi 格式的电子书,或生成一 ...
- 基于Git制作电子书 GitBook
GitBook 详细介绍 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git 的教程. ...
- gitbook 制作 beego 参考手册
安装gitbook工具 npm install -g gitbook-cli 从github 下载beego文档 https://github.com/beego/beedoc 创建目录 在 zh-c ...
- 使用 gitbook 制作自己的 html 文档
使用 gitbook 制作自己的 html 文档 步骤如下 npm install gitbook-cli -g // 全局安装 gitbook-cli <span style="te ...
- 用word制作电子书最简捷模式 支持epub和mobi目录
因为制作一本OCR的电子书,转到word编辑排版后,用calibre转成mobi发现没有目录,在网上查了资料研究了一下,终于解决了目录问题,根本不用将word文档转换为什么htm或txt,尤其是转换t ...
- 使用 Vue 和 epub.js 制作电子书阅读器
ePub 简介 ePub 是一种电子书的标准格式,平时我看的电子书大部分是这种格式.在手机上我一般用"多看"阅读 ePub 电子书,在 Windows 上找不到用起来比较顺心的软件 ...
- 在macOS平台下制作SSL证书,免费域名通配符证、单域名证书、多域名证书教程
1.安装 home-brew 2.安装 certbot 在终端执行下面命令 brew install certbot 3.制作SSL证书 第一步: 在终端执行下面命令 sudo certbot cer ...
- GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。
GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...
- docker搭建gitbook服务
Gitbook Gitbook简介 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git ...
随机推荐
- Socket进阶篇
Socket简介 1,socket是什么? 2,socket的作用 3,socket怎么用 4,socket的扩展 ——————————————————- socket是什么? Socket这个名词现 ...
- codewars杂记: 寻找缺失的数
题目描述: 给出一个整数列表,找出该列表无法通过各种组合求和得到的最小的整数. 示例: solve([1,2,8,7]) = 4, because we can get 1, 2, 1+2=3. Bu ...
- 通过Chrome扩展来批量复制知乎好友
1.初始化文件 Chrome 官方扩展教程地址 新建一个文件夹 zhi-follow 下图中 1 部分为 默认的图标3种尺寸 会显示在 Chrome 中 2. 定义按钮样式 页面上会有 ...
- C# ToolStrip在父窗体失去焦点时,点击里面的按钮无效
C#里面ToolStrip控件,在父窗体失去焦点的情况下,第一次点击ToolStrip上面的按钮,只是让父窗体获得焦点,并不会引发按钮的Click事件.要执行按钮操作必须再点击一次.相当于说,在父窗体 ...
- 全面提价2499元起小米6发布:四曲陶瓷机身+骁龙835+变焦双摄(小米在设计上也多次获得红点最佳、iF金奖等72项工业设计大奖)
集微网 4月19日报道 今日,小米公司在北京召开正式推出了新一代旗舰手机“小米手机6”.在试玩过真机后,第一感觉就是这款手机做工与颜值相比此前小米手机提升巨大:有四曲面玻璃或陶瓷机身.不锈钢高亮边框 ...
- 在VS如何查看汇编代码
由于最近不常用,结果导致今天用的时候忘记了,╮(╯▽╰)╭.现在标记一下: 方法如下,先创建一个C++ Project,然后加入上面的代码,在main函数或者其他地方设置断点,注意是Debug版本,否 ...
- delphi 在多线程中使用 CreateOleObject 导致失败(一定要使用CoInitialize和CoUninitialize,举例查询WMI)
原帖地址 http://bbs.csdn.net/topics/390481350 解决办法 procedure DisplayVideoInfo; var wmi, objs, obj : OleV ...
- 通过Graphics对象获取它所属的Control
using System.Runtime.InteropServices; [DllImport("user32.dll")] public static extern Int ...
- 在 .pro里加入 QMAKE_CXXFLAGS += /MP 将并行编译(VC),加快编译速度(姚冬的办法),或者-j4参数(MinGW)
但是只对VC编译器有效果. 另外还可以自己设置stdafx.h文件 http://www.zhihu.com/question/23045749 C:\Qt\Qt5.6.2_static\bin\qm ...
- java集合框架collection(3)Set、List和Map
Set.List和Map是java collection中最常用的三种数据结构. Set是集合,不允许有重复的元素,List是动态数组实现的列表,有序可重复,Map是key-value的键值对,用于快 ...