最近想把本身写的一个gitbook转成pdf分享出去,忽然发现最新的gitbook版本已经不支持导出PDF了。因而在网上找了很久终于被我发现了三个将gitbook转换成pdf的方式,现分享给你们。我使用的是mac系统,若是是其余系统你们能够查找相应的方案。html
npm gitbook的最新版本是3.2.3,最新更新时间是1年前,官方估计已经放弃这个模块了。不过还好,这个模块还可以使用。 具体步骤以下:node
安装npmgit
一般来讲,安装好nodejs后会自动安装相应的npm。shell
brew install nodejs
安装gitbooknpm
npm install gitbook -g npm install gitbook-cli -g
安装calibremarkdown
直接到官网下载: https://download.calibre-eboo...app
安装好calibre以后,须要将 /Applications/calibre.app/Contents/MacOS/ebook-convert 连接到/usr/local/bin/ebook-convert工具
ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin/ebook-convert
生成PDF插件
在全部的一切都准备好以后就能够运行下面的命令生成pdf了。code
gitbook pdf
注意,calibre要下载3.*版本,不然在gitbook pdf 的过程当中会卡住。别问我是怎么知道的,我被这个问题坑了很久。
vscode是一个很是强大的文本编辑工具,咱们能够可使用它的Markdown PDF插件来将markdown来转换成pdf。
它有一个markdown-it-include的功能,能够将一个markdown文件中引入的其余markdown文件包含进来。
考虑下面的文件结构:
├── [plugins] │ └── README.md ├── CHANGELOG.md └── README.md
若是咱们新建一个md文件,其内容以下:
README Content :[Plugins](./plugins/README.md) :[Changelog](CHANGELOG.md)
导出为PDF以后,其内容以下:
Content of README.md Content of plugins/README.md Content of CHANGELOG.md
这样就能够经过一个文件来包含多个md文件。固然这样也有一个缺点就是引入的文件缺乏层级概念也没法生成标签。
第三种方式就是使用forgebox的GitBook Exporter工具了。
方法以下:
安装CommandBox
brew install commandbox
在box中安装gitbook-exporter
box install gitbook-exporter
导出PDF和html
CommandBox> gitbook export sourcePath=/path/to/ExportFolder
使用上面的命令能够同时导出pdf和html,其优势就是比使用官方gitbook命令导出的文件要小不少,缺点就是pdf中文会出现乱码(暂时没有找到解决方法)
好了,三种方法都教给你们了,感受去试一下吧。
更多教程请参考 flydean的博客