基于centos6构建私有gitbook平台
前言:
开源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平台的更多相关文章
- 基于Docker构建Jenkins CI平台
1.部署gitlab 1.1 部署gitlab docker run -d \ --name gitlab \ -p 8443:443 \ -p 9999:80 \ -p 9998:22 \ -v $ ...
- 基于owncloud构建私有云储存网盘
注意事项:需要ping通外网 需要LAMP架构yum -y install httpd php php-mysql mariadb-server mariadb sqlite php-dom php- ...
- 基于MRS-ClickHouse构建用户画像系统方案介绍
业务场景 用户画像是对用户信息的标签化.用户画像系统通过对收集的各维度数据,进行深度的分析和挖掘,给不同的用户打上不同的标签,从而刻画出客户的全貌.通过用户画像系统,可以对各个用户进行精准定位,从而将 ...
- 视频私有云实战:基于Docker构建点播私有云平台
私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实 ...
- DevOps实践之一:基于Docker构建企业Jenkins CI平台
基于Docker构建企业Jenkins CI平台 一.什么是CI 持续集成(Continuous integration)是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...
- 基于Jmeter+maven+Jenkins构建性能自动化测试平台
一.目的: 为能够将相关系统性能测试做为常规化测试任务执行,且可自动无人值守定时执行并输出性能测试结果报告及统计数据,因此基于Jmeter+maven+Jenkins构建了一套性能自动化测试平台 ...
- Polaristech 刘洋:基于 OpenResty/Kong 构建边缘计算平台
2019 年 3 月 23 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·北京站,Polaristech 技术专家刘洋在活动上做了<基于 ...
- 【docker构建】基于docker构建wordpress博客网站平台
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...
- 026.[转] 基于Docker及Kubernetes技术构建容器云平台 (PaaS)
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容 ...
随机推荐
- windows下64位python的安装及机器学习相关包的安装(实用)
开通博客已久,想了好久决定写个基础的安装教程,望后人少走弯路,也借此希望跟大家多多交流.文中给出的链接默认是基于对python2.7的前提下的包. 1.首先下载64位Python包,进行安装(默认py ...
- python中几种常用的数据类型
1.字典 字典的创建: dict1=dict((('name','PIG'),)),其中第一层()代表里面的内容是dict函数的输入参数.第二层和第三层代表字典中的各元素,也就是key和value组合 ...
- 两步建立 ssh 反向隧道
因为需要在寝室访问实验室的内部网络,刚好自己购买了阿里云,因此,可以远端干活了,mark下方法: 第一步:在内网的服务器上,使用ssh 命令建立反向隧道 publicUserName@publicIp ...
- 文件读取 FILE
需要了解的概念 [数据流][缓冲区(Buffer)][文件类型][文件存取方式][借助文件指针读写文件] 需要理解的知识点包括:数据流.缓冲区.文件类型.文件存取方式 1.1 数据流: 指程序与数据的 ...
- [转]双线性插值(Bilinear interpolation)
1,原理 在图像的仿射变换中,很多地方需要用到插值运算,常见的插值运算包括最邻近插值,双线性插值,双三次插值,兰索思插值等方法,OpenCV提供了很多方法,其中,双线性插值由于折中的插值效果和运算速度 ...
- 2016.08.02 math(leetcode) 小结
math(leetcode) 小结 在leetcode中有些知识点(套路) 判断一个数是不是能被某些数整除,可以用 n%x == 0,循环除的话,就将while(n%x == 0)的循环条件设置判断整 ...
- Spring4笔记6--Spring与AOP
Spring与AOP: AOP的引入: 主业务经常需要调用系统级业务(交叉业务),如果在主业务代码中大量的调用系统级业务代码,会使系统级业务与主业务深度耦合在一起,大大影响了主业务逻辑的可读性,降低了 ...
- layui table表格字段过长,展示不完整时,鼠标放到上面展示完整信息
亲测可以直接用 1.首先每个列都有一个title,里面放入完整信息,然后写一个如下的function, function tdTitle(){ $('th').each(function(index, ...
- 解决阿里云无法正常使用samba的问题【转】
转自:https://blog.csdn.net/u011949148/article/details/54311288 昨天在阿里云上申请了一个云服务器,系统用的是ubuntu14.04,由于是免费 ...
- 13-6_mysql索引_1_Mysql_Learning_Notes_20180719_13-6
mysql索引_1_Mysql_Learning_Notes 二分查找/折半查找法,binary search 一种在有序数组中查找某一特定元素的搜索算法; 二分查找法的优点是比较少次数,查找速度快, ...