前言:

  开源gitbook工具可以让你方便有效的管理自己的文章笔记、发布产品文档等。这里为了学习,基于centos系统构建一个私有的gitbook项目。与公有云gitbook平台相比,这里是简单的展示页面,后面可以进行相关的学习再更新此文章。

一、基础环境:参考链接:http://www.cnblogs.com/songqingbo/articles/5611532.html

  nodejs

  nginx

  python2.7

  npm  参考链接:快速切换npm源的开源工具--nrm

二、部署GitBook及calibre组件

  1. 安装GitBook

$ npm install gitbook -g
$ npm install gitbook-cli -g

  2.安装calibre

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('/usr/local')"

  命令的最后 main('/usr/local') 中/usr/local 为Calibre的安装目录,可根据需要修改。该步骤下载时间比较漫长,根据网络环境决定安装速度。

三、初始化demo

$ cd /var/www/html
$ mkdir gitbook
$ cd gitbook/
$ mkdir demo
$ cd demo/
$ gitbook init

  执行最后一个命令之后会在 /var/www/html/gitbook/demo/ 下生成 README.md 和 SUMMARY.md 两个文件,可以将Gitbook-editer客户端编写的文档文件上传到该目录下面。

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

1.生成完整的静态 HTML

$ cd /var/www/html/gitbook/demo/
$ gitbook build

  会在/var/www/html/gitbook/demo/ 目录下生成 _book 目录,即为完整的HTML静态网站。使用nginx配置路径到/var/www/html/gitbook/demo/_book,即可通过页面进行访问

2.生成其他格式的文件

  安装gitbook-pdf插件

1.手动安装phantomjs,直接通过npm下载安装会失败
淘宝镜像源下载地址:https://npm.taobao.org/dist/phantomjs/
这里以phantomjs-1.9.7-linux-x86_64.tar.bz2为例:
wget https://npm.taobao.org/mirrors/phantomjs/phantomjs-1.9.7-linux-x86_64.tar.bz2
tar xf phantomjs-1.9.7-linux-x86_64.tar.bz2 -C /usr/local/
#vim /etc/profile.d/phantomjs.sh
export PATH=$PATH:/usr/local/phantomjs-1.9.7-linux-x86_64/bin source /etc/profile 2. npm install gitbook-pdf -g

先切换到项目的目录下:比如本机的/home/gitbook/

PDF: 在执行这个命令的时候会报错,主要gcc版本比较低造成的,升级gcc参考文档:https://blog.csdn.net/rbpicsdn/article/details/79565383

gitbook pdf ./demo ./demo.pdf

ePub:

gitbook epub ./demo ./demo.epub

MOBI:

gitbook mobi ./demo ./demo.mobi

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

  

基于centos6构建私有gitbook平台的更多相关文章

  1. 基于Docker构建Jenkins CI平台

    1.部署gitlab 1.1 部署gitlab docker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80 \ -p 9998:22 \ -v $ ...

  2. 基于owncloud构建私有云储存网盘

    注意事项:需要ping通外网 需要LAMP架构yum -y install httpd php php-mysql mariadb-server mariadb sqlite php-dom php- ...

  3. 基于MRS-ClickHouse构建用户画像系统方案介绍

    业务场景 用户画像是对用户信息的标签化.用户画像系统通过对收集的各维度数据,进行深度的分析和挖掘,给不同的用户打上不同的标签,从而刻画出客户的全貌.通过用户画像系统,可以对各个用户进行精准定位,从而将 ...

  4. 视频私有云实战:基于Docker构建点播私有云平台

    私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实 ...

  5. DevOps实践之一:基于Docker构建企业Jenkins CI平台

    基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...

  6. 基于Jmeter+maven+Jenkins构建性能自动化测试平台

      一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...

  7. Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台

    2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...

  8. 【docker构建】基于docker构建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

  9. 026.[转] 基于Docker及Kubernetes技术构建容器云平台 (PaaS)

    [编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容 ...

随机推荐

  1. Hadoop生态圈-HBase的HFile创建方式

    Hadoop生态圈-HBase的HFile创建方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 废话不多说,直接上代码,想说的话都在代码的注释里面. 一.环境准备 list cr ...

  2. Linux下内存映射文件的用法简介

    由于项目需要,所以学习了一下Linux下内存映射文件的用法,在这里共享一下自己的收获,希望大家提出宝贵意见,进行交流. 简介: 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区 ...

  3. Ubuntu16.04.2安装Tensorflow

    安装aptitude $ sudo apt-get install aptitude 安装python-pip python-dev $ sudo aptitude install python-pi ...

  4. Docker中执行Shell出现乱码

    问题描述 最近遇到一个问题: 执行命令 docker exec f4af9b sh -c 'bash /tmp/build.sh' 命令在docker中执行shell,会出现中文乱码的问题.但是在do ...

  5. JS对象中的原型

    对象的原型:每个对象都连接一个原型对象,并且它可以从中继承属性.所有通过对象字面量创建的对象都连接到object.prototype.当你创建一个新对象时,你可以选择某个对象作为它的原型.原型连接在更 ...

  6. Window Batch编程示例

    日期时间相关示例 将下面的代码保存为批处理文件 ,命名为GetDate.bat 可以在另外的批处理文件中call GetDate.bat,并直接使用GetDate.bat里面定义的变量,如下图所示: ...

  7. C++中的二级指针和指针引用函数传参

    在函数的使用过程中,我们都明白传值和传引用会使实参的值发生改变.那么能够通过传指针改变指针所指向的地址吗? 在解决这个问题之前,也许我们应该先了解指针非常容易混淆的三个属性: ①.指针变量地址(&am ...

  8. Computer Vision Resources

    Computer Vision Resources Softwares Topic Resources References Feature Extraction SIFT [1] [Demo pro ...

  9. 查看 CUDA cudnn 版本

    cuda 版本 cat /usr/local/cuda/version.txt cudnn 版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MA ...

  10. linux下定时器介绍1

    POSIX Timer 间隔定时器 setitimer 有一些重要的缺点,POSIX Timer 对 setitimer 进行了增强,克服了 setitimer 的诸多问题: 首先,一个进程同一时刻只 ...