Github Pages设置
什么是Github Pages
GitHub Pages 本用于介绍托管在GitHub的项目,不过,由于他的空间免费稳定,用来做搭建一个博客再好不过了。
每个帐号只能有一个仓库来存放个人主页,而且仓库的名字必须是username/username.github.io,这是特殊的命名约定。你可以通过http://username.github.io 来访问你的个人主页。
这里特别提醒一下,需要注意的个人主页的网站内容是在master分支下的。
创建自己的Github Pages
注册GitHub及使用Github Pages的过程已经有很多文章讲过,在此不再详述,可以参考:
如何搭建一个独立博客——简明Github Pages与Hexo教程
在这里我创建了一个github repo叫做 jiji262.github.io. 创建完成之后,需要有一次提交(git commit)操作,然后就可以通过链接http://jiji262.github.io/ 访问了。(现在还没有内容,别着急)
部署Hexo到Github Pages
这一步恐怕是最关键的一步了,让我们把在本地web环境下预览到的博客部署到github上,然后就可以直接通过http://jiji262.github.io/ 访问了。不过很多教程文章对这个步骤语焉不详,这里着重说下。
首先需要明白所谓部署到github的原理。
1.之前步骤中在Github上创建的那个特别的repo(jiji262.github.io)一个最大的特点就是其master中的html静态文件,可以通过链接http://jiji262.github.io 来直接访问。
2.Hexo -g 会生成一个静态网站(第一次会生成一个public目录),这个静态文件可以直接访问。
3.需要将hexo生成的静态网站,提交(git commit)到github上。
明白了原理,怎么做自然就清晰了。
使用hexo deploy部署
hexo deploy可以部署到很多平台,具体可以参考这个链接. 如果部署到github,需要在配置文件_config.xml中作如下修改:
|
|
然后在命令行中执行
|
|
即可完成部署。
踩坑提醒
1)注意需要提前安装一个扩展:
|
|
2)如果出现下面这样的错误,
|
|
则是因为没有设置好public key所致。
在本机生成public key(参考github帮助):
|
|
然后在#user_id/.ssh目录下会生成两个文件,id_rsa.pub和id_rsa.
然后登陆github,在SSH设置页面添加上刚才的public key文件也就是id_rsa.pub的内容即可。
使用git命令行部署(optional)
不幸的是,上述命令虽然简单方便,但是偶尔会有莫名其妙的问题出现,因此,我们也可以追本溯源,使用git命令来完成部署的工作。
clone github repo
|
|
将我们之前创建的repo克隆到本地,新建一个目录叫做.deploy用于存放克隆的代码。
创建一个deploy脚本文件
|
|
简单解释一下,hexo generate生成public文件夹下的新内容,然后将其拷贝至jiji262.github.io的git目录下,然后使用git commit命令提交代码到jiji262.github.io这个repo的master branch上。
需要部署的时候,执行这段脚本就可以了(比如可以将其保存为deploy.sh)。执行过程中可能需要让你输入Github账户的用户名及密码,按照提示操作即可。