发布到Github Pages

使用项目的Pages服务

可以使用一个单独的项目的Github Pages功能。

创建仓库与分支

  1. 登陆到Github,创建一个新的仓库,名称我们就命名为book,这样我就得到一个book仓库。
  2. 克隆仓库到本地: git clone git@github.com:/USER_NAME/book.git
  3. 创建一个新分支:git checkout -b gh-pages,注意,分支名必须为gh-pages
  4. 将分支push到仓库: git push -u origin gh-pages
  5. 切换到主分支: git checkout master

经过这一步处理,我们已经创建了gh-pages分支了,有了这个分支,Github会自动为你分配一个网址。

http://USERNAME.github.io/book

你可以在项目页面右下角setting中看到:

同步静态网站代码到分支

下面我们就可以将build好的静态网站代码同步到gh-pages分支中去了:

  1. 切换出master分支目录。我们需要将gh-pages分支内容存放在另外一个目录中
  2. 克隆gh-pages分支: git clone -b gh-pages git@github.com:USER_NAME/book.git book-end。这步我们只是克隆了gh-pages分支,并存放在一个新的目录book-end
  3. Copy静态网站到book-end目录中
  4. 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中的文件格式,输入单个数据请注意空格,输入数组请进行缩进

  1. 单个文件夹下全部文件:skip_render: test/*
  2. 单个文件夹下指定类型文件:skip_render: test/*.html
  3. 单个文件夹下全部文件以及子目录: skip_render: test/**
  4. 多个文件夹以及各种复杂情况:
    skip_render:
     - `test1/*.html`
     - `test2/**`
    

results matching ""

    No results matching ""