将Gitbook上的书籍发布在GitHubPages上
GitBook 是一个基于 Node.js 的命令行工具,可使用 Markdown 来制作精美的电子书.
但是Gitbook由于网络问题,许多其他人发布的项目不能直接查看,或者保存.但是我们可以通过Github将fork Gitbook 源码到自己的Github,并设置Github Pages 页面访问, 来实现保存Gitbook项目的目的.
GitHub Pages 简单说就是一个可以托管静态网站的 Git 项目,支持使用 markdown 语法以及 Jekyll 来构建,或者直接使用已经生成好的静态站点。我们就可以使用GitPages搭建自己的个人博客. 这是我使用GitPages搭建的个人博客.
由于 gitbook 书籍可以通过 gitbook
本地构建出 site 格式,所以可以直接将构建好的书籍直接放到 GitHub Pages 中托管,之后,可以通过如下地址访问书籍:
<username>.github.io/<project>
例如:这本书中使用的例子 ‘test’ 项目可以通过地址:chengweiv5.github.io/test 来访问。
当访问 meiko-zhang.github.io/test 时,会访问 meiko-zhang/test 项目的 gh-pages 分支的内容,所以需要为项目创建一个 gh-pages 分支,并且将静态站点内容放入其中。也就是说,test 项目将有如下两个分支:
- master, 保存书籍的源码
- gh-pages, 保存书籍编译后的 HTML 文件
安装GitBook
我们需要通过Github上的源码生成对应的HTML才能在Github Pages上访问.所以需要安装Gitbook.
请参考GitBook的安装和使用方法.
我们的操作中还需要使用到Git.
请参考Git的安装和使用 .
编译书籍
首先,创建一个文件夹,用户来存放要编译的书籍.
mkdir book && cd book
将需要编译的数据源码仓库从Github上clone到当前文件夹中.
git clone git@github.com:meiko-zhang/test.git
使用 gitbook build
将书籍内容输出到默认目录,也就是当前目录下的 _book 目录。
gitbook build
build 失败的可能是配置出现了错误,可以根据提示修改book.json 的配置信息.
注意:记得修改book.json后提交到github上.
git add book.json
git commit -m "update book.json"
git push -u origin master
创建 gh-pages 分支
执行如下命令来创建分支,并且删除不需要的文件:
git checkout --orphan gh-pages
git rm -f --cached -r .
git clean -df
rm -rf *~
现在,目录下应该只剩下 _book 目录了,首先,忽略一些文件:
echo "*~" > .gitignore
echo "_book" >> .gitignore
git add .gitignore
git commit -m "Ignore some files"
然后,加入 _book 下的内容到分支中:
cp -r _book/* .
git add .
git commit -m "Publish book"
上传书籍内容到 GitHub
现在,可以将编译好的书籍内容上传到 GitHub 中 book 项目的 gh-pages 分支了,虽然这里还没有创建分支,上传和创建会一步完成!
git push -u origin gh-pages
现在,书籍的内容已经上传到 GitHub 上,所以通过访问 meik-zhanggithub.io/test 就可以阅读 test 这本书了!
参考此书籍,总结完善后发表本文,并将此本书发布在Github Pages上.
将Gitbook上的书籍发布在GitHubPages上相关推荐
- gitbook搭建在线书籍
说明 通过Gitbook我们能快速的编写自己的电子书,方便将零散的知识整理成体系化的知识.本文介绍从0开始搭建自己的电子书并发布,以及gitbook的使用技巧,如果没有发布到公网的需求可以不看ng相关 ...
- java注解接收上传文件,前台:Input type=file 后台获取文件内容用的是spring注解,当地环境上传图片是好的,发布到服务器上图片读取不到,求大神指点...
当前位置:我的异常网» Java Web开发 » 前台:Input type="file" 后台获取文件内 前台:Input type="file" 后台获取文 ...
- 从0到1,一步步开发React的loading组件,并发布到npm上
没有发布过npm包的同学,可能会对NPM对开发有一种蜜汁敬畏,觉得这是一个很高大上的东西.甚至有次面试,面试官问我有没有发过npm包,当时只用过还没写过,我想应该挺难的,就小声说了没有,然后就让我回去 ...
- html5画布可以p图,HTML5图像适合发布在画布上
我正在研究HTML5移动应用程序.我正在使用画布元素和文件上传元素. 每当用户从手机上点击这个文件上传元素.他看到两种选择. 1.选择现有的照片 2.拍摄新照片HTML5图像适合发布在画布上 如果他选 ...
- 解决用img src=%# Eval(ShowPhoto)%动态绑定图片,发布到IIS上无法显示的问题
用<img src="<%# Eval("ShowPhoto")%>"动态绑定图片,再本地用VS2008运行时正常 发布到IIS上图片显示不出 ...
- linux上运行项目,发布项目到 Linux 上运行 Core 项目
目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下,我们windows上的项目如何发布项目到Linux上运行 ...
- 动手开始创建第一个 Angular 应用并通过 gh-pages 发布到 Github 上
命令行创建: ng new jerryfirstapp 创建完毕: ng serve --open,然后 localhost:4200 能看到如下页面: 创建一个新的 gh-pages 分支: git ...
- mysql数据库发布到web服务器上_web应用发布至服务器
1.生成web应用的war包. 在IDEA中,新增一个Artifacts的实体.类型为web application:archive ,意为web应用存档.即把文件夹形式的web应用打包成MIS.wa ...
- Vue封装预约日期插件和发布到npm上
插件代码 <template><div class="subscribe-time" v-show="setting.display"> ...
最新文章
- 程序员要避免的五种程序注释方式
- 解决CPC撰写文档报错问题“无法获取“AxforApplication”控件的窗口句柄。不支持无窗口的 ActiveX 控件”
- 建库、建表、建约束、插入测试数据
- Fedora 11 上安装subversion 和apache服务器
- snowflake分布式自增长id的java实现
- SQLi-LABS(21~25a关详解)
- 1027 Colors in Mars (20 分)_20行代码AC
- docker从仓库找镜像
- CLR via C# 阅读 笔记
- axure原型怎么让文字自动换行_理解「回车」和「换行」,纠正数据输入过程中的坏习惯...
- html5 心,HTML5你必须知道的28个新特性
- 动态设置HTML:v-html
- 项目管理实践之版本控制工具SVN在Windows平台下的平台搭建
- java中io流浅析
- java代理模式与反射机制
- python增量爬虫_python网络爬虫——增量式爬虫
- cad批量 谷歌翻译lisp_LISP批量打开CAD图操作
- Error: EBUSY: resource busy or locked, lstat ‘D:\pagefile.sys‘
- Nachos实习——Lab3同步机制实习报告
- eclipse c语言 自动补全,eclipse里头怎么设C/C++的智能提示
热门文章
- dataGridView 粘贴数据并更新到数据库及发送邮件
- 5G资费其实已经大幅下降,消费者不愿用5G在于信号太差了
- hash table html,javascript 哈希表(hashtable)的简单实现
- 体育馆管理系统开发日记 (5)——用例规约
- Just for fun ----Linux创造的那些传奇
- 凌恩客户文献|宏基因组binning解析中国浓味白酒窖泥微生物群落MAGs和代谢潜力
- 【DSP】CCS6.1导入CCS3.3工程全过程以及“N个报错”的解决办法
- tensorflow分类任务——TFRecord读取自己制作的数据集
- 基于模糊C均值聚类(FCM)的图像分割原理+python代码详解
- 关于maven的java面试题汇总