目录

一、简介

制作电子书的工具有很多,常用的免费工具推荐:

  1. Sigil Ebook Editor

    • 应是最早的电子书制作软件(大概在10年左右就有了)
    • 可视化编辑内容、插入封面、编辑作者、生成目录
  2. ePUBee Maker(ePUBee智多星)
    • 一款Microsoft Word的插件,将Word文档无损的存为电子书
    • 可导入电子书进行编辑,完美的编辑内容与元数据信息
  3. 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 的命令,直接操作就可以了

三、使用

  1. 新建文件夹test,作为一本书,并完成初始化

    mkdir test
    cd test
    # 初始化
    gitbook init

    第一次执行时间会比较长,看到如下内容即为成功
    

  2. 执行后在test目录中会生成如下两个文件

    • README.md:书籍的介绍写在这个文件里
    • SUMMARY.md:书籍的目录结构在这里配置

  3. 编辑这两个文件输入任意内容,目录格式举例

    注明:我这里使用的是 Typora 做为markdown编辑器

  4. 编辑内容之后,回到终端,再次执行 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

  1. 下载地址:https://calibre-ebook.com/dist/osx
  2. 安装之后,建立软链

    ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin/ebook-convert

MacOS使用GitBook制作电子书的更多相关文章

  1. GitBook制作电子书详细教程(命令行版)

    GitBook 是一款基于 Node.js 开发的开源的工具,可以通过命令行的方式创建电子书项目,再使用 MarkDown 编写电子书内容,然后生成 PDF.ePub.mobi 格式的电子书,或生成一 ...

  2. 基于Git制作电子书 GitBook

    GitBook 详细介绍 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git 的教程. ...

  3. gitbook 制作 beego 参考手册

    安装gitbook工具 npm install -g gitbook-cli 从github 下载beego文档 https://github.com/beego/beedoc 创建目录 在 zh-c ...

  4. 使用 gitbook 制作自己的 html 文档

    使用 gitbook 制作自己的 html 文档 步骤如下 npm install gitbook-cli -g // 全局安装 gitbook-cli <span style="te ...

  5. 用word制作电子书最简捷模式 支持epub和mobi目录

    因为制作一本OCR的电子书,转到word编辑排版后,用calibre转成mobi发现没有目录,在网上查了资料研究了一下,终于解决了目录问题,根本不用将word文档转换为什么htm或txt,尤其是转换t ...

  6. 使用 Vue 和 epub.js 制作电子书阅读器

    ePub 简介 ePub 是一种电子书的标准格式,平时我看的电子书大部分是这种格式.在手机上我一般用"多看"阅读 ePub 电子书,在 Windows 上找不到用起来比较顺心的软件 ...

  7. 在macOS平台下制作SSL证书,免费域名通配符证、单域名证书、多域名证书教程

    1.安装 home-brew 2.安装 certbot 在终端执行下面命令 brew install certbot 3.制作SSL证书 第一步: 在终端执行下面命令 sudo certbot cer ...

  8. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。

    GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...

  9. docker搭建gitbook服务

    Gitbook Gitbook简介 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书,GitBook 并非关于 Git ...

随机推荐

  1. Linux命令扫盲 之 sar

    今天在读<大规模Web服务开发技术>一书的时候,书中提到了sar这个命令,感觉很有用,有必要整理学习一下.(对于一位Linux初学者,不能放过任何一个学习机会 :P) 打开自己的CentO ...

  2. 图像滤镜艺术---(Punch Filter)交叉冲印滤镜

    原文:图像滤镜艺术---(Punch Filter)交叉冲印滤镜 (Punch Filter)交叉冲印滤镜 本文介绍一种交叉冲印效果的代码实现,至于原理,不在累赘,直接看代码:  int f_TPun ...

  3. 01 Python初探

    Python初探 Become a better version of yourself! 诞生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年开始写Python ...

  4. Win32 Application基本框架

    //程序入口 intAPIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdSh ...

  5. QT 序列化/串行化/对象持久化

    本文以一个实例讲解Qt的序列化方法: Qt版本 4.8.0 Qt序列化简介 Qt采用QDataStream来实现序列化,QT针对不同的实例化对象有不同的要求.这里主要分两类,即:QT中原生的数据类型, ...

  6. LockWindowUpdate的函数的用法(不忽略消息,只是暂时不响应,但WM_SETREDRAW根本不接受重绘消息)

    Application.ProcessMessages;LockWindowUpdate(Self.Handle);  //锁住当前窗口 LockWindowUpdate(0)//解除锁定窗口 Loc ...

  7. arcgis api for js 4.X 出现跨域问题

    arcgis api for js 4.X 出现跨域问题 XMLHttpRequest cannot load http://localhost/4.3/4.3/esri/workers/mutabl ...

  8. Spring Schema扩展机制

    1:概述 Spring2.0开始,Spring提供XML Schema可扩展机制,用户可以自定义XML Schema文件,并自定义 XML Bean解析器,集成到Spring IOC容器中. 2:步骤 ...

  9. Python连载11-Python中os.path模块简介

    一.os.path(和路径相关的木块) 1.函数:abspath() (1)含义:将路径转化为绝对路径的形式(absolute path) (2)格式:os.path.abspath(相对路径) (3 ...

  10. 使用wait/notify实现线程间的通信

    之前对Java多线程中的wait/notify机制理解都不是很清晰,最近看了一本技术书,通过里面的讲解再配上一些博客,终于算是对wait/notify有了进一步的理解. 下面就来说说我对这两个方法的认 ...