zoukankan      html  css  js  c++  java
  • 在自己的服务器上安装GitBook

    更新时间: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
    '); 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
    

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

  • 相关阅读:
    开源项目cmdbuild-搭建
    开源项目cmdbuild-寄语
    四 上下文切换
    withRouter的作用和一个简单应用
    封装react组件:显示五星评价
    简单使用 Easy Mock-创建线上伪数据
    react中避免内存泄漏的方法
    react中constructor和super的使用
    使用swiper设计移动端轮播图(https://www.swiper.com.cn/)
    vuex模块化练习-购物车
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300489.html
Copyright © 2011-2022 走看看