MLi's Blog

Gitbook学习笔记(2): 发布书籍到github pages上

利用命令行工具创建github的项目页(project pages)

仅发布网页文件

假设已经通过gitbook-seve可以在本地创建了网页文件,在_book目录下。基本思路就是在 _book目录下创建一个仓库,将网页文件加到库的master分支下,然后推送到远程的github项目里,即可。

具体操作如下:

  • 本地进入到_book目录下,创建仓库

    1
    2
    3
    git init
    git add .
    git commit -m "book version" (这样就创建了个master分支)
  • github网上上新建一个仓库,比如名叫book,假设我的用户名为aaa,那么它的网址为:

    https://github.com/aaa/book.git

  • 本地cmd,通过下述命令将仓库推送到远程

    1
    2
    git remote add origin https://github.com/aaa/book.git
    git git push -u origin master
  • github网上进入book这个项目,然后setting-github Pages里那一栏source选为master branch。

  • 地址栏输入 https://aaa.github.io/book/就可以显示了,取决于网络,有时候得等过几分钟。

发布网页文件和.md源文件

如果要把网页的.md源文件也推送到github的仓库里的一种实现途径为:master分支里放.md文件、然后创建一个gh-pages分支放网页,再推送到github仓库里。

  • 第一步在github上新建一个空仓库,比如说book,链接为https://github.com/aaa/book.git
  • 然后在本地进入到源码根目录,假设已经通过gitbook serve命令创建了_book目录。例如:

    1
    2
    3
    4
    5
    6
    7
    8
    ├─Append
    ├─chapter1
    ├─chapter2
    └─_book
    ├─Append
    ├─chapter1
    ├─chapter2
    └─gitbook

    _book为网页的目录,其他文件夹为.md所在文件夹。

  • 源码那个分支需要将_book屏蔽掉,因此新建一个.gitignore, 内容为_book,也可以根据个人需要添加需要屏蔽的后缀或者文件夹。然后新建仓库,将源码添加至master分支并推送到github,具体命令如下:

    1
    2
    3
    4
    5
    git init
    git add .
    git commit -m "master's version"
    git remote add origin https://github.com/aaa/book.git
    git push -u origin master
  • 在书籍_book录下新建仓库新建gh-pages分支,并将网页添加至该分支,最后推送到github。具体命令如下(#号后为说明):

    1
    2
    3
    4
    5
    6
    7
    8
    cd _book \#进入到_book目录
    git init \#新建仓库
    git -rm .gitignore \#删除.gitignore文件
    git checkout --orphan gh-pages \# 新建分支gh-pages
    git add . \#添加文件到该分支
    git commit -m "html's branch" \# 生成版本
    git remote add origin https://github.com/aaa/book.git \#给远程仓库设置昵称
    git push -u origin gh-pages \#推送gh-pages分支内容到远程
  • 最后在github进入到项目,settings-GitHub Pages-source-选择gh-pages,过一会打开Github pages那里给出的网址就可以看到网页了。

参考资料

  1. github pages