使用 docker 将 gitbook 开源图书转换为 EPUB

从原理上而言,使用官方的 gitbook 工具,就可以非常方便地将源文件转换为 epub、pdf。但是,自从官方网站改版,关闭搜索、下载接口后,gitbook 官方工具就处于废弃状态。想要在电脑上正确执行 gitbook-cli 可能需要回退 NodeJS 和 npm 版本,甚至有可能还需要修改一些代码。

那么最优雅的解决方案应该是使用 Docker 来执行上述任务。

通过检索,可以找到 gitbook 的 docker 镜像:billryan/docker-gitbook
剩下就是标准的 docker 操作

  1. 拉取镜像: docker pull billryan/docker-gitbook(因为该作者已经上传 docker hub,因此可以直接拉)
  2. 运行容器: docker run -it -v /home/ohyee/projects:/mnt/projects billryan/gitbook /bin/bash(这里将本机的目录映射到 docker 里,方便输入源文件,输出电子书)
  3. 书籍转换: gitbook pdf ./ a.pdfgitbook epub ./ a.epub(需要在书籍根目录执行)
  4. 收尾工作: docker system prunedocker volume prune(清除不用的 docker 容器和卷)