Hexo部属

Github Pages设置

什么是Github Pages

GitHub Pages 本用于介绍托管在GitHub的项目,不过,由于他的空间免费稳定,用来做搭建一个博客再好不过了。

每个帐号只能有一个仓库来存放个人主页,而且仓库的名字必须是username/username.github.io,这是特殊的命名约定。你可以通过http://username.github.io 来访问你的个人主页。

这里特别提醒一下,需要注意的个人主页的网站内容是在master分支下的。

创建自己的Github Pages

注册GitHub及使用Github Pages的过程已经有很多文章讲过,在此不再详述,可以参考:

一步步在GitHub上创建博客主页 全系列

如何搭建一个独立博客——简明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
3
4
deploy:
type: git
repo: git@github.com:jiji262/jiji262.github.io.git
branch: master

然后在命令行中执行

1
hexo d

即可完成部署。

踩坑提醒

1)注意需要提前安装一个扩展:

1
$ npm install hexo-deployer-git --save

2)如果出现下面这样的错误,

1
2
3
4
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

则是因为没有设置好public key所致。
在本机生成public key(参考github帮助):

1
#ssh-keygen -t rsa -b 4096 -C "xxx@xxx.com"

然后在#user_id/.ssh目录下会生成两个文件,id_rsa.pub和id_rsa.
然后登陆github,在SSH设置页面添加上刚才的public key文件也就是id_rsa.pub的内容即可。

使用git命令行部署(optional)

不幸的是,上述命令虽然简单方便,但是偶尔会有莫名其妙的问题出现,因此,我们也可以追本溯源,使用git命令来完成部署的工作。

clone github repo

1
2
$ cd d:/hexo/blog
$ git clone https://github.com/jiji262/jiji262.github.io.git .deploy/jiji262.github.io

将我们之前创建的repo克隆到本地,新建一个目录叫做.deploy用于存放克隆的代码。

创建一个deploy脚本文件

1
2
3
4
5
6
hexo generate
cp -R public/* .deploy/jiji262.github.io
cd .deploy/jiji262.github.io
git add .
git commit -m “update”
git push origin master

简单解释一下,hexo generate生成public文件夹下的新内容,然后将其拷贝至jiji262.github.io的git目录下,然后使用git commit命令提交代码到jiji262.github.io这个repo的master branch上。

需要部署的时候,执行这段脚本就可以了(比如可以将其保存为deploy.sh)。执行过程中可能需要让你输入Github账户的用户名及密码,按照提示操作即可。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2017 Hexo All Rights Reserved.

访客数 : | 访问量 :