我的博客搭建流程
一、前言
Hexo
部署到GitHub
上的文件,是.md
(你的博文)转化之后的.html
(静态网页)。因此,当你重装电脑或者想在不同电脑上修改博客时,就不可能了(除非你自己写html
)。
其实,Hexo
生成的网站文件中有.gitignore
文件,因此它的本意也是想我们将Hexo
生成的网站文件存放到GitHub
上进行管理的(而不是用U盘或者云备份啦)。这样,不仅解决了上述的问题,还可以通过git的版本控制追踪你的博文的修改过程,是极赞的。
但是,如果每一个GitHub Pages
都需要创建一个额外的仓库来存放Hexo
网站文件,我感觉很麻烦(10个项目需要20个仓库…)。
所以,我利用了分支!!!
简单地说,每个想建立GitHub Pages
的仓库,起码有两个分支,一个用来存放Hexo
网站的文件,一个用来发布网站。
下面将我的博客搭建流程简单讲一下
二、 我的博客搭建流程
- 创建仓库,
yourname.github.io
; - 创建两个分支:
master
(这个分支主要用来展示静态网页,给用户看的User Pages)和hexo
(这个分支主要是用来备份Projects Pages); - 设置
hexo
为默认分支; - 使用
git clone git@github.com:yourname/yourname.github.io
拷贝仓库,拷贝完成后,本地会有一个yourname.github.com
文件夹; 由于
hexo init dir
命令不能在非空的dir下执行成功,所以先找一个文件夹(例如blog
)建立一个博客,也就是依次执行下面命令:1
2
3hexo init blog
npm install
npm install hexo-deployer-git --save将上面
blog
文件夹下所有的文件全部拷贝到刚刚clone
下来的yourname.github.io
文件夹里面。修改
yourname.github.io/_config.yml
中的deploy参数,分支应该为master
。1
2
3
4deploy:
type: git
repo: git@github.com:yourname/yourname.github.io.git
branch: master依次执行下面命令,将网站相关的文件备份到github上。
1
2
3git add .
git commit -m "your comments"
git push origin hexo然后执行
hexo
相关,命令生成网站,并部署到Github
上:1
2
3hexo clean #清楚缓存,若是网页正常情况下可以忽略这条命令
hexo g # 生成 是hexo generate
hexo d # 部署 是hexo deploy
如此操作,在
Github
上的heany.github.io
仓库就有两个分支,一个hexo
分支用来存放网站的原始文件,一个master
分支用来存放生成的静态网页~效率超高,不用再新建一个repository去备份网站文件了!是不是很好~
三、 博客日常管理流程
3.1、 日常修改
在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理:
- 依次执行
git add .
、git commit -m “…”
、git push origin hexo
指令将改动推送到GitHub
(此时当前分支应为hexo
); - 然后才执行
hexo generate -d
发布网站到master
分支上。
虽然两个过程顺序调转一般不会有问题,不过逻辑上这样的顺序是绝对没问题的(例如突然死机要重装了,悲催….的情况,调转顺序就有问题了)。
3.2、 本地资料丢失
当重装电脑之后,或者想在其他电脑上修改博客,可以使用下列步骤:
- 使用
git clone git@github.com:yourname/yourname.github.io.git
拷贝仓库(默认分支为hexo
); - 在本地新拷贝的
yourname.github.io
文件夹下通过Git bash
(windows下使用。若是linux则在bash里面直接执行)依次执行下列指令:npm install hexo
、npm install
、npm install hexo-deployer-git
(记住不需要hexo init这条指令)。
四、 结束语
Github Pages
是支持域名绑定的,可以去Godday
上买一个比较便宜的域名,然后在国内的DNSPod
上去解析你的域名,。具体参考这篇文章摸我前往。
到这里结束了,好累啊~~~