关闭

[置顶] 在自己的服务器上安装GitBook

标签: GitBookgitnode-js
21746人阅读 评论(11) 收藏 举报
分类:

更新时间:2016-08-05

更新说明:
由于在 Linux 内核的机器上安装 Calibre 需要安装的依赖库过多,故不推荐在此类机器上使用格式转换功能。你可以阅读 在自己的电脑上安装GitBook For Mac 来了解在 Mac 上完美使用 Gitbook .

无意间发现在这个开源的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
http://www.sinlesstime.com
https://github.com/GitbookIO/gitbook
http://www.calibre-ebook.com/download_linux
http://blog.liyibo.org/books-installation-authoring-tool-gitbook

更新 2015-04-26

关于安装过程中出现的Bug问题,我查到了如下一些解答:
1. 在centos 6.2,python2.7 下安装QT 4.8.3,pyqt 4.9.5 详细步骤
2. Building PyQt5 for Python2.7 on a clean Ubuntu 13.10 build machine
3. ImportError: cannot import name QStyle

我的折中方案

对于Python以及Linux方面新手而言,安装py-Qt相关库是件不太容易的事情。如果只是为了生成Pdf等格式的文档,我想到一个折中的方案:
1. 上传文件到Github上
2. 在Gitbook官网注册个账号,创建book并关联Github账号以及对应的项目
3. 在Gitbook上下载生成的pdf、mobi格式的文件

更新 2016-08-05

如果你和我一样安装 Calibre 失败了,要做好文件清理工作:

//卸载calibre
sudo rm -rf /opt/calibre/*

//清除失效的软连接
cd /usr/bin/
rm -rf ./calibre*
rm -rf ./ebook*
rm -rf fetch-ebook-metadata
rm -rf lrf2lrs
rm -rf lrfviewer
rm -rf lrs2lrf
rm -rf markdown-calibre
rm -rf web2disk

最后声明一下:转载请注明出处!

1
0
查看评论

Gitbook环境搭建

http://nodejs.cn/download/ http://www.cnblogs.com/Lam7/p/6109872.html http://www.runoob.com/nodejs/nodejs-install-setup.html http://blog.csdn.net/vip...
  • Iloveyoutaotao
  • Iloveyoutaotao
  • 2017-06-16 11:32
  • 620

gitbook安装与使用

gitbook安装与使用
  • xiaocainiaoshangxiao
  • xiaocainiaoshangxiao
  • 2015-07-14 20:18
  • 66579

gitbook使用教程(与github关联)

创建社区项目的公开gitbook
  • Snail_Ren
  • Snail_Ren
  • 2016-11-24 11:29
  • 4215

gitbook搭建一个简单的faq网站

1. npm安装gitbook-cli npm install -g gitbook-cli 2. 新建一个项目目录,进到目录里执行 gitbook init 3. 新建book.json(这是配置文件),加入faq主题 { “plugins”:[“theme-faq”] ...
  • twh_east
  • twh_east
  • 2017-01-05 20:47
  • 1089

gitbook安装与使用

gitbook安装与使用2016.04.10 Ubuntu14.04.4gitbook文档 GitBook Documentation1. 安装npm可以参考 Ubuntu14.04安装nodejs ,这里只用了编译源码的方法,还可以使用apt-get的方法下载软件包。 下载node.js源代码 ...
  • u010209897
  • u010209897
  • 2016-04-10 05:57
  • 8699

使用gitbook发表文章和书的正确姿势

使用gitbook的正确姿势之前花了将近六个月的时间写了一本书,是一本关于人工智能、深度学习、TensorFlow方面的数,这里先打个广告吧,此处是链接。这本书我使用了gitbook作为发布平台,同时渲染了很多数学公式(使用了mathjax作为渲染工具)。你可以发现,最后gitbook编译出来的书整...
  • hawkuu
  • hawkuu
  • 2017-07-13 16:51
  • 3652

Windows上使用gitbook制作电子书

0. 前言 第一次在windows上使用gitbook制作电子书,在网上搜了好多资料,自己亲手试了下并整理如下。 1. 准备工具 Step1: 下载nodejs(nodejs中文官方): http://nodejs.cn/download/, 点击图片位置: 2....
  • zl1zl2zl3
  • zl1zl2zl3
  • 2017-05-03 15:24
  • 1643

Linux系统上如何同时部署两个gitbook服务

gitbook启动的web 服务默认监听4000端口,而重启监控进程默认监听35729端口。一般这样可以启动一个电子书web服务: gitbook serve /somepath/your_docuemtn_dir/本地就可以这样来访问:  http://localhost:4000 。...
  • moxiaomomo
  • moxiaomomo
  • 2016-11-03 22:10
  • 2353

Gitbook安装与使用教程

Gitbook是一个命令行工具,可以把你的Markdown文件汇集成电子书,并提供PDF等多种格式输出。你可以把Gitbook生成的HTML发布出来,就形成了一个简单的静态网站。Gitbook还有一个同名的平台(gitbook.io),可以发布和销售电子书,并提供了一个Markdown客户端工具(支...
  • feosun
  • feosun
  • 2017-05-30 00:24
  • 3654

gitbook 简单的自动更新代码和更新

gitbook好是好,就是需要本地编译,或者直接使用gitbook官方服务。对于自己编译,琢磨了一个小的可以定时checkout代码并在有变动的时候进行自动编译和更新的小脚本。#!/bin/bashresult=`git pull` [[ $result = "Already up-to-...
  • vbaspdelphi
  • vbaspdelphi
  • 2017-02-18 17:20
  • 1143
    个人资料
    • 访问:304463次
    • 积分:3550
    • 等级:
    • 排名:第11031名
    • 原创:68篇
    • 转载:8篇
    • 译文:3篇
    • 评论:140条
    博客专栏
    文章分类
    最新评论
    样式调整