将Github上的《The Way to Go(中文版)》转换成pdf

最近看到一本不错的Golang入门教程《The Way to Go(中文版)》 ,书是用Markdown编写的,并托管在Github上,不太方便阅读,所以把它转换成PDF版本。

需要的工具包括:

  • gitbook-cli
  • gitbook
  • calibre

基本原理是用gitbook调用calibre里面的ebook-convert工具,将gitbook转换成pdf。

下面是转换步骤:

  1. 下载源文件

    将文件下载到本地,解压。

  2. 安装必要的工具

    • npm install gitbook-cli -g

    • npm install gitbook -g

    • calibre到网站下载安装

  3. 处理源文件

    直接转换这本书会出现一点小问题,所以要先处理一下。

    • GitBook使用简单的目录结构,通过 SUMMARY.md 目录文件来确定哪些文件被转换,原书目录是TOC.md,因此将TOC.md改名为SUMMARY.md

    • 原书的图片链接都带上了?raw=true参数,导致转换后的pdf文件里图片无法正确显示,需要全部删除:

      grep -rl "?raw=true" ./ | xargs sed -i "" 's/?raw=true//g’

  4. 生成pdf

    gitbook pdf ./ ./book.pdf

转换好的文件可以在这里下载。(密码: 4iqx)