Skip to content →

在自己的服务器上安装GitBook

「本文首发在CSDN,样式更美观,更易读」

无意间发现在这个开源的EBook制作软件GitBook,你可以在官网上配置相关信息来和自己的GitHub账号绑定来创建自己的EBook,并且支持生成PDF、ePub和MOBI 三种格式提供下载。
但是我想自己安装GitBook来生成HTML格式,那样就可以放在自己的网站里面了。
安装过程:

  • 安装基本环境
    • 安装Git
    • 安装NVM、Node.js和NPM
    • 升级Python版本到2.7.1以上
  • 安装GitBook及calibre组件
  • 初始化并生成Demo
  • 生成HTML以及其他格式的文件

安装基本环境

安装Git

CentOS安装Git的过程我写在自己的问答网站了,点击 CentOS安装Git

安装NVM、Node.js和NPM

快速搭建 Node.js / io.js 开发环境以及加速 npm

升级Python版本到2.7.1以上

由于GitBook生成多格式的文件需要用到calibre,calibre最新版要求python ≥ 2.7.1 not 3.x 。
查看Python版本:python ,看结果中Python的版本是否符合要求。
如果需要升级Python,请查看:centos系统升级python 2.7.3

安装GitBook及calibre组件

安装GitBook:

$ npm install gitbook-cli -g

安装calibre:
Calibre安装文档 For Linux
我找到的安装代码如下:

wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('/opt')"

命令的最后 main('/opt')/opt 为Calibre的安装目录,可根据需要修改。

初始化并生成Demo

$ cd /home/
$ mkdir gitbook
$ cd gitbook/
$ mkdir demo
$ cd demo/
$ gitbook init

执行最后一个命令之后会在 /home/gitbook/demo/ 下生成 README.mdSUMMARY.md 两个文件

生成HTML以及其他格式的文件

1.生成完整的静态 HTML:切换到书的目录后built 即可

$ cd /home/gitbook/demo/
$ gitbook build

会在/home/gitbook/demo/ 目录下生成 _book 目录,即为完整的HTML静态网站

2.生成其他格式的文件
先切换到项目的目录下:比如本机的/home/gitbook/

PDF:

gitbook pdf ./demo ./demo.pdf

ePub:

gitbook epub ./demo ./demo.epub

MOBI:

gitbook mobi ./demo ./demo.mobi

注:需要提前安装Calibre,Gitbook会使用其中的ebook-convert功能组件来完成书籍格式的转换。

我遇到的Bug

由于我未学习过node.js和Python,在 安装calibre 那一步出错了,导致在GitBook生成其他格式文件的时候出问题,生成pdf 和 mobi 会失败,但是 epub却成功了

安装calibre时的错误信息:

Failed to find directory to install bash completions, using default.
____________________ WARNING ____________________
Setting up completion failed with error:
__________________________________________________
    Traceback (most recent call last):
      File "site-packages/calibre/linux.py", line 748, in setup_completion
      File "site-packages/calibre/linux.py", line 505, in write_completion
      File "site-packages/calibre/gui2/__init__.py", line 8, in <module>
    ImportError: cannot import name QStyle

Setting up desktop integration...
____________________ WARNING ____________________
Setting up desktop integration failed with error:
__________________________________________________
    Traceback (most recent call last):
      File "site-packages/calibre/linux.py", line 781, in setup_desktop_integration
      File "site-packages/calibre/linux.py", line 1097, in render_img
    ImportError: cannot import name QImage

Creating un-installer: /usr/bin/calibre-uninstall

There were 2 warnings

* Setting up completion failed with error:

* Setting up desktop integration failed with error:

Run "calibre" to start calibre

ImportError: cannot import name QStyleImportError: cannot import name QImage来看,估计是Python少了什么库,希望能解决这个问题的博友指点一下。

参考

http://faq.devwiki.cn/
https://github.com/GitbookIO/gitbook
http://www.calibre-ebook.com/download_linux
https://github.com/GitbookIO/gitbook
http://blog.liyibo.org/books-installation-authoring-tool-gitbook/

Published in 编程语言

3 Comments

  1. 路过来一发哈。。希望能够博主能够回访哦~

  2. 不错 支持你 有时间到我那看看 欢迎回访。。。

发表评论

电子邮件地址不会被公开。 必填项已用*标注