2.7.1. 托管

编译完成后生成的静态页面,可托管的地方很多,这里只说与 Github 相关的。

2.7.1.1. 前期准备

Git 会单开一章总结。

2.7.1.1.1. 配置SSH key

官方文档

本地生成

cd
ssh-keygen -t rsa -b 4096 -C "[email protected]"
# 输出
Generating public/private rsa key pair.
Enter a file in which to save the key (用户目录/.ssh/id_rsa):  //默认目录,回车就好
Enter passphrase (empty for no passphrase):  //设置密码,直接回车意味着不设密码
Enter same passphrase again:  //再次输入密码

添加到 Github

复制公钥内容

cat ~/.ssh/id_rsa.pub

将输出内容复制 登录到Github网站,右上角Seetings-SSH and GPG keys-New SSH key

ssh_key

Tittle       //随便起个名字
Key     //粘贴复制的内容
Add SSH key

测试

ssh -T [email protected]

设置用户信息

git config --global user.name "augustdoit"       //用户名
git config --global user.email  "[email protected]"     //邮箱

2.7.1.2. 托管到 Gitbook.com

待编辑

2.7.1.3. 托管到 Github

本节及下节托管到 Github Pages 的需求情景实际上是git的应用,即将书籍的源码存放到仓库的 master 分支,而将书籍的 html 版本存放到仓库的 pages 分支。

这节指的是书籍源码,不含gitbook build生成内容。

2.7.1.3.1. 创建仓库

在 GitBook 项目目录,如 book 中,执行如下命令,创建本地 git 仓库

git init

2.7.1.3.2. 添加忽略文件

vi .gitignore
# 添加如下内容
*~
_book
.DS_Store

通过.gitignore文件,本地仓库将忽略临时文件和_book文件夹,达到只保存书籍源码的目的。

2.7.1.3.3. 添加文件

将本地源码添加到本地仓库

git add .

2.7.1.3.4. 添加更新说明

git commit -m '更新说明文字'

2.7.1.3.5. 建立本地仓库与远端仓库的对应关系

git remote add origin https://远程仓库地址.git

2.7.1.3.6. 推送

将本地仓库内容同步到远端仓库:

git push -u origin master

至此,就完成了将gitbook源码推送到远程仓库的任务,之后书籍内容修改后,执行如下操作即可:

git add .
git commit -m '更新说明文字'
git push -u origin master

2.7.1.4. 托管到 Github Pages

pages 是 github 类网站提供的免费的静态网页托管服务,既然 GitBook 能生成基于 HTTML 的静态电子书籍,那自然而然,我们就会有将 GitBook 静态页面发布到 pages 服务的需求。

2.7.1.4.1. 新建分支

git checkout --orphan pages

2.7.1.4.2. 删除不需要的文件

切换到 pages 分支后,我们需要将 _books 目录之外的文件都清理掉:

git rm --cached -r .
git clean -df
rm -rf *~

2.7.1.4.3. 添加忽略文件

*~
_book
.DS_Store

通过.gitignore文件,本地仓库将忽略临时文件和 _book 文件夹.

2.7.1.4.4. 复制_book文件夹到分支根目录

cp -r _book/* .

2.7.1.4.5. 添加文件

git add .

2.7.1.4.6. 添加更新说明

git commit -m '更新说明'

2.7.1.4.7. 推送

git push -u origin pages

2.7.1.4.8. 开启pages服务

登陆github网站,仓库设置开启 pages 服务,也可以添加域名.

开启 Pages

开启pages

添加域名

添加自己的域名

2.7.1.5. 自动化脚本

命令行的精髓在于可以自动执行,如下面的脚本,可以完成同时更新 master 分支和 pages 分支的目的。

git checkout master
git add .
git commit -m $1
git push -u origin master
git checkout pages
cp -r _book/* .
git add .
git commit -m $1
git push -u origin pages
git checkout master

在需要更新的时候,执行如下命令:

sh gitbook.sh '更新说明'

2.7.1.6. 个人方案-只托管网页

本人没有将源码托管在 Github 上,只将静态网页托管,仓库名 notes ,分支 master 。

2.7.1.6.1. github上创建仓库

creat-repository

2.7.1.6.2. 本地推送

本地生成CNAME文件,防止远程每次推送被删除,注意在_book同级目录

vi CNAME
# 填写你的域名
notes.augustdoit.men

本地推送

cd _book
git init

vi .gitignore
# 添加如下
*~
.DS_Store
# 保存后退出

git add .
git commit -m "first commit"
git branch -M master
git remote add origin [email protected]:augustdoit/notes.git
git push -u origin master

回到 github 网页

pages

2.7.1.6.3. 开启pages服务

上面讲过了

2.7.1.6.4. 自动化脚本

cd _book
git checkout master
git add .
git commit -am $1
git push [email protected]:augustdoit/notes.git master --force
Copyright © augustdoit 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-10-12 14:43:08

results matching ""

    No results matching ""