将 Hexo 部署到 GitHub

有关在 Mac ( OS X ) 上部署 Hexo 博客请转到上一篇文章
废话不多说,直接开始吧。

工作前提:Mac ( OS X )
如果你能找到其他方法替代,或许这个步骤也会适用于你。

  1. 注册 GitHub
    打开 https://github.com/ 选择 Sign up。
  2. 在 GitHub 上新建仓库
    在首页选择 + New repository,或者直接打开 https://github.com/new
    直接如下图配置即可:
    QQ20150813-2@2x.png
    注意:Repository name 要为 xxx.github.io (其中 xxx 指你的 ID )。
    点击Create repository就完成了仓库的创建。
  3. 配置SSH keys
    打开 https://github.com/settings/ssh,进行 SSH Keys 的设置,选择 Add SSH key

首先,打开的你终端(Mac),输入如下代码:

cd \~/. ssh

这行代码能够帮助你检查电脑上现有的SSH key。
如果提示:No such file or directory说明没有key文件,输入以下代码生成新的key文件:

ssh-keygen -t rsa -C "你的邮件地址"

这里的邮件地址填自己注册时的邮件地址,注意大小写,双引号不能省略,终端会返回代码让你确定文件名,回车就好。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/DoubleD/.ssh/id\_rsa):

接着会让你输入加密串,可以空着:

Enter passphrase (empty for no passphrase):\
Enter same passphrase again:\

看到如下所示的输出,就代表你已经成功的创建了一个SSH key:
ssh-key.png

在 GitHub
找到本机上的id_rsa.pub文件,打开它(建议使用 Sublime Text )复制里面的代码,记住不要多复制空格或换行,添加到下图位置:
QQ20150813-3@2x.png
Title 处填一个对你而言易于区分的名称
Key 里面把刚才复制的代码粘贴进去记住不要多复制空格或换行

然后点击 Add key 就配置好了 SSH key 。
在 Mac 终端中输入下面的指令测试是否配置成功:

ssh -T [email protected]

如果返回的结果如下:

he authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

输入 yes,就能看到:

Hi YourID! You've successfully authenticated, but GitHub does not provide shell access.

这样你的SSH key就配置完成了。完成之后,我们设置好个人信息,用于提交代码说明是谁提交的,怎么联系。可以用以下指令完成:

git config --global user.name "你的名字"
git config --global user.email  "你的邮箱"
  1. 部署 Hexo 到 GitHub 上
    记住使用 cd 你的文件夹 命令进入你的 Hexo 安装目录。
    将你的本地博客 deploy 到 GitHub 上就好。输入以下指令:

npm install hexo-deployer-git –save

然后打开博客目录的 _config.yml 文件,设置 deploy 的 type 为 git,repository(repo)
为:git@github.你的ID/你的ID.github.io.git (需要在 type 和 repo 后面加上一个空格再填写)。例如:

deploy:
  type: git
  repo: [email protected]:AirScr/AirScr.github.io.git

最后在你的 Hexo 目录中找到 source 文件夹,在其中新建一个文件CNAME,没有后缀名(建议使用 Sublime Text 新建),内容为你的域名( 即 domain.ltd,不要加 www 之类的前缀 ),保存。例如:

in.airscr.com

将你自己的域名解析到 你的id.github.io,例如:

AirScr.github.io

输入以下指令:

hexo g
hexo deploy//可简写为 hexo d

就可以直接在浏览器中访问了。

  1. 备注
    可在 _config.yml 对 Hexo 进行设置。
    在每次发布更改之前记住执行:

hexo g
hexo deploy//可简写为 hexo d
2. 感谢
mozhenhau
汪丹