发布到Github Pages
使用项目的Pages服务
可以使用一个单独的项目的Github Pages功能。
创建仓库与分支
- 登陆到Github,创建一个新的仓库,名称我们就命名为
book
,这样我就得到一个book
仓库。 - 克隆仓库到本地:
git clone git@github.com:/USER_NAME/book.git
- 创建一个新分支:
git checkout -b gh-pages
,注意,分支名必须为gh-pages
- 将分支push到仓库:
git push -u origin gh-pages
- 切换到主分支:
git checkout master
经过这一步处理,我们已经创建了gh-pages
分支了,有了这个分支,Github会自动为你分配一个网址。
你可以在项目页面右下角setting
中看到:
同步静态网站代码到分支
下面我们就可以将build好的静态网站代码同步到gh-pages
分支中去了:
- 切换出master分支目录。我们需要将
gh-pages
分支内容存放在另外一个目录中 - 克隆
gh-pages
分支:git clone -b gh-pages git@github.com:USER_NAME/book.git book-end
。这步我们只是克隆了gh-pages
分支,并存放在一个新的目录book-end
。 - Copy静态网站到
book-end
目录中 - Push到仓库
然后,等十来分钟后,你就可以访问到你的在线图书了。以后,只要你每次修改之后,将生成静态网站Copy到book-end
目录,然后Push一下就OK了。
发布到Github Pages的Hexo博客子域名
我这里已经Github page中设置了Hexo博客,想在博客的子域名中进行设置一些Gitbook:
首先Hexo中新增菜单
1、工程目录下
hexo new page gitBook
INFO Created: ~/Documents/wk/Hexo/source/GitBook/index.md
2、主题目录配置文件
menu:
增加
gitBook: /gitBook
3、然后
vim languages/zh-Hans.yml 增加翻译
menu:
gitBook: GitBook
4、编辑 GitBook/index.md
增加内容
[1]:/gitbook/Test
将生成的静态网站Copy到gitbook中。
由于hexo generate 会编译所有.md文件进行hexo 主题的转换。而我们并不需要对我们Gitbook项目进行编译,
在_config.yml
中配置skip_render 排除Gitbook项目下的所有文件:
skip_render: gitbook/Test/**
注:skip_render的用法:skip_render使用了minimatch,开始匹配的位置是基于你的source_dir的,一般来说,是你的source文件夹下。下面我分别列举几种常见的情况进行说明:
请注意yml中的文件格式,输入单个数据请注意空格,输入数组请进行缩进
- 单个文件夹下全部文件:skip_render: test/*
- 单个文件夹下指定类型文件:skip_render: test/*.html
- 单个文件夹下全部文件以及子目录: skip_render: test/**
- 多个文件夹以及各种复杂情况:
skip_render: - `test1/*.html` - `test2/**`